aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bitcoin-qt.pro83
-rw-r--r--contrib/bitcoind.bash-completion115
-rwxr-xr-xcontrib/debian/bin/bitcoin-qt16
-rwxr-xr-xcontrib/debian/bin/bitcoind4
-rw-r--r--contrib/debian/bitcoin-qt.install3
-rw-r--r--contrib/debian/bitcoind.bash-completion1
-rw-r--r--contrib/debian/changelog56
-rw-r--r--contrib/debian/control1
-rw-r--r--contrib/debian/patches/1001_use_system_json-spirit.patch63
-rw-r--r--contrib/debian/patches/series2
-rwxr-xr-xcontrib/debian/rules2
-rw-r--r--contrib/gitian-descriptors/README65
-rw-r--r--contrib/gitian-descriptors/boost-win32.yml10
-rw-r--r--contrib/gitian-descriptors/deps-win32.yml10
-rw-r--r--contrib/gitian-descriptors/gitian-win32.yml22
-rw-r--r--contrib/gitian-descriptors/qt-win32.yml10
-rwxr-xr-xcontrib/macdeploy/macdeployqtplus5
-rwxr-xr-xcontrib/pyminer/pyminer.py2
-rw-r--r--contrib/testgen/README1
-rw-r--r--contrib/testgen/base58.py104
-rwxr-xr-xcontrib/testgen/gen_base58_test_vectors.py126
-rw-r--r--doc/README2
-rw-r--r--doc/README_windows.txt4
-rw-r--r--doc/Tor.txt92
-rw-r--r--doc/assets-attribution.txt4
-rw-r--r--doc/build-msw.txt14
-rw-r--r--doc/build-osx.txt20
-rw-r--r--doc/build-unix.txt40
-rw-r--r--doc/coding.txt4
-rw-r--r--doc/readme-qt.rst4
-rw-r--r--doc/release-notes.txt73
-rw-r--r--doc/release-process.txt17
-rw-r--r--doc/translation_process.md55
-rwxr-xr-xshare/qt/extract_strings_qt.py4
-rw-r--r--share/setup.nsi20
-rw-r--r--src/addrman.cpp11
-rw-r--r--src/addrman.h5
-rw-r--r--src/alert.cpp239
-rw-r--r--src/alert.h102
-rw-r--r--src/allocators.h165
-rw-r--r--src/base58.h105
-rw-r--r--src/bignum.h2
-rw-r--r--src/bitcoinrpc.cpp2742
-rw-r--r--src/bitcoinrpc.h150
-rw-r--r--src/checkpoints.cpp21
-rw-r--r--src/clientversion.h19
-rw-r--r--src/crypter.cpp12
-rw-r--r--src/crypter.h11
-rw-r--r--src/db.cpp638
-rw-r--r--src/db.h129
-rw-r--r--src/init.cpp833
-rw-r--r--src/init.h4
-rw-r--r--src/irc.cpp49
-rw-r--r--src/irc.h1
-rw-r--r--src/key.cpp50
-rw-r--r--src/key.h60
-rw-r--r--src/keystore.cpp49
-rw-r--r--src/keystore.h62
-rw-r--r--src/main.cpp771
-rw-r--r--src/main.h322
-rw-r--r--src/makefile.linux-mingw32
-rw-r--r--src/makefile.mingw45
-rw-r--r--src/makefile.osx19
-rw-r--r--src/makefile.unix38
-rw-r--r--src/mruset.h2
-rw-r--r--src/net.cpp725
-rw-r--r--src/net.h88
-rw-r--r--src/netbase.cpp660
-rw-r--r--src/netbase.h42
-rw-r--r--src/noui.cpp32
-rw-r--r--src/protocol.h12
-rw-r--r--src/qt/addressbookpage.cpp97
-rw-r--r--src/qt/addressbookpage.h13
-rw-r--r--src/qt/addresstablemodel.cpp107
-rw-r--r--src/qt/addresstablemodel.h9
-rw-r--r--src/qt/askpassphrasedialog.cpp9
-rw-r--r--src/qt/bitcoin.cpp136
-rw-r--r--src/qt/bitcoin.qrc12
-rw-r--r--src/qt/bitcoinaddressvalidator.cpp12
-rw-r--r--src/qt/bitcoingui.cpp304
-rw-r--r--src/qt/bitcoingui.h30
-rw-r--r--src/qt/bitcoinstrings.cpp246
-rw-r--r--src/qt/clientmodel.cpp114
-rw-r--r--src/qt/clientmodel.h19
-rw-r--r--src/qt/editaddressdialog.cpp2
-rw-r--r--src/qt/forms/aboutdialog.ui33
-rw-r--r--src/qt/forms/addressbookpage.ui34
-rw-r--r--src/qt/forms/askpassphrasedialog.ui27
-rw-r--r--src/qt/forms/messagepage.ui170
-rw-r--r--src/qt/forms/optionsdialog.ui460
-rw-r--r--src/qt/forms/overviewpage.ui268
-rw-r--r--src/qt/forms/qrcodedialog.ui244
-rw-r--r--src/qt/forms/rpcconsole.ui456
-rw-r--r--src/qt/forms/sendcoinsdialog.ui13
-rw-r--r--src/qt/forms/signverifymessagedialog.ui386
-rw-r--r--src/qt/forms/transactiondescdialog.ui4
-rw-r--r--src/qt/guiconstants.h15
-rw-r--r--src/qt/guiutil.cpp255
-rw-r--r--src/qt/guiutil.h48
-rw-r--r--src/qt/locale/bitcoin_bg.ts2712
-rw-r--r--src/qt/locale/bitcoin_ca_ES.ts2099
-rw-r--r--src/qt/locale/bitcoin_cs.ts2696
-rw-r--r--src/qt/locale/bitcoin_da.ts2740
-rw-r--r--src/qt/locale/bitcoin_de.ts2780
-rw-r--r--src/qt/locale/bitcoin_el_GR.ts2720
-rw-r--r--src/qt/locale/bitcoin_en.ts2676
-rw-r--r--src/qt/locale/bitcoin_es.ts2824
-rw-r--r--src/qt/locale/bitcoin_es_CL.ts2728
-rw-r--r--src/qt/locale/bitcoin_et.ts1998
-rw-r--r--src/qt/locale/bitcoin_eu_ES.ts1954
-rw-r--r--src/qt/locale/bitcoin_fa.ts2681
-rw-r--r--src/qt/locale/bitcoin_fa_IR.ts2325
-rw-r--r--src/qt/locale/bitcoin_fi.ts2813
-rw-r--r--src/qt/locale/bitcoin_fr.ts2725
-rw-r--r--src/qt/locale/bitcoin_fr_CA.ts1965
-rw-r--r--src/qt/locale/bitcoin_fr_FR.ts2168
-rw-r--r--src/qt/locale/bitcoin_he.ts2748
-rw-r--r--src/qt/locale/bitcoin_hr.ts2716
-rw-r--r--src/qt/locale/bitcoin_hu.ts2726
-rw-r--r--src/qt/locale/bitcoin_it.ts2734
-rw-r--r--src/qt/locale/bitcoin_lt.ts2673
-rw-r--r--src/qt/locale/bitcoin_nb.ts2825
-rw-r--r--src/qt/locale/bitcoin_nl.ts2811
-rw-r--r--src/qt/locale/bitcoin_pl.ts2747
-rw-r--r--src/qt/locale/bitcoin_pt_BR.ts2697
-rw-r--r--src/qt/locale/bitcoin_pt_PT.ts2724
-rw-r--r--src/qt/locale/bitcoin_ro_RO.ts2554
-rw-r--r--src/qt/locale/bitcoin_ru.ts2889
-rw-r--r--src/qt/locale/bitcoin_sk.ts2590
-rw-r--r--src/qt/locale/bitcoin_sr.ts2138
-rw-r--r--src/qt/locale/bitcoin_sv.ts2685
-rw-r--r--src/qt/locale/bitcoin_tr.ts2694
-rw-r--r--src/qt/locale/bitcoin_uk.ts2688
-rw-r--r--src/qt/locale/bitcoin_zh_CN.ts2884
-rw-r--r--src/qt/locale/bitcoin_zh_TW.ts2819
-rw-r--r--src/qt/macdockiconhandler.h9
-rw-r--r--src/qt/macdockiconhandler.mm4
-rw-r--r--src/qt/messagepage.cpp107
-rw-r--r--src/qt/messagepage.h38
-rw-r--r--src/qt/notificator.cpp8
-rw-r--r--src/qt/notificator.h2
-rw-r--r--src/qt/optionsdialog.cpp423
-rw-r--r--src/qt/optionsdialog.h63
-rw-r--r--src/qt/optionsmodel.cpp161
-rw-r--r--src/qt/optionsmodel.h36
-rw-r--r--src/qt/overviewpage.cpp57
-rw-r--r--src/qt/overviewpage.h7
-rw-r--r--src/qt/qrcodedialog.cpp90
-rw-r--r--src/qt/qrcodedialog.h18
-rw-r--r--src/qt/qtipcserver.cpp154
-rw-r--r--src/qt/qtipcserver.h10
-rw-r--r--src/qt/qvaluecombobox.cpp6
-rw-r--r--src/qt/qvaluecombobox.h9
-rw-r--r--src/qt/res/bitcoin-qt.rc36
-rw-r--r--src/qt/res/icons/debugwindow.pngbin0 -> 5402 bytes
-rw-r--r--src/qt/res/icons/qrcode.pngbin0 -> 237 bytes
-rw-r--r--src/qt/res/images/qrcode.pngbin5993 -> 0 bytes
-rw-r--r--src/qt/rpcconsole.cpp437
-rw-r--r--src/qt/rpcconsole.h66
-rw-r--r--src/qt/sendcoinsdialog.cpp27
-rw-r--r--src/qt/sendcoinsdialog.h4
-rw-r--r--src/qt/sendcoinsentry.cpp6
-rw-r--r--src/qt/signverifymessagedialog.cpp274
-rw-r--r--src/qt/signverifymessagedialog.h49
-rw-r--r--src/qt/transactiondesc.cpp108
-rw-r--r--src/qt/transactionrecord.cpp196
-rw-r--r--src/qt/transactiontablemodel.cpp153
-rw-r--r--src/qt/transactiontablemodel.h5
-rw-r--r--src/qt/transactionview.cpp24
-rw-r--r--src/qt/transactionview.h1
-rw-r--r--src/qt/walletmodel.cpp132
-rw-r--r--src/qt/walletmodel.h26
-rw-r--r--src/rpcblockchain.cpp165
-rw-r--r--src/rpcdump.cpp26
-rw-r--r--src/rpcmining.cpp381
-rw-r--r--src/rpcnet.cpp67
-rw-r--r--src/rpcrawtransaction.cpp531
-rw-r--r--src/rpcwallet.cpp1465
-rw-r--r--src/script.cpp318
-rw-r--r--src/script.h55
-rw-r--r--src/serialize.h61
-rw-r--r--src/sync.cpp128
-rw-r--r--src/sync.h212
-rw-r--r--src/test/DoS_tests.cpp32
-rw-r--r--src/test/accounting_tests.cpp123
-rw-r--r--src/test/allocator_tests.cpp115
-rw-r--r--src/test/base32_tests.cpp20
-rw-r--r--src/test/base58_tests.cpp302
-rw-r--r--src/test/base64_tests.cpp2
-rw-r--r--src/test/bignum_tests.cpp125
-rw-r--r--src/test/data/base58_encode_decode.json14
-rw-r--r--src/test/data/base58_keys_invalid.json152
-rw-r--r--src/test/data/base58_keys_valid.json452
-rw-r--r--src/test/data/script_invalid.json224
-rw-r--r--src/test/data/script_valid.json239
-rw-r--r--src/test/data/tx_invalid.json64
-rw-r--r--src/test/data/tx_valid.json71
-rw-r--r--src/test/key_tests.cpp27
-rw-r--r--src/test/miner_tests.cpp191
-rw-r--r--src/test/multisig_tests.cpp22
-rw-r--r--src/test/netbase_tests.cpp102
-rw-r--r--src/test/script_P2SH_tests.cpp26
-rw-r--r--src/test/script_tests.cpp130
-rw-r--r--src/test/sigopcount_tests.cpp4
-rw-r--r--src/test/test_bitcoin.cpp14
-rw-r--r--src/test/transaction_tests.cpp148
-rw-r--r--src/test/util_tests.cpp4
-rw-r--r--src/test/wallet_tests.cpp295
-rw-r--r--src/ui_interface.h132
-rw-r--r--src/uint256.h2
-rw-r--r--src/util.cpp701
-rw-r--r--src/util.h365
-rw-r--r--src/version.cpp6
-rw-r--r--src/version.h14
-rw-r--r--src/wallet.cpp588
-rw-r--r--src/wallet.h207
-rw-r--r--src/walletdb.cpp607
-rw-r--r--src/walletdb.h56
218 files changed, 77319 insertions, 41182 deletions
diff --git a/bitcoin-qt.pro b/bitcoin-qt.pro
index 7bfdeea357..0cba302275 100644
--- a/bitcoin-qt.pro
+++ b/bitcoin-qt.pro
@@ -1,6 +1,6 @@
TEMPLATE = app
-TARGET =
-VERSION = 0.6.4.0
+TARGET = bitcoin-qt
+VERSION = 0.7.1
INCLUDEPATH += src src/json src/qt
DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE
CONFIG += no_include_pwd
@@ -31,6 +31,16 @@ contains(RELEASE, 1) {
}
}
+!win32 {
+# for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection
+QMAKE_CXXFLAGS *= -fstack-protector-all --param ssp-buffer-size=1
+QMAKE_LFLAGS *= -fstack-protector-all --param ssp-buffer-size=1
+# We need to exclude this for 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 on Windows: enable ASLR and DEP via GCC linker flags
+win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat
+
# use: qmake "USE_QRCODE=1"
# libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support
contains(USE_QRCODE, 1) {
@@ -63,10 +73,16 @@ contains(USE_DBUS, 1) {
QT += dbus
}
-# use: qmake "FIRST_CLASS_MESSAGING=1"
-contains(FIRST_CLASS_MESSAGING, 1) {
- message(Building with first-class messaging)
- DEFINES += FIRST_CLASS_MESSAGING
+# use: qmake "USE_IPV6=1" ( enabled by default; default)
+# or: qmake "USE_IPV6=0" (disabled by default)
+# or: qmake "USE_IPV6=-" (not supported)
+contains(USE_IPV6, -) {
+ message(Building without IPv6 support)
+} else {
+ count(USE_IPV6, 0) {
+ USE_IPV6=1
+ }
+ DEFINES += USE_IPV6=$$USE_IPV6
}
contains(BITCOIN_NEED_QT_PLUGINS, 1) {
@@ -74,24 +90,18 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) {
QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets
}
-!windows {
- # for extra security against potential buffer overflows
- QMAKE_CXXFLAGS += -fstack-protector
- QMAKE_LFLAGS += -fstack-protector
- # do not enable this on windows cross compile with mingw 4.2.x, as it will result in a non-working executable!
-}
# regenerate src/build.h
!windows|contains(USE_BUILD_INFO, 1) {
genbuild.depends = FORCE
genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h
- genbuild.target = genbuildhook
- PRE_TARGETDEPS += genbuildhook
+ genbuild.target = $$OUT_PWD/build/build.h
+ PRE_TARGETDEPS += $$OUT_PWD/build/build.h
QMAKE_EXTRA_TARGETS += genbuild
DEFINES += HAVE_BUILD_INFO
}
-QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-invalid-offsetof -Wno-sign-compare -Wno-unused-parameter
+QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector
# Input
DEPENDPATH += src src/json src/qt
@@ -101,15 +111,17 @@ HEADERS += src/qt/bitcoingui.h \
src/qt/optionsdialog.h \
src/qt/sendcoinsdialog.h \
src/qt/addressbookpage.h \
- src/qt/messagepage.h \
+ src/qt/signverifymessagedialog.h \
src/qt/aboutdialog.h \
src/qt/editaddressdialog.h \
src/qt/bitcoinaddressvalidator.h \
+ src/alert.h \
src/addrman.h \
src/base58.h \
src/bignum.h \
src/checkpoints.h \
src/compat.h \
+ src/sync.h \
src/util.h \
src/uint256.h \
src/serialize.h \
@@ -160,7 +172,10 @@ HEADERS += src/qt/bitcoingui.h \
src/qt/qtipcserver.h \
src/allocators.h \
src/ui_interface.h \
- src/netbase.h
+ src/qt/rpcconsole.h \
+ src/version.h \
+ src/netbase.h \
+ src/clientversion.h
SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/qt/transactiontablemodel.cpp \
@@ -168,11 +183,13 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/qt/optionsdialog.cpp \
src/qt/sendcoinsdialog.cpp \
src/qt/addressbookpage.cpp \
- src/qt/messagepage.cpp \
+ src/qt/signverifymessagedialog.cpp \
src/qt/aboutdialog.cpp \
src/qt/editaddressdialog.cpp \
src/qt/bitcoinaddressvalidator.cpp \
+ src/alert.cpp \
src/version.cpp \
+ src/sync.cpp \
src/util.cpp \
src/netbase.cpp \
src/key.cpp \
@@ -201,6 +218,11 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/qt/walletmodel.cpp \
src/bitcoinrpc.cpp \
src/rpcdump.cpp \
+ src/rpcnet.cpp \
+ src/rpcmining.cpp \
+ src/rpcwallet.cpp \
+ src/rpcblockchain.cpp \
+ src/rpcrawtransaction.cpp \
src/qt/overviewpage.cpp \
src/qt/csvmodelwriter.cpp \
src/crypter.cpp \
@@ -211,7 +233,9 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \
src/qt/askpassphrasedialog.cpp \
src/protocol.cpp \
src/qt/notificator.cpp \
- src/qt/qtipcserver.cpp
+ src/qt/qtipcserver.cpp \
+ src/qt/rpcconsole.cpp \
+ src/noui.cpp
RESOURCES += \
src/qt/bitcoin.qrc
@@ -219,13 +243,15 @@ RESOURCES += \
FORMS += \
src/qt/forms/sendcoinsdialog.ui \
src/qt/forms/addressbookpage.ui \
- src/qt/forms/messagepage.ui \
+ src/qt/forms/signverifymessagedialog.ui \
src/qt/forms/aboutdialog.ui \
src/qt/forms/editaddressdialog.ui \
src/qt/forms/transactiondescdialog.ui \
src/qt/forms/overviewpage.ui \
src/qt/forms/sendcoinsentry.ui \
- src/qt/forms/askpassphrasedialog.ui
+ src/qt/forms/askpassphrasedialog.ui \
+ src/qt/forms/rpcconsole.ui \
+ src/qt/forms/optionsdialog.ui
contains(USE_QRCODE, 1) {
HEADERS += src/qt/qrcodedialog.h
@@ -253,24 +279,23 @@ isEmpty(QMAKE_LRELEASE) {
win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe
else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease
}
-isEmpty(TS_DIR):TS_DIR = src/qt/locale
+isEmpty(QM_DIR):QM_DIR = $$PWD/src/qt/locale
# automatically build translations, so they can be included in resource file
TSQM.name = lrelease ${QMAKE_FILE_IN}
TSQM.input = TRANSLATIONS
-TSQM.output = $$TS_DIR/${QMAKE_FILE_BASE}.qm
-TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN}
+TSQM.output = $$QM_DIR/${QMAKE_FILE_BASE}.qm
+TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT}
TSQM.CONFIG = no_link
QMAKE_EXTRA_COMPILERS += TSQM
-PRE_TARGETDEPS += compiler_TSQM_make_all
# "Other files" to show in Qt Creator
OTHER_FILES += \
- doc/*.rst doc/*.txt doc/README README.md res/bitcoin-qt.rc
+ 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
# platform specific defaults, if not overridden on command line
isEmpty(BOOST_LIB_SUFFIX) {
macx:BOOST_LIB_SUFFIX = -mt
- windows:BOOST_LIB_SUFFIX = -mgw44-mt-1_43
+ windows:BOOST_LIB_SUFFIX = -mgw44-mt-s-1_50
}
isEmpty(BOOST_THREAD_LIB_SUFFIX) {
@@ -297,7 +322,6 @@ isEmpty(BOOST_INCLUDE_PATH) {
macx:BOOST_INCLUDE_PATH = /opt/local/include
}
-windows:LIBS += -lws2_32 -lshlwapi
windows:DEFINES += WIN32
windows:RC_FILE = src/qt/res/bitcoin-qt.rc
@@ -332,8 +356,9 @@ INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$
LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,)
LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX
# -lgdi32 has to happen after -lcrypto (see #681)
-windows:LIBS += -lole32 -luuid -lgdi32
+windows: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
+windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX
contains(RELEASE, 1) {
!windows:!macx {
diff --git a/contrib/bitcoind.bash-completion b/contrib/bitcoind.bash-completion
new file mode 100644
index 0000000000..dd6c1ce819
--- /dev/null
+++ b/contrib/bitcoind.bash-completion
@@ -0,0 +1,115 @@
+# bash programmable completion for bitcoind(1)
+# Copyright (c) 2012 Christian von Roques <roques@mti.ag>
+# Distributed under the MIT/X11 software license, see the accompanying
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+have bitcoind && {
+
+# call $bitcoind for RPC
+_bitcoin_rpc() {
+ # determine already specified args necessary for RPC
+ local rpcargs=()
+ for i in ${COMP_LINE}; do
+ case "$i" in
+ -conf=*|-proxy*|-rpc*)
+ rpcargs=( "${rpcargs[@]}" "$i" )
+ ;;
+ esac
+ done
+ $bitcoind "${rpcargs[@]}" "$@"
+}
+
+# Add bitcoin accounts to COMPREPLY
+_bitcoin_accounts() {
+ local accounts
+ accounts=$(_bitcoin_rpc listaccounts | awk '/".*"/ { a=$1; gsub(/"/, "", a); print a}')
+ COMPREPLY=( "${COMPREPLY[@]}" $( compgen -W "$accounts" -- "$cur" ) )
+}
+
+_bitcoind() {
+ local cur prev words=() cword
+ local bitcoind
+
+ # save and use original argument to invoke bitcoind
+ # bitcoind might not be in $PATH
+ bitcoind="$1"
+
+ COMPREPLY=()
+ _get_comp_words_by_ref -n = cur prev words cword
+
+ if ((cword > 2)); then
+ case ${words[cword-2]} in
+ listreceivedbyaccount|listreceivedbyaddress)
+ COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
+ return 0
+ ;;
+ move|setaccount)
+ _bitcoin_accounts
+ return 0
+ ;;
+ esac
+ fi
+
+ case "$prev" in
+ backupwallet)
+ _filedir
+ return 0
+ ;;
+ setgenerate)
+ COMPREPLY=( $( compgen -W "true false" -- "$cur" ) )
+ return 0
+ ;;
+ getaccountaddress|getaddressesbyaccount|getbalance|getnewaddress|getreceivedbyaccount|listtransactions|move|sendfrom|sendmany)
+ _bitcoin_accounts
+ return 0
+ ;;
+ esac
+
+ case "$cur" in
+ -conf=*|-pid=*|-rpcsslcertificatechainfile=*|-rpcsslprivatekeyfile=*)
+ cur="${cur#*=}"
+ _filedir
+ return 0
+ ;;
+ -datadir=*)
+ cur="${cur#*=}"
+ _filedir -d
+ return 0
+ ;;
+ -*=*) # prevent nonsense completions
+ return 0
+ ;;
+ *)
+ local helpopts commands
+
+ # only parse --help if senseful
+ if [[ -z "$cur" || "$cur" =~ ^- ]]; then
+ helpopts=$($bitcoind --help 2>&1 | awk '$1 ~ /^-/ { sub(/=.*/, "="); print $1 }' )
+ fi
+
+ # only parse help if senseful
+ if [[ -z "$cur" || "$cur" =~ ^[a-z] ]]; then
+ commands=$(_bitcoin_rpc help 2>/dev/null | awk '{ print $1; }')
+ fi
+
+ COMPREPLY=( $( compgen -W "$helpopts $commands" -- "$cur" ) )
+
+ # Prevent space if an argument is desired
+ if [[ $COMPREPLY == *= ]]; then
+ compopt -o nospace
+ fi
+ return 0
+ ;;
+ esac
+}
+
+complete -F _bitcoind bitcoind
+}
+
+# Local variables:
+# mode: shell-script
+# sh-basic-offset: 4
+# sh-indent-comment: t
+# indent-tabs-mode: nil
+# End:
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/contrib/debian/bin/bitcoin-qt b/contrib/debian/bin/bitcoin-qt
deleted file mode 100755
index f2eac1b1ab..0000000000
--- a/contrib/debian/bin/bitcoin-qt
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-set -e
-
-umask 077
-
-basedir=~/.bitcoin
-dbfile="$basedir/DB_CONFIG"
-cfgfile="$basedir/bitcoin.conf"
-
-[ -e "$basedir" ] || mkdir "$basedir"
-
-# Bitcoin does not clean up DB log files by default
-[ -e "$dbfile" ] || echo 'set_flags DB_LOG_AUTOREMOVE' > "$dbfile"
-
-exec /usr/lib/bitcoin/bitcoin-qt "$@"
diff --git a/contrib/debian/bin/bitcoind b/contrib/debian/bin/bitcoind
index 0904f76f7b..a2f55a9138 100755
--- a/contrib/debian/bin/bitcoind
+++ b/contrib/debian/bin/bitcoind
@@ -5,14 +5,10 @@ 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 --git a/contrib/debian/bitcoin-qt.install b/contrib/debian/bitcoin-qt.install
index 6a566f515a..ba407134e7 100644
--- a/contrib/debian/bitcoin-qt.install
+++ b/contrib/debian/bitcoin-qt.install
@@ -1,5 +1,4 @@
-debian/bin/bitcoin-qt usr/bin
-bitcoin-qt usr/lib/bitcoin
+bitcoin-qt usr/bin
share/pixmaps/bitcoin32.xpm usr/share/pixmaps
share/pixmaps/bitcoin80.xpm usr/share/pixmaps
debian/bitcoin-qt.desktop usr/share/applications
diff --git a/contrib/debian/bitcoind.bash-completion b/contrib/debian/bitcoind.bash-completion
new file mode 100644
index 0000000000..0f84707b66
--- /dev/null
+++ b/contrib/debian/bitcoind.bash-completion
@@ -0,0 +1 @@
+contrib/bitcoind.bash-completion bitcoind
diff --git a/contrib/debian/changelog b/contrib/debian/changelog
index db5e2682c6..52d0e5907b 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,13 +1,61 @@
-bitcoin (0.5.1-natty1) natty; urgency=low
+bitcoin (0.6.3-natty1) natty; urgency=low
+
+ * New upstream release.
+
+ -- Matt Corallo <matt@bluematt.me> Mon, 25 Jun 2012 23:47:00 +0200
+
+bitcoin (0.6.2-natty1) natty; urgency=low
+
+ * Update package description and launch scripts.
+
+ -- Matt Corallo <matt@bluematt.me> Sat, 2 Jun 2012 16:41:00 +0200
+
+bitcoin (0.6.2-natty0) natty; urgency=low
+
+ * New upstream release.
+
+ -- Matt Corallo <matt@bluematt.me> Tue, 8 May 2012 16:27:00 -0500
+
+bitcoin (0.6.1-natty0) natty; urgency=low
+
+ * New upstream release.
+
+ -- Matt Corallo <matt@bluematt.me> Sun, 6 May 2012 20:09:00 -0500
+
+bitcoin (0.6.0-natty0) natty; urgency=low
+
+ * New upstream release.
+ * Add GNOME/KDE support for bitcoin-qt's bitcoin: URI support.
+ Thanks to luke-jr for the KDE .protocol file.
+
+ -- Matt Corallo <matt@bluematt.me> Sat, 31 Mar 2012 15:35:00 -0500
+
+bitcoin (0.5.3-natty1) natty; urgency=low
+
+ * Mark for upload to PPA.
+
+ -- Matt Corallo <matt@bluematt.me> Wed, 14 Mar 2012 23:06:00 -0400
+
+bitcoin (0.5.3-natty0) natty; urgency=low
+
+ * New upstream release.
+
+ -- Luke Dashjr <luke+bitcoin+deb@dashjr.org> Tue, 10 Jan 2012 15:57:00 -0500
+
+bitcoin (0.5.2-natty1) natty; urgency=low
* Remove mentions on anonymity in package descriptions and manpage.
These should never have been there, bitcoin isnt anonymous without
a ton of work that virtually no users will ever be willing and
capable of doing
- * Add GNOME/KDE support for bitcoin-qt's bitcoin: URI support.
- Thanks to luke-jr for the KDE .protocol file.
- -- Matt Corallo <matt@bluematt.me> Fri, 23 Dec 2011 20:25:00 -0500
+ -- Matt Corallo <matt@bluematt.me> Sat, 7 Jan 2012 13:37:00 -0500
+
+bitcoin (0.5.2-natty0) natty; urgency=low
+
+ * New upstream release.
+
+ -- Luke Dashjr <luke+bitcoin+deb@dashjr.org> Fri, 16 Dec 2011 17:57:00 -0500
bitcoin (0.5.1-natty0) natty; urgency=low
diff --git a/contrib/debian/control b/contrib/debian/control
index d0a2d57c9e..c8266f686b 100644
--- a/contrib/debian/control
+++ b/contrib/debian/control
@@ -5,6 +5,7 @@ Maintainer: Jonas Smedegaard <dr@jones.dk>
Uploaders: Micah Anderson <micah@debian.org>
Build-Depends: debhelper,
devscripts,
+ bash-completion,
libboost-system-dev (>> 1.35) | libboost-system1.35-dev,
libdb4.8++-dev,
libssl-dev,
diff --git a/contrib/debian/patches/1001_use_system_json-spirit.patch b/contrib/debian/patches/1001_use_system_json-spirit.patch
deleted file mode 100644
index c6d60393d4..0000000000
--- a/contrib/debian/patches/1001_use_system_json-spirit.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-Description: Use system JSON Spirit library
-Author: Jonas Smedegaard <dr@jones.dk>
-Last-Update: 2012-07-05
---- a/src/bitcoinrpc.h
-+++ b/src/bitcoinrpc.h
-@@ -9,9 +9,7 @@
- #include <string>
- #include <map>
-
--#include "json/json_spirit_reader_template.h"
--#include "json/json_spirit_writer_template.h"
--#include "json/json_spirit_utils.h"
-+#include <json_spirit.h>
-
- void ThreadRPCServer(void* parg);
- int CommandLineRPC(int argc, char *argv[]);
---- a/src/makefile.unix
-+++ b/src/makefile.unix
-@@ -31,6 +31,7 @@ LIBS += \
- -l boost_thread$(BOOST_LIB_SUFFIX) \
- -l db_cxx$(BDB_LIB_SUFFIX) \
- -l ssl \
-+ -l json_spirit \
- -l crypto
-
- ifndef USE_UPNP
---- a/src/rpcdump.cpp
-+++ b/src/rpcdump.cpp
-@@ -8,9 +8,7 @@
-
- #include <boost/lexical_cast.hpp>
-
--#include "json/json_spirit_reader_template.h"
--#include "json/json_spirit_writer_template.h"
--#include "json/json_spirit_utils.h"
-+#include <json_spirit.h>
-
- #define printf OutputDebugStringF
-
---- a/src/test/rpc_tests.cpp
-+++ b/src/test/rpc_tests.cpp
-@@ -1,6 +1,8 @@
- #include <boost/test/unit_test.hpp>
- #include <boost/foreach.hpp>
-
-+#include <json_spirit.h>
-+
- #include "base58.h"
- #include "util.h"
- #include "bitcoinrpc.h"
---- a/src/test/script_tests.cpp
-+++ b/src/test/script_tests.cpp
-@@ -8,9 +8,7 @@
- #include <boost/foreach.hpp>
- #include <boost/preprocessor/stringize.hpp>
- #include <boost/test/unit_test.hpp>
--#include "json/json_spirit_reader_template.h"
--#include "json/json_spirit_writer_template.h"
--#include "json/json_spirit_utils.h"
-+#include <json_spirit.h>
-
- #include "main.h"
- #include "wallet.h"
diff --git a/contrib/debian/patches/series b/contrib/debian/patches/series
index bbe3685ac2..8b13789179 100644
--- a/contrib/debian/patches/series
+++ b/contrib/debian/patches/series
@@ -1 +1 @@
-#1001_use_system_json-spirit.patch
+
diff --git a/contrib/debian/rules b/contrib/debian/rules
index 49c7766d13..98bb2bba1c 100755
--- a/contrib/debian/rules
+++ b/contrib/debian/rules
@@ -9,7 +9,7 @@ DEB_INSTALL_EXAMPLES_bitcoind += debian/examples/*
DEB_INSTALL_MANPAGES_bitcoind += debian/manpages/*
%:
- dh $@
+ dh --with bash-completion $@
override_dh_auto_build:
cd src; $(MAKE) -f makefile.unix bitcoind
diff --git a/contrib/gitian-descriptors/README b/contrib/gitian-descriptors/README
index a2d902e210..1d3910b994 100644
--- a/contrib/gitian-descriptors/README
+++ b/contrib/gitian-descriptors/README
@@ -1,31 +1,86 @@
-Gavin's notes on getting gitian builds up and running:
+Gavin's notes on getting gitian builds up and running using KVM:
+
+These instructions distilled from:
+ https://help.ubuntu.com/community/KVM/Installation
+... see there for complete details.
You need the right hardware: you need a 64-bit-capable CPU with hardware virtualization support (Intel VT-x or AMD-V). Not all modern CPUs support hardware virtualization.
You probably need to enable hardware virtualization in your machine's BIOS.
You need to be running a recent version of 64-bit-Ubuntu, and you need to install several prerequisites:
- sudo apt-get install apache2 git apt-cacher-ng python-vm-builder qemu-kvm
+ sudo apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm
Sanity checks:
sudo service apt-cacher-ng status # Should return apt-cacher-ng is running
ls -l /dev/kvm # Should show a /dev/kvm device
+
Once you've got the right hardware and software:
git clone git://github.com/bitcoin/bitcoin.git
git clone git://github.com/devrandom/gitian-builder.git
mkdir gitian-builder/inputs
- wget 'http://miniupnp.tuxfamily.org/files/download.php?file=miniupnpc-1.6.tar.gz' -O gitian-builder/inputs/miniupnpc-1.6.tar.gz
+ cd gitian-builder/inputs
+ # Inputs for Linux and Win32:
+ wget -O miniupnpc-1.6.tar.gz 'http://miniupnp.tuxfamily.org/files/download.php?file=miniupnpc-1.6.tar.gz'
+ wget 'http://fukuchi.org/works/qrencode/qrencode-3.2.0.tar.bz2'
+ # Inputs for Win32: (Linux has packages for these)
+ wget 'https://downloads.sourceforge.net/project/boost/boost/1.50.0/boost_1_50_0.tar.bz2'
+ 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 'https://downloads.sourceforge.net/project/libpng/zlib/1.2.6/zlib-1.2.6.tar.gz'
+ wget 'https://downloads.sourceforge.net/project/libpng/libpng15/older-releases/1.5.9/libpng-1.5.9.tar.gz'
+ wget 'http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.2.tar.gz'
+ cd ../..
cd gitian-builder
bin/make-base-vm --arch i386
bin/make-base-vm --arch amd64
cd ..
- # To build
+ # Build Linux release:
cd bitcoin
git pull
cd ../gitian-builder
git pull
- ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian.yml
+ ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/gitian.yml
+
+ # Build Win32 dependencies: (only needs to be done once, or when dependency versions change)
+ ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
+ ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/deps-win32.yml
+ ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/qt-win32.yml
+
+ # Build Win32 release:
+ ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian-descriptors/gitian-win32.yml
+
+---------------------
+
+gitian-builder now also supports building using LXC. See
+ https://help.ubuntu.com/12.04/serverguide/lxc.html
+... for how to get LXC up and running under Ubuntu.
+
+If your main machine is a 64-bit Mac or PC with a few gigabytes of memory
+and at least 10 gigabytes of free disk space, you can gitian-build using
+LXC running inside a virtual machine.
+
+Here's a description of Gavin's setup on OSX 10.6:
+
+1. Download and install VirtualBox from https://www.virtualbox.org/
+
+2. Download the 64-bit Ubuntu Desktop 12.04 LTS .iso CD image from
+ http://www.ubuntu.com/
+
+3. Run VirtualBox and create a new virtual machine, using the
+ Ubuntu .iso (see the VirtualBox documentation for details).
+ Create it with at least 2 gigabytes of memory and a disk
+ that is at least 20 gigabytes big.
+
+4. Inside the running Ubuntu desktop, install:
+ sudo apt-get install debootstrap lxc ruby apache2 git apt-cacher-ng python-vm-builder
+
+5. Still inside Ubuntu, tell gitian-builder to use LXC, then follow the "Once you've got the right
+ hardware and software" instructions above:
+ export USE_LXC=1
+ git clone git://github.com/bitcoin/bitcoin.git
+ ... etc
diff --git a/contrib/gitian-descriptors/boost-win32.yml b/contrib/gitian-descriptors/boost-win32.yml
index 61ea50e4fe..1eeb9eaa28 100644
--- a/contrib/gitian-descriptors/boost-win32.yml
+++ b/contrib/gitian-descriptors/boost-win32.yml
@@ -11,12 +11,12 @@ packages:
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
-- "boost_1_47_0.tar.bz2"
+- "boost_1_50_0.tar.bz2"
script: |
TMPDIR="$HOME/tmpdir"
mkdir -p $TMPDIR/bin/$GBUILD_BITS $TMPDIR/include
- tar xjf boost_1_47_0.tar.bz2
- cd boost_1_47_0
+ tar xjf boost_1_50_0.tar.bz2
+ cd boost_1_50_0
echo "using gcc : 4.4 : i586-mingw32msvc-g++
:
<rc>i586-mingw32msvc-windres
@@ -34,5 +34,5 @@ script: |
cd $TMPDIR
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
- zip -r boost-win32-1.47.0-gitian.zip *
- cp boost-win32-1.47.0-gitian.zip $OUTDIR
+ zip -r boost-win32-1.50.0-gitian2.zip *
+ cp boost-win32-1.50.0-gitian2.zip $OUTDIR
diff --git a/contrib/gitian-descriptors/deps-win32.yml b/contrib/gitian-descriptors/deps-win32.yml
index df1e3de358..106bd06a9b 100644
--- a/contrib/gitian-descriptors/deps-win32.yml
+++ b/contrib/gitian-descriptors/deps-win32.yml
@@ -4,7 +4,7 @@ suites:
- "lucid"
architectures:
- "i386"
-packages:
+packages:
- "mingw32"
- "git-core"
- "zip"
@@ -13,7 +13,7 @@ packages:
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
-- "openssl-1.0.1b.tar.gz"
+- "openssl-1.0.1c.tar.gz"
- "db-4.8.30.NC.tar.gz"
- "miniupnpc-1.6.tar.gz"
- "zlib-1.2.6.tar.gz"
@@ -25,8 +25,8 @@ script: |
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
#
- tar xzf openssl-1.0.1b.tar.gz
- cd openssl-1.0.1b
+ tar xzf openssl-1.0.1c.tar.gz
+ cd openssl-1.0.1c
./Configure --cross-compile-prefix=i586-mingw32msvc- mingw
make
cd ..
@@ -62,7 +62,7 @@ script: |
make $MAKEOPTS
cd ..
#
- zip -r $OUTDIR/bitcoin-deps-0.0.4.zip \
+ zip -r $OUTDIR/bitcoin-deps-0.0.5.zip \
$(ls qrencode-*/{qrencode.h,.libs/libqrencode.{,l}a} | sort) \
$(ls db-*/build_unix/{libdb_cxx.a,db.h,db_cxx.h,libdb.a,.libs/libdb_cxx-?.?.a} | sort) \
$(find openssl-* -name '*.a' -o -name '*.h' | sort) \
diff --git a/contrib/gitian-descriptors/gitian-win32.yml b/contrib/gitian-descriptors/gitian-win32.yml
index a48e54da85..cef096a81d 100644
--- a/contrib/gitian-descriptors/gitian-win32.yml
+++ b/contrib/gitian-descriptors/gitian-win32.yml
@@ -4,7 +4,7 @@ suites:
- "lucid"
architectures:
- "i386"
-packages:
+packages:
- "mingw32"
- "git-core"
- "unzip"
@@ -15,21 +15,21 @@ remotes:
- "url": "https://git.gitorious.org/+bitcoin-stable-developers/bitcoin/bitcoind-stable.git"
"dir": "bitcoin"
files:
-- "qt-win32-4.7.4-gitian.zip"
-- "boost-win32-1.47.0-gitian.zip"
-- "bitcoin-deps-0.0.4.zip"
+- "qt-win32-4.8.2-gitian-r1.zip"
+- "boost-win32-1.50.0-gitian2.zip"
+- "bitcoin-deps-0.0.5.zip"
script: |
#
mkdir $HOME/qt
cd $HOME/qt
- unzip ../build/qt-win32-4.7.4-gitian.zip
+ unzip ../build/qt-win32-4.8.2-gitian-r1.zip
cd $HOME/build/
export PATH=$PATH:$HOME/qt/bin/
#
- mkdir boost_1_47_0
- cd boost_1_47_0
+ mkdir boost_1_50_0
+ cd boost_1_50_0
mkdir -p stage/lib
- unzip ../boost-win32-1.47.0-gitian.zip
+ unzip ../boost-win32-1.50.0-gitian2.zip
cd bin/$GBUILD_BITS
for lib in *; do
i586-mingw32msvc-ar rc ../../stage/lib/libboost_${lib}-mt-s.a $lib/*.o
@@ -39,7 +39,7 @@ script: |
mv include/boost .
cd ..
#
- unzip bitcoin-deps-0.0.4.zip
+ unzip bitcoin-deps-0.0.5.zip
#
find -type f | xargs touch --date="$REFERENCE_DATETIME"
#
@@ -47,11 +47,11 @@ script: |
mkdir -p $OUTDIR/src
git archive HEAD | tar -x -C $OUTDIR/src
cp $OUTDIR/src/doc/README_windows.txt $OUTDIR/readme.txt
- cp $OUTDIR/src/COPYING $OUTDIR/license.txt
+ cp $OUTDIR/src/COPYING $OUTDIR/COPYING.txt
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
- $HOME/qt/src/bin/qmake -spec unsupported/win32-g++-cross MINIUPNPC_LIB_PATH=$HOME/build/miniupnpc MINIUPNPC_INCLUDE_PATH=$HOME/build/ BDB_LIB_PATH=$HOME/build/db-4.8.30.NC/build_unix BDB_INCLUDE_PATH=$HOME/build/db-4.8.30.NC/build_unix BOOST_LIB_PATH=$HOME/build/boost_1_47_0/stage/lib BOOST_INCLUDE_PATH=$HOME/build/boost_1_47_0 BOOST_LIB_SUFFIX=-mt-s BOOST_THREAD_LIB_SUFFIX=_win32-mt-s OPENSSL_LIB_PATH=$HOME/build/openssl-1.0.1b OPENSSL_INCLUDE_PATH=$HOME/build/openssl-1.0.1b/include QRENCODE_LIB_PATH=$HOME/build/qrencode-3.2.0/.libs QRENCODE_INCLUDE_PATH=$HOME/build/qrencode-3.2.0 USE_QRCODE=1 INCLUDEPATH=$HOME/build DEFINES=BOOST_THREAD_USE_LIB BITCOIN_NEED_QT_PLUGINS=1 QMAKE_LRELEASE=lrelease QMAKE_CXXFLAGS=-frandom-seed=bitcoin QMAKE_LFLAGS=-frandom-seed=bitcoin USE_BUILD_INFO=1
+ $HOME/qt/src/bin/qmake -spec unsupported/win32-g++-cross MINIUPNPC_LIB_PATH=$HOME/build/miniupnpc MINIUPNPC_INCLUDE_PATH=$HOME/build/ BDB_LIB_PATH=$HOME/build/db-4.8.30.NC/build_unix BDB_INCLUDE_PATH=$HOME/build/db-4.8.30.NC/build_unix BOOST_LIB_PATH=$HOME/build/boost_1_50_0/stage/lib BOOST_INCLUDE_PATH=$HOME/build/boost_1_50_0 BOOST_LIB_SUFFIX=-mt-s BOOST_THREAD_LIB_SUFFIX=_win32-mt-s OPENSSL_LIB_PATH=$HOME/build/openssl-1.0.1c OPENSSL_INCLUDE_PATH=$HOME/build/openssl-1.0.1c/include QRENCODE_LIB_PATH=$HOME/build/qrencode-3.2.0/.libs QRENCODE_INCLUDE_PATH=$HOME/build/qrencode-3.2.0 USE_QRCODE=1 INCLUDEPATH=$HOME/build DEFINES=BOOST_THREAD_USE_LIB BITCOIN_NEED_QT_PLUGINS=1 QMAKE_LRELEASE=lrelease QMAKE_CXXFLAGS=-frandom-seed=bitcoin QMAKE_LFLAGS=-frandom-seed=bitcoin USE_BUILD_INFO=1
make $MAKEOPTS
cp release/bitcoin-qt.exe $OUTDIR/
#
diff --git a/contrib/gitian-descriptors/qt-win32.yml b/contrib/gitian-descriptors/qt-win32.yml
index 6eb76b2170..87887dec87 100644
--- a/contrib/gitian-descriptors/qt-win32.yml
+++ b/contrib/gitian-descriptors/qt-win32.yml
@@ -11,15 +11,15 @@ packages:
reference_datetime: "2011-01-30 00:00:00"
remotes: []
files:
-- "qt-everywhere-opensource-src-4.7.4.tar.gz"
+- "qt-everywhere-opensource-src-4.8.2.tar.gz"
script: |
INSTDIR="$HOME/qt/"
mkdir $INSTDIR
SRCDIR="$INSTDIR/src/"
mkdir $SRCDIR
#
- tar xzf qt-everywhere-opensource-src-4.7.4.tar.gz
- cd qt-everywhere-opensource-src-4.7.4
+ tar xzf qt-everywhere-opensource-src-4.8.2.tar.gz
+ cd qt-everywhere-opensource-src-4.8.2
sed 's/$TODAY/2011-01-30/' -i configure
sed 's/i686-pc-mingw32-/i586-mingw32msvc-/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
sed --posix 's|QMAKE_CFLAGS\t\t= -pipe|QMAKE_CFLAGS\t\t= -pipe -isystem /usr/i586-mingw32msvc/include/ -frandom-seed=qtbuild|' -i mkspecs/unsupported/win32-g++-cross/qmake.conf
@@ -40,7 +40,7 @@ script: |
#export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
- ./configure -prefix $INSTDIR -confirm-license -release -opensource -static -no-qt3support -xplatform unsupported/win32-g++-cross -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-declarative -no-script -no-scripttools -no-javascript-jit -no-webkit -no-svg -no-xmlpatterns -no-sql-sqlite -no-nis -no-cups -no-iconv -no-dbus -no-gif -no-libtiff -opengl no -nomake examples -nomake demos -nomake docs
+ ./configure -prefix $INSTDIR -confirm-license -release -opensource -static -no-qt3support -xplatform unsupported/win32-g++-cross -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-declarative -no-script -no-scripttools -no-javascript-jit -no-webkit -no-svg -no-xmlpatterns -no-sql-sqlite -no-nis -no-cups -no-iconv -no-dbus -no-gif -no-libtiff -no-opengl -nomake examples -nomake demos -nomake docs -no-feature-style-plastique -no-feature-style-cleanlooks -no-feature-style-motif -no-feature-style-cde -no-feature-style-windowsce -no-feature-style-windowsmobile -no-feature-style-s60
find . -name *.prl | xargs -l sed 's|/\.||' -i
find . -name *.prl | xargs -l sed 's|/$||' -i
make $MAKEOPTS install
@@ -51,4 +51,4 @@ script: |
# as zip stores file timestamps, use faketime to intercept stat calls to set dates for all files to reference date
export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
- zip -r $OUTDIR/qt-win32-4.7.4-gitian.zip *
+ zip -r $OUTDIR/qt-win32-4.8.2-gitian-r1.zip *
diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus
index e159f9bbc3..16daa59b08 100755
--- a/contrib/macdeploy/macdeployqtplus
+++ b/contrib/macdeploy/macdeployqtplus
@@ -169,6 +169,9 @@ class DeploymentInfo(object):
elif os.path.exists(os.path.join(parentDir, "share", "qt4", "translations")):
# MacPorts layout, e.g. "/opt/local/share/qt4"
self.qtPath = os.path.join(parentDir, "share", "qt4")
+ elif os.path.exists(os.path.join(os.path.dirname(parentDir), "share", "qt4", "translations")):
+ # Newer Macports layout
+ self.qtPath = os.path.join(os.path.dirname(parentDir), "share", "qt4")
if self.qtPath is not None:
pluginPath = os.path.join(self.qtPath, "plugins")
@@ -725,7 +728,7 @@ if config.dmg is not None:
disk.close()
if bg_path is not None:
subprocess.call(["SetFile", "-a", "V", bg_path])
- disk.update(registering_applications=False)
+# disk.update(registering_applications=False)
sleep(2)
disk.eject()
diff --git a/contrib/pyminer/pyminer.py b/contrib/pyminer/pyminer.py
index 2887aba591..0a2932d66e 100755
--- a/contrib/pyminer/pyminer.py
+++ b/contrib/pyminer/pyminer.py
@@ -2,7 +2,7 @@
#
# Copyright (c) 2011 The Bitcoin developers
# Distributed under the MIT/X11 software license, see the accompanying
-# file license.txt or http://www.opensource.org/licenses/mit-license.php.
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
#
import time
diff --git a/contrib/testgen/README b/contrib/testgen/README
new file mode 100644
index 0000000000..02d6c4cdc2
--- /dev/null
+++ b/contrib/testgen/README
@@ -0,0 +1 @@
+Utilities to generate test vectors for the data-driven Bitcoin tests
diff --git a/contrib/testgen/base58.py b/contrib/testgen/base58.py
new file mode 100644
index 0000000000..b716495145
--- /dev/null
+++ b/contrib/testgen/base58.py
@@ -0,0 +1,104 @@
+'''
+Bitcoin base58 encoding and decoding.
+
+Based on https://bitcointalk.org/index.php?topic=1026.0 (public domain)
+'''
+import hashlib
+
+# for compatibility with following code...
+class SHA256:
+ new = hashlib.sha256
+
+if str != bytes:
+ # Python 3.x
+ def ord(c):
+ return c
+ def chr(n):
+ return bytes( (n,) )
+
+__b58chars = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
+__b58base = len(__b58chars)
+b58chars = __b58chars
+
+def b58encode(v):
+ """ encode v, which is a string of bytes, to base58.
+ """
+ long_value = 0
+ for (i, c) in enumerate(v[::-1]):
+ long_value += (256**i) * ord(c)
+
+ result = ''
+ while long_value >= __b58base:
+ div, mod = divmod(long_value, __b58base)
+ result = __b58chars[mod] + result
+ long_value = div
+ result = __b58chars[long_value] + result
+
+ # Bitcoin does a little leading-zero-compression:
+ # leading 0-bytes in the input become leading-1s
+ nPad = 0
+ for c in v:
+ if c == '\0': nPad += 1
+ else: break
+
+ return (__b58chars[0]*nPad) + result
+
+def b58decode(v, length = None):
+ """ decode v into a string of len bytes
+ """
+ long_value = 0
+ for (i, c) in enumerate(v[::-1]):
+ long_value += __b58chars.find(c) * (__b58base**i)
+
+ result = bytes()
+ while long_value >= 256:
+ div, mod = divmod(long_value, 256)
+ result = chr(mod) + result
+ long_value = div
+ result = chr(long_value) + result
+
+ nPad = 0
+ for c in v:
+ if c == __b58chars[0]: nPad += 1
+ else: break
+
+ result = chr(0)*nPad + result
+ if length is not None and len(result) != length:
+ return None
+
+ return result
+
+def checksum(v):
+ """Return 32-bit checksum based on SHA256"""
+ return SHA256.new(SHA256.new(v).digest()).digest()[0:4]
+
+def b58encode_chk(v):
+ """b58encode a string, with 32-bit checksum"""
+ return b58encode(v + checksum(v))
+
+def b58decode_chk(v):
+ """decode a base58 string, check and remove checksum"""
+ result = b58decode(v)
+ if result is None:
+ return None
+ h3 = checksum(result[:-4])
+ if result[-4:] == checksum(result[:-4]):
+ return result[:-4]
+ else:
+ return None
+
+def get_bcaddress_version(strAddress):
+ """ Returns None if strAddress is invalid. Otherwise returns integer version of address. """
+ addr = b58decode_chk(strAddress)
+ if addr is None or len(addr)!=21: return None
+ version = addr[0]
+ return ord(version)
+
+if __name__ == '__main__':
+ # Test case (from http://gitorious.org/bitcoin/python-base58.git)
+ assert get_bcaddress_version('15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC') is 0
+ _ohai = 'o hai'.encode('ascii')
+ _tmp = b58encode(_ohai)
+ assert _tmp == 'DYB3oMS'
+ assert b58decode(_tmp, 5) == _ohai
+ print("Tests passed")
diff --git a/contrib/testgen/gen_base58_test_vectors.py b/contrib/testgen/gen_base58_test_vectors.py
new file mode 100755
index 0000000000..1813436953
--- /dev/null
+++ b/contrib/testgen/gen_base58_test_vectors.py
@@ -0,0 +1,126 @@
+#!/usr/bin/env python
+'''
+Generate valid and invalid base58 address and private key test vectors.
+
+Usage:
+ gen_base58_test_vectors.py valid 50 > ../../src/test/data/base58_keys_valid.json
+ gen_base58_test_vectors.py invalid 50 > ../../src/test/data/base58_keys_invalid.json
+'''
+# 2012 Wladimir J. van der Laan
+# Released under MIT License
+import os
+from itertools import islice
+from base58 import b58encode, b58decode, b58encode_chk, b58decode_chk, b58chars
+import random
+from binascii import b2a_hex
+
+# key types
+PUBKEY_ADDRESS = 0
+SCRIPT_ADDRESS = 5
+PUBKEY_ADDRESS_TEST = 111
+SCRIPT_ADDRESS_TEST = 196
+PRIVKEY = 128
+PRIVKEY_TEST = 239
+
+metadata_keys = ['isPrivkey', 'isTestnet', 'addrType', 'isCompressed']
+# templates for valid sequences
+templates = [
+ # prefix, payload_size, suffix, metadata
+ # None = N/A
+ ((PUBKEY_ADDRESS,), 20, (), (False, False, 'pubkey', None)),
+ ((SCRIPT_ADDRESS,), 20, (), (False, False, 'script', None)),
+ ((PUBKEY_ADDRESS_TEST,), 20, (), (False, True, 'pubkey', None)),
+ ((SCRIPT_ADDRESS_TEST,), 20, (), (False, True, 'script', None)),
+ ((PRIVKEY,), 32, (), (True, False, None, False)),
+ ((PRIVKEY,), 32, (1,), (True, False, None, True)),
+ ((PRIVKEY_TEST,), 32, (), (True, True, None, False)),
+ ((PRIVKEY_TEST,), 32, (1,), (True, True, None, True))
+]
+
+def is_valid(v):
+ '''Check vector v for validity'''
+ result = b58decode_chk(v)
+ if result is None:
+ return False
+ valid = False
+ for template in templates:
+ prefix = str(bytearray(template[0]))
+ suffix = str(bytearray(template[2]))
+ if result.startswith(prefix) and result.endswith(suffix):
+ if (len(result) - len(prefix) - len(suffix)) == template[1]:
+ return True
+ return False
+
+def gen_valid_vectors():
+ '''Generate valid test vectors'''
+ while True:
+ for template in templates:
+ prefix = str(bytearray(template[0]))
+ payload = os.urandom(template[1])
+ suffix = str(bytearray(template[2]))
+ rv = b58encode_chk(prefix + payload + suffix)
+ assert is_valid(rv)
+ metadata = dict([(x,y) for (x,y) in zip(metadata_keys,template[3]) if y is not None])
+ yield (rv, b2a_hex(payload), metadata)
+
+def gen_invalid_vector(template, corrupt_prefix, randomize_payload_size, corrupt_suffix):
+ '''Generate possibly invalid vector'''
+ if corrupt_prefix:
+ prefix = os.urandom(1)
+ else:
+ prefix = str(bytearray(template[0]))
+
+ if randomize_payload_size:
+ payload = os.urandom(max(int(random.expovariate(0.5)), 50))
+ else:
+ payload = os.urandom(template[1])
+
+ if corrupt_suffix:
+ suffix = os.urandom(len(template[2]))
+ else:
+ suffix = str(bytearray(template[2]))
+
+ return b58encode_chk(prefix + payload + suffix)
+
+def randbool(p = 0.5):
+ '''Return True with P(p)'''
+ return random.random() < p
+
+def gen_invalid_vectors():
+ '''Generate invalid test vectors'''
+ # start with some manual edge-cases
+ yield "",
+ yield "x",
+ while True:
+ # kinds of invalid vectors:
+ # invalid prefix
+ # invalid payload length
+ # invalid (randomized) suffix (add random data)
+ # corrupt checksum
+ for template in templates:
+ val = gen_invalid_vector(template, randbool(0.2), randbool(0.2), randbool(0.2))
+ if random.randint(0,10)<1: # line corruption
+ if randbool(): # add random character to end
+ val += random.choice(b58chars)
+ else: # replace random character in the middle
+ n = random.randint(0, len(val))
+ val = val[0:n] + random.choice(b58chars) + val[n+1:]
+ if not is_valid(val):
+ yield val,
+
+if __name__ == '__main__':
+ import sys, json
+ iters = {'valid':gen_valid_vectors, 'invalid':gen_invalid_vectors}
+ try:
+ uiter = iters[sys.argv[1]]
+ except IndexError:
+ uiter = gen_valid_vectors
+ try:
+ count = int(sys.argv[2])
+ except IndexError:
+ count = 0
+
+ data = list(islice(uiter(), count))
+ json.dump(data, sys.stdout, sort_keys=True, indent=4)
+ sys.stdout.write('\n')
+
diff --git a/doc/README b/doc/README
index 3544f9e733..b20da7fb05 100644
--- a/doc/README
+++ b/doc/README
@@ -1,4 +1,4 @@
-Bitcoin 0.6.4 BETA
+Bitcoin 0.7.1 BETA
Copyright (c) 2009-2012 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying
diff --git a/doc/README_windows.txt b/doc/README_windows.txt
index a91d17f2c7..7ec86d7131 100644
--- a/doc/README_windows.txt
+++ b/doc/README_windows.txt
@@ -1,8 +1,8 @@
-Bitcoin 0.6.4 BETA
+Bitcoin 0.7.1 BETA
Copyright (c) 2009-2012 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying
-file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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).
diff --git a/doc/Tor.txt b/doc/Tor.txt
new file mode 100644
index 0000000000..f515f96f49
--- /dev/null
+++ b/doc/Tor.txt
@@ -0,0 +1,92 @@
+TOR SUPPORT IN BITCOIN
+======================
+
+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
+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
+configure Tor.
+
+
+1. Run bitcoin behind a Tor proxy
+---------------------------------
+
+The first step is running Bitcoin behind a Tor proxy. This will already make all
+outgoing connections be anonimized, but more is possible.
+
+-socks=5 SOCKS5 supports connecting-to-hostname, which can be used instead
+ of doing a (leaking) local DNS lookup. SOCKS5 is the default,
+ but SOCKS4 does not support this. (SOCKS4a does, but isn't
+ implemented).
+
+-proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy
+ server will be used to try to reach .onion addresses as well.
+
+-tor=ip:port Set the proxy server to use for tor hidden services. You do not
+ need to set this if it's the same as -proxy. You can use -notor
+ to explicitly disable access to hidden service.
+
+-listen When using -proxy, listening is disabled by default. If you want
+ to run a hidden service (see next section), you'll need to enable
+ it explicitly.
+
+-connect=X When behind a Tor proxy, you can specify .onion addresses instead
+-addnode=X of IP addresses or hostnames in these parameters. It requires
+-seednode=X SOCKS5. In Tor mode, such addresses can also be exchanged with
+ other P2P nodes.
+
+In a typical situation, this suffices to run behind a Tor proxy:
+
+ ./bitcoin -proxy=127.0.0.1:9050
+
+
+2. Run a bitcoin hidden server
+------------------------------
+
+If you configure your Tor system accordingly, it is possible to make your node also
+reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent
+config file):
+
+ HiddenServiceDir /var/lib/tor/bitcoin-service/
+ HiddenServicePort 8333 127.0.0.1:8333
+
+The directory can be different of course, but (both) port numbers should be equal to
+your bitcoind's P2P listen port (8333 by default).
+
+-externalip=X You can tell bitcoin about its publicly reachable address using
+ this option, and this can be a .onion address. Given the above
+ configuration, you can find your onion address in
+ /var/lib/tor/bitcoin-service/hostname. Onion addresses are given
+ preference for your node to advertize itself with, for connections
+ coming from unroutable addresses (such as 127.0.0.1, where the
+ Tor proxy typically runs).
+
+-listen You'll need to enable listening for incoming connections, as this
+ is off by default behind a proxy.
+
+-discover When -externalip is specified, no attempt is made to discover local
+ IPv4 or IPv6 addresses. If you want to run a dual stack, reachable
+ from both Tor and IPv4 (or IPv6), you'll need to either pass your
+ other addresses using -externalip, or explicitly enable -discover.
+ Note that both addresses of a dual-stack system may be easily
+ linkable using traffic analysis.
+
+In a typical situation, where you're only reachable via Tor, this should suffice:
+
+ ./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
+about hiding your node, and want to be reachable on IPv4 as well, additionally
+specify:
+
+ ./bitcoind ... -discover
+
+and open port 8333 on your firewall (or use -upnp).
+
+If you only want to use Tor to reach onion addresses, but not use it as a proxy
+for normal IPv4/IPv6 communication, use:
+
+ ./bitcoin -tor=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
+
diff --git a/doc/assets-attribution.txt b/doc/assets-attribution.txt
index 72487ca351..c66665d012 100644
--- a/doc/assets-attribution.txt
+++ b/doc/assets-attribution.txt
@@ -55,3 +55,7 @@ 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.
diff --git a/doc/build-msw.txt b/doc/build-msw.txt
index d4ae51d3f1..3e64813b38 100644
--- a/doc/build-msw.txt
+++ b/doc/build-msw.txt
@@ -1,6 +1,6 @@
Copyright (c) 2009-2012 Bitcoin Developers
Distributed under the MIT/X11 software license, see the accompanying
-file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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
@@ -24,9 +24,9 @@ Dependencies
Libraries you need to download separately and build:
default path download
-OpenSSL \openssl-1.0.1b-mgw http://www.openssl.org/source/
+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.47.0-mgw http://www.boost.org/users/download/
+Boost \boost-1.50.0-mgw http://www.boost.org/users/download/
miniupnpc \miniupnpc-1.6-mgw http://miniupnp.tuxfamily.org/files/
Their licenses:
@@ -36,9 +36,9 @@ Boost MIT-like license
miniupnpc New (3-clause) BSD license
Versions used in this release:
-OpenSSL 1.0.1b
+OpenSSL 1.0.1c
Berkeley DB 4.8.30.NC
-Boost 1.47.0
+Boost 1.50.0
miniupnpc 1.6
@@ -48,7 +48,7 @@ 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.1b-mgw
+cd /c/openssl-1.0.1c-mgw
./config
make
@@ -63,7 +63,7 @@ Boost
-----
DOS prompt:
downloaded boost jam 3.1.18
-cd \boost-1.47.0-mgw
+cd \boost-1.50.0-mgw
bjam toolset=gcc --build-type=complete stage
MiniUPnPc
diff --git a/doc/build-osx.txt b/doc/build-osx.txt
index 9c4dcb78d5..af16162a59 100644
--- a/doc/build-osx.txt
+++ b/doc/build-osx.txt
@@ -1,10 +1,10 @@
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.
+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
@@ -15,14 +15,14 @@ Douglas Huff <dhuff@jrbobdobbs.org>
See readme-qt.rst for instructions on building Bitcoin-Qt, the
graphical user interface.
-Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian.
+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 I think it comes on the DVD
-but you can get the current version from http://developer.apple.com
+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:
@@ -44,7 +44,7 @@ sudo port install qrencode
4. Now you should be able to build bitcoind:
cd bitcoin/src
-make -f makefile.osx
+make -f makefile.osx USE_IPV6=1
Run:
./bitcoind --help # for a list of command-line options.
diff --git a/doc/build-unix.txt b/doc/build-unix.txt
index b35d61f084..2e0b53cf77 100644
--- a/doc/build-unix.txt
+++ b/doc/build-unix.txt
@@ -28,7 +28,6 @@ Dependencies
libdb4.8 Berkeley DB Blockchain & wallet storage
libboost Boost C++ Library
miniupnpc UPnP Support Optional firewall-jumping support
- libqrencode QRCode generation Optional QRCode generation
miniupnpc may be used for UPnP port mapping. It can be downloaded from
http://miniupnp.tuxfamily.org/files/. UPnP support is compiled in and
@@ -37,11 +36,8 @@ turned off by default. Set USE_UPNP to a different value to control this:
USE_UPNP=0 (the default) UPnP support turned off by default at runtime
USE_UPNP=1 UPnP support turned on by default at runtime
-libqrencode may be used for QRCode image generation. It can be downloaded
-from http://fukuchi.org/works/qrencode/index.html.en, or installed via
-your package manager. Set USE_QRCODE to control this:
- USE_QRCODE=0 (the default) No QRCode support - libqrcode not required
- USE_QRCODE=1 QRCode support enabled
+IPv6 support may be enabled by setting:
+ USE_IPV6=1 Enable IPv6 support
Licenses of statically linked libraries:
Berkeley DB New BSD license with additional requirement that linked
@@ -51,22 +47,34 @@ Licenses of statically linked libraries:
Versions used in this release:
GCC 4.3.3
- OpenSSL 0.9.8g
+ OpenSSL 1.0.1c
Berkeley DB 4.8.30.NC
Boost 1.37
miniupnpc 1.6
Dependency Build Instructions: Ubuntu & Debian
----------------------------------------------
-sudo apt-get install build-essential
-sudo apt-get install libssl-dev
-sudo apt-get install libdb4.8-dev
-sudo apt-get install libdb4.8++-dev
- Boost 1.40+: sudo apt-get install libboost-all-dev
- or Boost 1.37: sudo apt-get install libboost1.37-dev
-sudo apt-get install libqrencode-dev
+Build requirements:
+ sudo apt-get install build-essential
+ sudo apt-get install libssl-dev
-If using Boost 1.37, append -mt to the boost libraries in the makefile.
+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
@@ -80,7 +88,7 @@ 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= BDB_INCLUDE_PATH='/usr/include/db4.8'
+ make -f makefile.unix USE_UPNP= USE_IPV6=1 BDB_INCLUDE_PATH='/usr/include/db4.8'
strip bitcoind
diff --git a/doc/coding.txt b/doc/coding.txt
index b33ddd979a..0813105e73 100644
--- a/doc/coding.txt
+++ b/doc/coding.txt
@@ -22,8 +22,8 @@ bool Function(char* psz, int n)
- 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 lower-case, like nSomeVariable.
-Please don't put the first word of the variable name in lower-case like
+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:
diff --git a/doc/readme-qt.rst b/doc/readme-qt.rst
index 866b147c56..f6adbd8fdd 100644
--- a/doc/readme-qt.rst
+++ b/doc/readme-qt.rst
@@ -23,10 +23,12 @@ then execute the following:
qmake
make
-Alternatively, install Qt Creator and open the `bitcoin-qt.pro` file.
+Alternatively, install `Qt Creator`_ and open the `bitcoin-qt.pro` file.
An executable named `bitcoin-qt` will be built.
+.. _`Qt Creator`: http://qt-project.org/downloads/
+
Windows
--------
diff --git a/doc/release-notes.txt b/doc/release-notes.txt
new file mode 100644
index 0000000000..b7f7dfb402
--- /dev/null
+++ b/doc/release-notes.txt
@@ -0,0 +1,73 @@
+(note: this is a temporary file, to be added-to by anybody, and deleted at
+release time)
+
+Building this from
+
+ $ git shortlog --no-merges v0.7.0..
+
+How to Upgrade
+--------------
+
+If you are running an older version, shut it down. Wait
+until it has completely shut down (which might take a few minutes for older
+versions), then run the installer (on Windows) or just copy over
+/Applications/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
+
+If you were running on Linux with a version that might have been compiled
+with a different version of Berkeley DB (for example, if you were using an
+Ubuntu PPA version), then run the old version again with the -detachdb
+argument and shut it down; if you do not, then the new version will not
+be able to read the database files and will exit with an error.
+
+Explanation of -detachdb (and the new "stop true" RPC command):
+The Berkeley DB database library stores data in both ".dat" and
+"log" files, so the database is always in a consistent state,
+even in case of power failure or other sudden shutdown. The
+format of the ".dat" files is portable between different
+versions of Berkeley DB, but the "log" files are not-- even minor
+version differences may have incompatible "log" files. The
+-detachdb option moves any pending changes from the "log" files
+to the "blkindex.dat" file for maximum compatibility, but makes
+shutdown much slower. Note that the "wallet.dat" file is always
+detached, and versions prior to 0.6.0 detached all databases
+at shutdown.
+
+New features
+------------
+
+* Added a boolean argument to the RPC 'stop' command, if true sets
+ -detachdb to create standalone database .dat files before shutting down.
+
+* -salvagewallet command-line option, which moves any existing wallet.dat
+ to wallet.{timestamp}.dat and then attempts to salvage public/private
+ keys and master encryption keys (if the wallet is encrypted) into
+ a new wallet.dat. This should only be used if your wallet becomes
+ corrupted, and is not intended to replace regular wallet backups.
+
+* Import $DataDir/bootstrap.dat automatically, if it exists.
+
+Dependency changes
+------------------
+
+* Qt 4.8.2 for Windows builds
+
+* openssl 1.0.1c
+
+Bug fixes
+---------
+
+* When running -testnet, use RPC port 18332 by default.
+
+* Better detection and handling of corrupt wallet.dat and blkindex.dat files.
+ Previous versions would crash with a DB_RUNRECOVERY exception, this
+ version detects most problems and tells you how to recover if it
+ cannot recover itself.
+
+* Fixed an uninitialized variable bug that could cause transactions to
+ be reported out of order.
+
+* Fixed a bug that could cause occasional crashes on exit.
+
+* Warn the user that they need to create fresh wallet backups after they
+ encrypt their wallet.
+
diff --git a/doc/release-process.txt b/doc/release-process.txt
index ed23ef3505..075fb01db7 100644
--- a/doc/release-process.txt
+++ b/doc/release-process.txt
@@ -2,7 +2,7 @@
* update (commit) version in sources
bitcoin-qt.pro
- src/version.h
+ src/clientversion.h
share/setup.nsi
doc/README*
@@ -21,23 +21,23 @@
export VERSION=0.5.1
cd ./gitian-builder
- * Fetch and build inputs:
+ * 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.1b.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.47.0/boost_1_47_0.tar.bz2'
- wget 'http://download.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.4.tar.gz'
+ 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.2.tar.gz'
cd ..
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-win32.yml
- cp build/out/boost-win32-1.47.0-gitian.zip inputs/
+ mv build/out/boost-win32-1.50.0-gitian2.zip inputs/
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/qt-win32.yml
- cp build/out/qt-win32-4.7.4-gitian.zip inputs/
+ mv build/out/qt-win32-4.8.2-gitian-r1.zip inputs/
./bin/gbuild ../bitcoin/contrib/gitian-descriptors/deps-win32.yml
- cp build/out/bitcoin-deps-0.0.3.zip inputs/
+ 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
@@ -93,6 +93,7 @@
* 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
diff --git a/doc/translation_process.md b/doc/translation_process.md
index 3ddfc0cbf4..1724e95378 100644
--- a/doc/translation_process.md
+++ b/doc/translation_process.md
@@ -28,32 +28,57 @@ This directory contains all translations. Filenames must adhere to this format:
bitcoin_xx_YY.ts or bitcoin_xx.ts
-#### Source file
+#### bitcoin_en.ts (Source file)
`src/qt/locale/bitcoin_en.ts` is treated in a special way. It is used as the
source for all other translations. Whenever a string in the code is changed
-this file must be updated to reflect those changes. Usually, this can be
-accomplished by running `lupdate` (included in the Qt SDK).
+this file must be updated to reflect those changes. This can be accomplished
+by running `lupdate` (included in the Qt SDK). Also, a custom script is used
+to extract strings from the non-Qt parts. This script makes use of `gettext`,
+so make sure that utility is installed (ie, `apt-get install gettext` on
+Ubuntu/Debian):
+
+ python share/qt/extract_strings_qt.py
+ lupdate bitcoin-qt.pro -no-obsolete -locations relative -ts src/qt/locale/bitcoin_en.ts
+
+##### Handling of plurals in the source file
+
+When new plurals are added to the source file, it's important to do the following steps:
+
+1. Open bitcoin_en.ts in Qt Linguist (also included in the Qt SDK)
+2. Search for `%n`, which will take you to the parts in the translation that use plurals
+3. Look for empty `English Translation (Singular)` and `English Translation (Plural)` fields
+4. Add the appropriate strings for the singular and plural form of the base string
+5. Mark the item as done (via the green arrow symbol in the toolbar)
+6. Repeat from step 2. until all singular and plural forms are in the source file
+7. Save the source file
+
+##### Creating the pull-request
+
+An updated source file should be merged to github and Transifex will pick it
+up from there (can take some hours). Afterwards the new strings show up as "Remaining"
+in Transifex and can be translated.
+
+To create the pull-request you have to do:
-An updated source file should be merged to github and transifex will pick it
-up from there. Afterwards the new strings show up as "Remaining" in transifex
-and can be translated.
+ git add src/qt/bitcoinstrings.cpp src/qt/locale/bitcoin_en.ts
+ git commit
-Syncing with transifex
+Syncing with Transifex
----------------------
-We are using http://transifex.net as a frontend for translating the client.
+We are using https://transifex.com as a frontend for translating the client.
-https://www.transifex.net/projects/p/bitcoin/resource/tx/
+https://www.transifex.com/projects/p/bitcoin/resource/tx/
-The "transifex client" (see: http://help.transifex.net/features/client/)
-will help with fetching new translations from transifex. Use the following
-config to be able to connect with the client.
+The "Transifex client" (see: http://help.transifex.com/features/client/)
+will help with fetching new translations from Transifex. Use the following
+config to be able to connect with the client:
### .tx/config
[main]
- host = https://www.transifex.net
+ host = https://www.transifex.com
[bitcoin.tx]
file_filter = src/qt/locale/bitcoin_<lang>.ts
@@ -63,14 +88,14 @@ config to be able to connect with the client.
### .tx/config (for Windows)
[main]
- host = https://www.transifex.net
+ host = https://www.transifex.com
[bitcoin.tx]
file_filter = src\qt\locale\bitcoin_<lang>.ts
source_file = src\qt\locale\bitcoin_en.ts
source_lang = en
-It is also possible to directly download new translations one by one from transifex.
+It is also possible to directly download new translations one by one from the Transifex website.
### Fetching new translations
diff --git a/share/qt/extract_strings_qt.py b/share/qt/extract_strings_qt.py
index 771f28ab0a..1267b1856a 100755
--- a/share/qt/extract_strings_qt.py
+++ b/share/qt/extract_strings_qt.py
@@ -5,6 +5,7 @@ they can be picked up by Qt linguist.
'''
from subprocess import Popen, PIPE
import glob
+import operator
OUT_CPP="src/qt/bitcoinstrings.cpp"
EMPTY=['""']
@@ -62,7 +63,8 @@ f.write("""#include <QtGlobal>
#define UNUSED
#endif
""")
-f.write('static const char UNUSED *bitcoin_strings[] = {')
+f.write('static const char UNUSED *bitcoin_strings[] = {\n')
+messages.sort(key=operator.itemgetter(0))
for (msgid, msgstr) in messages:
if msgid != EMPTY:
f.write('QT_TRANSLATE_NOOP("bitcoin-core", %s),\n' % ('\n'.join(msgid)))
diff --git a/share/setup.nsi b/share/setup.nsi
index f38a18104f..fd7451ea76 100644
--- a/share/setup.nsi
+++ b/share/setup.nsi
@@ -5,7 +5,7 @@ SetCompressor /SOLID lzma
# General Symbol Definitions
!define REGKEY "SOFTWARE\$(^Name)"
-!define VERSION 0.6.4
+!define VERSION 0.7.1
!define COMPANY "Bitcoin project"
!define URL http://www.bitcoin.org/
@@ -45,13 +45,13 @@ Var StartMenuGroup
!insertmacro MUI_LANGUAGE English
# Installer attributes
-OutFile bitcoin-0.6.4-win32-setup.exe
+OutFile bitcoin-0.7.1-win32-setup.exe
InstallDir $PROGRAMFILES\Bitcoin
CRCCheck on
XPStyle on
BrandingText " "
ShowInstDetails show
-VIProductVersion 0.6.4.0
+VIProductVersion 0.7.1.0
VIAddVersionKey ProductName Bitcoin
VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey CompanyName "${COMPANY}"
@@ -67,7 +67,7 @@ Section -Main SEC0000
SetOutPath $INSTDIR
SetOverwrite on
File ../release/bitcoin-qt.exe
- File /oname=license.txt ../COPYING
+ File /oname=COPYING.txt ../COPYING
File /oname=readme.txt ../doc/README_windows.txt
SetOutPath $INSTDIR\daemon
File ../src/bitcoind.exe
@@ -98,12 +98,10 @@ Section -post SEC0001
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1
-
- # bitcoin: URI handling disabled for 0.6.0
- # WriteRegStr HKCR "bitcoin" "URL Protocol" ""
- # WriteRegStr HKCR "bitcoin" "" "URL:Bitcoin"
- # WriteRegStr HKCR "bitcoin\DefaultIcon" "" $INSTDIR\bitcoin-qt.exe
- # WriteRegStr HKCR "bitcoin\shell\open\command" "" '"$INSTDIR\bitcoin-qt.exe" "%1"'
+ WriteRegStr HKCR "bitcoin" "URL Protocol" ""
+ WriteRegStr HKCR "bitcoin" "" "URL:Bitcoin"
+ WriteRegStr HKCR "bitcoin\DefaultIcon" "" $INSTDIR\bitcoin-qt.exe
+ WriteRegStr HKCR "bitcoin\shell\open\command" "" '"$INSTDIR\bitcoin-qt.exe" "%1"'
SectionEnd
# Macro for selecting uninstaller sections
@@ -122,7 +120,7 @@ done${UNSECTION_ID}:
# Uninstaller sections
Section /o -un.Main UNSEC0000
Delete /REBOOTOK $INSTDIR\bitcoin-qt.exe
- Delete /REBOOTOK $INSTDIR\license.txt
+ Delete /REBOOTOK $INSTDIR\COPYING.txt
Delete /REBOOTOK $INSTDIR\readme.txt
RMDir /r /REBOOTOK $INSTDIR\daemon
RMDir /r /REBOOTOK $INSTDIR\src
diff --git a/src/addrman.cpp b/src/addrman.cpp
index 8257a46a15..4428cd169a 100644
--- a/src/addrman.cpp
+++ b/src/addrman.cpp
@@ -102,12 +102,11 @@ CAddrInfo* CAddrMan::Create(const CAddress &addr, const CNetAddr &addrSource, in
return &mapInfo[nId];
}
-void CAddrMan::SwapRandom(int nRndPos1, int nRndPos2)
+void CAddrMan::SwapRandom(unsigned int nRndPos1, unsigned int nRndPos2)
{
if (nRndPos1 == nRndPos2)
return;
- assert(nRndPos1 >= 0 && nRndPos2 >= 0);
assert(nRndPos1 < vRandom.size() && nRndPos2 < vRandom.size());
int nId1 = vRandom[nRndPos1];
@@ -149,7 +148,7 @@ int CAddrMan::SelectTried(int nKBucket)
int CAddrMan::ShrinkNew(int nUBucket)
{
- assert(nUBucket >= 0 && nUBucket < vvNew.size());
+ assert(nUBucket >= 0 && (unsigned int)nUBucket < vvNew.size());
std::set<int> &vNew = vvNew[nUBucket];
// first look for deletable items
@@ -188,7 +187,7 @@ int CAddrMan::ShrinkNew(int nUBucket)
}
assert(mapInfo.count(nOldest) == 1);
CAddrInfo &info = mapInfo[nOldest];
- if (--info.nRefCount == 0)
+ if (--info.nRefCount == 0)
{
SwapRandom(info.nRandomPos, vRandom.size()-1);
vRandom.pop_back();
@@ -242,7 +241,7 @@ void CAddrMan::MakeTried(CAddrInfo& info, int nId, int nOrigin)
infoOld.nRefCount = 1;
// do not update nTried, as we are going to move something else there immediately
- // check whether there is place in that one,
+ // check whether there is place in that one,
if (vNew.size() < ADDRMAN_NEW_BUCKET_SIZE)
{
// if so, move it back there
@@ -411,7 +410,7 @@ CAddress CAddrMan::Select_(int nUnkBias)
fChanceFactor *= 1.2;
}
} else {
- // use an new node
+ // use a new node
double fChanceFactor = 1.0;
while(1)
{
diff --git a/src/addrman.h b/src/addrman.h
index 526c838025..7af6afd78f 100644
--- a/src/addrman.h
+++ b/src/addrman.h
@@ -7,6 +7,7 @@
#include "netbase.h"
#include "protocol.h"
#include "util.h"
+#include "sync.h"
#include <map>
@@ -204,7 +205,7 @@ protected:
CAddrInfo* Create(const CAddress &addr, const CNetAddr &addrSource, int *pnId = NULL);
// Swap two elements in vRandom.
- void SwapRandom(int nRandomPos1, int nRandomPos2);
+ void SwapRandom(unsigned int nRandomPos1, unsigned int nRandomPos2);
// Return position in given bucket to replace.
int SelectTried(int nKBucket);
@@ -213,7 +214,7 @@ protected:
// This is the only place where actual deletes occur.
// They are never deleted while in the "tried" table, only possibly evicted back to the "new" table.
int ShrinkNew(int nUBucket);
-
+
// Move an entry from the "new" table(s) to the "tried" table
// @pre vvUnkown[nOrigin].count(nId) != 0
void MakeTried(CAddrInfo& info, int nId, int nOrigin);
diff --git a/src/alert.cpp b/src/alert.cpp
new file mode 100644
index 0000000000..48920629e2
--- /dev/null
+++ b/src/alert.cpp
@@ -0,0 +1,239 @@
+//
+// Alert system
+//
+
+#include <boost/foreach.hpp>
+#include <map>
+
+#include "alert.h"
+#include "key.h"
+#include "net.h"
+#include "sync.h"
+#include "ui_interface.h"
+
+using namespace std;
+
+map<uint256, CAlert> mapAlerts;
+CCriticalSection cs_mapAlerts;
+
+static const char* pszMainKey = "04fc9702847840aaf195de8442ebecedf5b095cdbb9bc716bda9110971b28a49e0ead8564ff0db22209e0374782c093bb899692d524e9d6a6956e7c5ecbcd68284";
+static const char* pszTestKey = "04302390343f91cc401d56d68b123028bf52e5fca1939df127f63c6467cdf9c8e2c14b61104cf817d0b780da337893ecc4aaff1309e536162dabbdb45200ca2b0a";
+
+void CUnsignedAlert::SetNull()
+{
+ nVersion = 1;
+ nRelayUntil = 0;
+ nExpiration = 0;
+ nID = 0;
+ nCancel = 0;
+ setCancel.clear();
+ nMinVer = 0;
+ nMaxVer = 0;
+ setSubVer.clear();
+ nPriority = 0;
+
+ strComment.clear();
+ strStatusBar.clear();
+ strReserved.clear();
+}
+
+std::string CUnsignedAlert::ToString() const
+{
+ std::string strSetCancel;
+ BOOST_FOREACH(int n, setCancel)
+ strSetCancel += strprintf("%d ", n);
+ std::string strSetSubVer;
+ BOOST_FOREACH(std::string str, setSubVer)
+ strSetSubVer += "\"" + str + "\" ";
+ return strprintf(
+ "CAlert(\n"
+ " nVersion = %d\n"
+ " nRelayUntil = %"PRI64d"\n"
+ " nExpiration = %"PRI64d"\n"
+ " nID = %d\n"
+ " nCancel = %d\n"
+ " setCancel = %s\n"
+ " nMinVer = %d\n"
+ " nMaxVer = %d\n"
+ " setSubVer = %s\n"
+ " nPriority = %d\n"
+ " strComment = \"%s\"\n"
+ " strStatusBar = \"%s\"\n"
+ ")\n",
+ nVersion,
+ nRelayUntil,
+ nExpiration,
+ nID,
+ nCancel,
+ strSetCancel.c_str(),
+ nMinVer,
+ nMaxVer,
+ strSetSubVer.c_str(),
+ nPriority,
+ strComment.c_str(),
+ strStatusBar.c_str());
+}
+
+void CUnsignedAlert::print() const
+{
+ printf("%s", ToString().c_str());
+}
+
+void CAlert::SetNull()
+{
+ CUnsignedAlert::SetNull();
+ vchMsg.clear();
+ vchSig.clear();
+}
+
+bool CAlert::IsNull() const
+{
+ return (nExpiration == 0);
+}
+
+uint256 CAlert::GetHash() const
+{
+ return Hash(this->vchMsg.begin(), this->vchMsg.end());
+}
+
+bool CAlert::IsInEffect() const
+{
+ return (GetAdjustedTime() < nExpiration);
+}
+
+bool CAlert::Cancels(const CAlert& alert) const
+{
+ if (!IsInEffect())
+ return false; // this was a no-op before 31403
+ return (alert.nID <= nCancel || setCancel.count(alert.nID));
+}
+
+bool CAlert::AppliesTo(int nVersion, std::string strSubVerIn) const
+{
+ // TODO: rework for client-version-embedded-in-strSubVer ?
+ return (IsInEffect() &&
+ nMinVer <= nVersion && nVersion <= nMaxVer &&
+ (setSubVer.empty() || setSubVer.count(strSubVerIn)));
+}
+
+bool CAlert::AppliesToMe() const
+{
+ return AppliesTo(PROTOCOL_VERSION, FormatSubVersion(CLIENT_NAME, CLIENT_VERSION, std::vector<std::string>()));
+}
+
+bool CAlert::RelayTo(CNode* pnode) const
+{
+ if (!IsInEffect())
+ return false;
+ // returns true if wasn't already contained in the set
+ if (pnode->setKnown.insert(GetHash()).second)
+ {
+ if (AppliesTo(pnode->nVersion, pnode->strSubVer) ||
+ AppliesToMe() ||
+ GetAdjustedTime() < nRelayUntil)
+ {
+ pnode->PushMessage("alert", *this);
+ return true;
+ }
+ }
+ return false;
+}
+
+bool CAlert::CheckSignature() const
+{
+ CKey key;
+ if (!key.SetPubKey(ParseHex(fTestNet ? pszTestKey : pszMainKey)))
+ return error("CAlert::CheckSignature() : SetPubKey failed");
+ if (!key.Verify(Hash(vchMsg.begin(), vchMsg.end()), vchSig))
+ return error("CAlert::CheckSignature() : verify signature failed");
+
+ // Now unserialize the data
+ CDataStream sMsg(vchMsg, SER_NETWORK, PROTOCOL_VERSION);
+ sMsg >> *(CUnsignedAlert*)this;
+ return true;
+}
+
+CAlert CAlert::getAlertByHash(const uint256 &hash)
+{
+ CAlert retval;
+ {
+ LOCK(cs_mapAlerts);
+ map<uint256, CAlert>::iterator mi = mapAlerts.find(hash);
+ if(mi != mapAlerts.end())
+ retval = mi->second;
+ }
+ return retval;
+}
+
+bool CAlert::ProcessAlert()
+{
+ if (!CheckSignature())
+ return false;
+ if (!IsInEffect())
+ return false;
+
+ // alert.nID=max is reserved for if the alert key is
+ // compromised. It must have a pre-defined message,
+ // must never expire, must apply to all versions,
+ // and must cancel all previous
+ // alerts or it will be ignored (so an attacker can't
+ // send an "everything is OK, don't panic" version that
+ // cannot be overridden):
+ int maxInt = std::numeric_limits<int>::max();
+ if (nID == maxInt)
+ {
+ if (!(
+ nExpiration == maxInt &&
+ nCancel == (maxInt-1) &&
+ nMinVer == 0 &&
+ nMaxVer == maxInt &&
+ setSubVer.empty() &&
+ nPriority == maxInt &&
+ strStatusBar == "URGENT: Alert key compromised, upgrade required"
+ ))
+ return false;
+ }
+
+ {
+ LOCK(cs_mapAlerts);
+ // Cancel previous alerts
+ for (map<uint256, CAlert>::iterator mi = mapAlerts.begin(); mi != mapAlerts.end();)
+ {
+ const CAlert& alert = (*mi).second;
+ if (Cancels(alert))
+ {
+ printf("cancelling alert %d\n", alert.nID);
+ uiInterface.NotifyAlertChanged((*mi).first, CT_DELETED);
+ mapAlerts.erase(mi++);
+ }
+ else if (!alert.IsInEffect())
+ {
+ printf("expiring alert %d\n", alert.nID);
+ uiInterface.NotifyAlertChanged((*mi).first, CT_DELETED);
+ mapAlerts.erase(mi++);
+ }
+ else
+ mi++;
+ }
+
+ // Check if this alert has been cancelled
+ BOOST_FOREACH(PAIRTYPE(const uint256, CAlert)& item, mapAlerts)
+ {
+ const CAlert& alert = item.second;
+ if (alert.Cancels(*this))
+ {
+ printf("alert already cancelled by %d\n", alert.nID);
+ return false;
+ }
+ }
+
+ // Add to mapAlerts
+ mapAlerts.insert(make_pair(GetHash(), *this));
+ // Notify UI if it applies to me
+ if(AppliesToMe())
+ uiInterface.NotifyAlertChanged(GetHash(), CT_NEW);
+ }
+
+ printf("accepted alert %d, AppliesToMe()=%d\n", nID, AppliesToMe());
+ return true;
+}
diff --git a/src/alert.h b/src/alert.h
new file mode 100644
index 0000000000..7949c76972
--- /dev/null
+++ b/src/alert.h
@@ -0,0 +1,102 @@
+// Copyright (c) 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 _BITCOINALERT_H_
+#define _BITCOINALERT_H_ 1
+
+#include <set>
+#include <string>
+
+#include "uint256.h"
+#include "util.h"
+
+class CNode;
+
+/** Alerts are for notifying old versions if they become too obsolete and
+ * need to upgrade. The message is displayed in the status bar.
+ * Alert messages are broadcast as a vector of signed data. Unserializing may
+ * not read the entire buffer if the alert is for a newer version, but older
+ * versions can still relay the original data.
+ */
+class CUnsignedAlert
+{
+public:
+ int nVersion;
+ int64 nRelayUntil; // when newer nodes stop relaying to newer nodes
+ int64 nExpiration;
+ int nID;
+ int nCancel;
+ std::set<int> setCancel;
+ int nMinVer; // lowest version inclusive
+ int nMaxVer; // highest version inclusive
+ std::set<std::string> setSubVer; // empty matches all
+ int nPriority;
+
+ // Actions
+ std::string strComment;
+ std::string strStatusBar;
+ std::string strReserved;
+
+ IMPLEMENT_SERIALIZE
+ (
+ READWRITE(this->nVersion);
+ nVersion = this->nVersion;
+ READWRITE(nRelayUntil);
+ READWRITE(nExpiration);
+ READWRITE(nID);
+ READWRITE(nCancel);
+ READWRITE(setCancel);
+ READWRITE(nMinVer);
+ READWRITE(nMaxVer);
+ READWRITE(setSubVer);
+ READWRITE(nPriority);
+
+ READWRITE(strComment);
+ READWRITE(strStatusBar);
+ READWRITE(strReserved);
+ )
+
+ void SetNull();
+
+ std::string ToString() const;
+ void print() const;
+};
+
+/** An alert is a combination of a serialized CUnsignedAlert and a signature. */
+class CAlert : public CUnsignedAlert
+{
+public:
+ std::vector<unsigned char> vchMsg;
+ std::vector<unsigned char> vchSig;
+
+ CAlert()
+ {
+ SetNull();
+ }
+
+ IMPLEMENT_SERIALIZE
+ (
+ READWRITE(vchMsg);
+ READWRITE(vchSig);
+ )
+
+ void SetNull();
+ bool IsNull() const;
+ uint256 GetHash() const;
+ bool IsInEffect() const;
+ bool Cancels(const CAlert& alert) const;
+ bool AppliesTo(int nVersion, std::string strSubVerIn) const;
+ bool AppliesToMe() const;
+ bool RelayTo(CNode* pnode) const;
+ bool CheckSignature() const;
+ bool ProcessAlert();
+
+ /*
+ * Get copy of (active) alert object by hash. Returns a null alert if it is not found.
+ */
+ static CAlert getAlertByHash(const uint256 &hash);
+};
+
+#endif
diff --git a/src/allocators.h b/src/allocators.h
index ddeabc48c5..99afa10c25 100644
--- a/src/allocators.h
+++ b/src/allocators.h
@@ -7,6 +7,8 @@
#include <string.h>
#include <string>
+#include <boost/thread/mutex.hpp>
+#include <map>
#ifdef WIN32
#ifdef _WIN32_WINNT
@@ -22,23 +24,156 @@
// Note that VirtualLock does not provide this as a guarantee on Windows,
// but, in practice, memory that has been VirtualLock'd almost never gets written to
// the pagefile except in rare circumstances where memory is extremely low.
-#define mlock(p, n) VirtualLock((p), (n));
-#define munlock(p, n) VirtualUnlock((p), (n));
#else
#include <sys/mman.h>
-#include <limits.h>
-/* This comes from limits.h if it's not defined there set a sane default */
-#ifndef PAGESIZE
-#include <unistd.h>
-#define PAGESIZE sysconf(_SC_PAGESIZE)
+#include <limits.h> // for PAGESIZE
+#include <unistd.h> // for sysconf
#endif
-#define mlock(a,b) \
- mlock(((void *)(((size_t)(a)) & (~((PAGESIZE)-1)))),\
- (((((size_t)(a)) + (b) - 1) | ((PAGESIZE) - 1)) + 1) - (((size_t)(a)) & (~((PAGESIZE) - 1))))
-#define munlock(a,b) \
- munlock(((void *)(((size_t)(a)) & (~((PAGESIZE)-1)))),\
- (((((size_t)(a)) + (b) - 1) | ((PAGESIZE) - 1)) + 1) - (((size_t)(a)) & (~((PAGESIZE) - 1))))
+
+/**
+ * Thread-safe class to keep track of locked (ie, non-swappable) memory pages.
+ *
+ * Memory locks do not stack, that is, pages which have been locked several times by calls to mlock()
+ * will be unlocked by a single call to munlock(). This can result in keying material ending up in swap when
+ * those functions are used naively. This class simulates stacking memory locks by keeping a counter per page.
+ *
+ * @note By using a map from each page base address to lock count, this class is optimized for
+ * small objects that span up to a few pages, mostly smaller than a page. To support large allocations,
+ * something like an interval tree would be the preferred data structure.
+ */
+template <class Locker> class LockedPageManagerBase
+{
+public:
+ LockedPageManagerBase(size_t page_size):
+ page_size(page_size)
+ {
+ // Determine bitmask for extracting page from address
+ assert(!(page_size & (page_size-1))); // size must be power of two
+ page_mask = ~(page_size - 1);
+ }
+
+ // For all pages in affected range, increase lock count
+ void LockRange(void *p, size_t size)
+ {
+ boost::mutex::scoped_lock lock(mutex);
+ if(!size) return;
+ const size_t base_addr = reinterpret_cast<size_t>(p);
+ const size_t start_page = base_addr & page_mask;
+ const size_t end_page = (base_addr + size - 1) & page_mask;
+ for(size_t page = start_page; page <= end_page; page += page_size)
+ {
+ Histogram::iterator it = histogram.find(page);
+ if(it == histogram.end()) // Newly locked page
+ {
+ locker.Lock(reinterpret_cast<void*>(page), page_size);
+ histogram.insert(std::make_pair(page, 1));
+ }
+ else // Page was already locked; increase counter
+ {
+ it->second += 1;
+ }
+ }
+ }
+
+ // For all pages in affected range, decrease lock count
+ void UnlockRange(void *p, size_t size)
+ {
+ boost::mutex::scoped_lock lock(mutex);
+ if(!size) return;
+ const size_t base_addr = reinterpret_cast<size_t>(p);
+ const size_t start_page = base_addr & page_mask;
+ const size_t end_page = (base_addr + size - 1) & page_mask;
+ for(size_t page = start_page; page <= end_page; page += page_size)
+ {
+ Histogram::iterator it = histogram.find(page);
+ assert(it != histogram.end()); // Cannot unlock an area that was not locked
+ // Decrease counter for page, when it is zero, the page will be unlocked
+ it->second -= 1;
+ if(it->second == 0) // Nothing on the page anymore that keeps it locked
+ {
+ // Unlock page and remove the count from histogram
+ locker.Unlock(reinterpret_cast<void*>(page), page_size);
+ histogram.erase(it);
+ }
+ }
+ }
+
+ // Get number of locked pages for diagnostics
+ int GetLockedPageCount()
+ {
+ boost::mutex::scoped_lock lock(mutex);
+ return histogram.size();
+ }
+
+private:
+ Locker locker;
+ boost::mutex mutex;
+ size_t page_size, page_mask;
+ // map of page base address to lock count
+ typedef std::map<size_t,int> Histogram;
+ Histogram histogram;
+};
+
+/** Determine system page size in bytes */
+static inline size_t GetSystemPageSize()
+{
+ size_t page_size;
+#if defined(WIN32)
+ SYSTEM_INFO sSysInfo;
+ GetSystemInfo(&sSysInfo);
+ page_size = sSysInfo.dwPageSize;
+#elif defined(PAGESIZE) // defined in limits.h
+ page_size = PAGESIZE;
+#else // assume some POSIX OS
+ page_size = sysconf(_SC_PAGESIZE);
+#endif
+ return page_size;
+}
+
+/**
+ * OS-dependent memory page locking/unlocking.
+ * Defined as policy class to make stubbing for test possible.
+ */
+class MemoryPageLocker
+{
+public:
+ /** Lock memory pages.
+ * addr and len must be a multiple of the system page size
+ */
+ bool Lock(const void *addr, size_t len)
+ {
+#ifdef WIN32
+ return VirtualLock(const_cast<void*>(addr), len);
+#else
+ return mlock(addr, len) == 0;
+#endif
+ }
+ /** Unlock memory pages.
+ * addr and len must be a multiple of the system page size
+ */
+ bool Unlock(const void *addr, size_t len)
+ {
+#ifdef WIN32
+ return VirtualUnlock(const_cast<void*>(addr), len);
+#else
+ return munlock(addr, len) == 0;
#endif
+ }
+};
+
+/**
+ * Singleton class to keep track of locked (ie, non-swappable) memory pages, for use in
+ * std::allocator templates.
+ */
+class LockedPageManager: public LockedPageManagerBase<MemoryPageLocker>
+{
+public:
+ static LockedPageManager instance; // instantiated in util.cpp
+private:
+ LockedPageManager():
+ LockedPageManagerBase<MemoryPageLocker>(GetSystemPageSize())
+ {}
+};
//
// Allocator that locks its contents from being paged
@@ -69,7 +204,7 @@ struct secure_allocator : public std::allocator<T>
T *p;
p = std::allocator<T>::allocate(n, hint);
if (p != NULL)
- mlock(p, sizeof(T) * n);
+ LockedPageManager::instance.LockRange(p, sizeof(T) * n);
return p;
}
@@ -78,7 +213,7 @@ struct secure_allocator : public std::allocator<T>
if (p != NULL)
{
memset(p, 0, sizeof(T) * n);
- munlock(p, sizeof(T) * n);
+ LockedPageManager::instance.UnlockRange(p, sizeof(T) * n);
}
std::allocator<T>::deallocate(p, n);
}
diff --git a/src/base58.h b/src/base58.h
index ff0dad791c..309d35f5d9 100644
--- a/src/base58.h
+++ b/src/base58.h
@@ -21,6 +21,7 @@
#include "bignum.h"
#include "key.h"
+#include "script.h"
static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
@@ -254,12 +255,24 @@ public:
bool operator> (const CBase58Data& b58) const { return CompareTo(b58) > 0; }
};
-/** base58-encoded bitcoin addresses.
+/** base58-encoded Bitcoin addresses.
* Public-key-hash-addresses have version 0 (or 111 testnet).
* The data vector contains RIPEMD160(SHA256(pubkey)), where pubkey is the serialized public key.
* Script-hash-addresses have version 5 (or 196 testnet).
* The data vector contains RIPEMD160(SHA256(cscript)), where cscript is the serialized redemption script.
*/
+class CBitcoinAddress;
+class CBitcoinAddressVisitor : public boost::static_visitor<bool>
+{
+private:
+ CBitcoinAddress *addr;
+public:
+ CBitcoinAddressVisitor(CBitcoinAddress *addrIn) : addr(addrIn) { }
+ bool operator()(const CKeyID &id) const;
+ bool operator()(const CScriptID &id) const;
+ bool operator()(const CNoDestination &no) const;
+};
+
class CBitcoinAddress : public CBase58Data
{
public:
@@ -271,21 +284,19 @@ public:
SCRIPT_ADDRESS_TEST = 196,
};
- bool SetHash160(const uint160& hash160)
- {
- SetData(fTestNet ? PUBKEY_ADDRESS_TEST : PUBKEY_ADDRESS, &hash160, 20);
+ bool Set(const CKeyID &id) {
+ SetData(fTestNet ? PUBKEY_ADDRESS_TEST : PUBKEY_ADDRESS, &id, 20);
return true;
}
- void SetPubKey(const std::vector<unsigned char>& vchPubKey)
- {
- SetHash160(Hash160(vchPubKey));
+ bool Set(const CScriptID &id) {
+ SetData(fTestNet ? SCRIPT_ADDRESS_TEST : SCRIPT_ADDRESS, &id, 20);
+ return true;
}
- bool SetScriptHash160(const uint160& hash160)
+ bool Set(const CTxDestination &dest)
{
- SetData(fTestNet ? SCRIPT_ADDRESS_TEST : SCRIPT_ADDRESS, &hash160, 20);
- return true;
+ return boost::apply_visitor(CBitcoinAddressVisitor(this), dest);
}
bool IsValid() const
@@ -317,27 +328,14 @@ public:
}
return fExpectTestNet == fTestNet && vchData.size() == nExpectedSize;
}
- bool IsScript() const
- {
- if (!IsValid())
- return false;
- if (fTestNet)
- return nVersion == SCRIPT_ADDRESS_TEST;
- return nVersion == SCRIPT_ADDRESS;
- }
CBitcoinAddress()
{
}
- CBitcoinAddress(uint160 hash160In)
- {
- SetHash160(hash160In);
- }
-
- CBitcoinAddress(const std::vector<unsigned char>& vchPubKey)
+ CBitcoinAddress(const CTxDestination &dest)
{
- SetPubKey(vchPubKey);
+ Set(dest);
}
CBitcoinAddress(const std::string& strAddress)
@@ -350,21 +348,64 @@ public:
SetString(pszAddress);
}
- uint160 GetHash160() const
- {
- assert(vchData.size() == 20);
- uint160 hash160;
- memcpy(&hash160, &vchData[0], 20);
- return hash160;
+ CTxDestination Get() const {
+ if (!IsValid())
+ return CNoDestination();
+ switch (nVersion) {
+ case PUBKEY_ADDRESS:
+ case PUBKEY_ADDRESS_TEST: {
+ uint160 id;
+ memcpy(&id, &vchData[0], 20);
+ return CKeyID(id);
+ }
+ case SCRIPT_ADDRESS:
+ case SCRIPT_ADDRESS_TEST: {
+ uint160 id;
+ memcpy(&id, &vchData[0], 20);
+ return CScriptID(id);
+ }
+ }
+ return CNoDestination();
+ }
+
+ bool GetKeyID(CKeyID &keyID) const {
+ if (!IsValid())
+ return false;
+ switch (nVersion) {
+ case PUBKEY_ADDRESS:
+ case PUBKEY_ADDRESS_TEST: {
+ uint160 id;
+ memcpy(&id, &vchData[0], 20);
+ keyID = CKeyID(id);
+ return true;
+ }
+ default: return false;
+ }
+ }
+
+ bool IsScript() const {
+ if (!IsValid())
+ return false;
+ switch (nVersion) {
+ case SCRIPT_ADDRESS:
+ case SCRIPT_ADDRESS_TEST: {
+ return true;
+ }
+ default: return false;
+ }
}
};
+bool inline CBitcoinAddressVisitor::operator()(const CKeyID &id) const { return addr->Set(id); }
+bool inline CBitcoinAddressVisitor::operator()(const CScriptID &id) const { return addr->Set(id); }
+bool inline CBitcoinAddressVisitor::operator()(const CNoDestination &id) const { return false; }
+
/** A base58-encoded secret key */
class CBitcoinSecret : public CBase58Data
{
public:
void SetSecret(const CSecret& vchSecret, bool fCompressed)
- {
+ {
assert(vchSecret.size() == 32);
SetData(fTestNet ? 239 : 128, &vchSecret[0], vchSecret.size());
if (fCompressed)
diff --git a/src/bignum.h b/src/bignum.h
index 9fea3f70fb..96b1b2e6ae 100644
--- a/src/bignum.h
+++ b/src/bignum.h
@@ -305,7 +305,7 @@ public:
psz++;
// hex string to bignum
- static signed char phexdigit[256] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0, 0,0xa,0xb,0xc,0xd,0xe,0xf,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0xa,0xb,0xc,0xd,0xe,0xf,0,0,0,0,0,0,0,0,0 };
+ static const signed char phexdigit[256] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0, 0,0xa,0xb,0xc,0xd,0xe,0xf,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0xa,0xb,0xc,0xd,0xe,0xf,0,0,0,0,0,0,0,0,0 };
*this = 0;
while (isxdigit(*psz))
{
diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp
index d737657928..829c8ee2d7 100644
--- a/src/bitcoinrpc.cpp
+++ b/src/bitcoinrpc.cpp
@@ -3,31 +3,30 @@
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#include "main.h"
-#include "wallet.h"
-#include "db.h"
-#include "walletdb.h"
-#include "net.h"
#include "init.h"
+#include "util.h"
+#include "sync.h"
#include "ui_interface.h"
+#include "base58.h"
#include "bitcoinrpc.h"
+#include "db.h"
#undef printf
#include <boost/asio.hpp>
+#include <boost/asio/ip/v6_only.hpp>
+#include <boost/bind.hpp>
#include <boost/filesystem.hpp>
+#include <boost/foreach.hpp>
#include <boost/iostreams/concepts.hpp>
#include <boost/iostreams/stream.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/lexical_cast.hpp>
-#include <boost/asio/ssl.hpp>
+#include <boost/asio/ssl.hpp>
#include <boost/filesystem/fstream.hpp>
-typedef boost::asio::ssl::stream<boost::asio::ip::tcp::socket> SSLStream;
+#include <boost/shared_ptr.hpp>
+#include <list>
#define printf OutputDebugStringF
-// MinGW 3.4.5 gets "fatal error: had to relocate PCH" if the json headers are
-// precompiled in headers.h. The problem might be when the pch file goes over
-// a certain size around 145MB. If we need access to json_spirit outside this
-// file, we could use the compiled json_spirit option.
using namespace std;
using namespace boost;
@@ -38,11 +37,14 @@ void ThreadRPCServer2(void* parg);
static std::string strRPCUserColonPass;
-static int64 nWalletUnlockTime;
-static CCriticalSection cs_nWalletUnlockTime;
+const Object emptyobj;
-extern Value dumpprivkey(const Array& params, bool fHelp);
-extern Value importprivkey(const Array& params, bool fHelp);
+void ThreadRPCServer3(void* parg);
+
+static inline unsigned short GetDefaultRPCPort()
+{
+ return GetBoolArg("-testnet", false) ? 18332 : 8332;
+}
Object JSONRPCError(int code, const string& message)
{
@@ -52,46 +54,54 @@ Object JSONRPCError(int code, const string& message)
return error;
}
-double GetDifficulty(const CBlockIndex* blockindex = NULL)
+void RPCTypeCheck(const Array& params,
+ const list<Value_type>& typesExpected,
+ bool fAllowNull)
{
- // Floating point number that is a multiple of the minimum difficulty,
- // minimum difficulty = 1.0.
- if (blockindex == NULL)
+ unsigned int i = 0;
+ BOOST_FOREACH(Value_type t, typesExpected)
{
- if (pindexBest == NULL)
- return 1.0;
- else
- blockindex = pindexBest;
- }
-
- int nShift = (blockindex->nBits >> 24) & 0xff;
-
- double dDiff =
- (double)0x0000ffff / (double)(blockindex->nBits & 0x00ffffff);
+ if (params.size() <= i)
+ break;
- while (nShift < 29)
- {
- dDiff *= 256.0;
- nShift++;
+ const Value& v = params[i];
+ if (!((v.type() == t) || (fAllowNull && (v.type() == null_type))))
+ {
+ string err = strprintf("Expected type %s, got %s",
+ Value_type_name[t], Value_type_name[v.type()]);
+ throw JSONRPCError(RPC_TYPE_ERROR, err);
+ }
+ i++;
}
- while (nShift > 29)
+}
+
+void RPCTypeCheck(const Object& o,
+ const map<string, Value_type>& typesExpected,
+ bool fAllowNull)
+{
+ BOOST_FOREACH(const PAIRTYPE(string, Value_type)& t, typesExpected)
{
- dDiff /= 256.0;
- nShift--;
- }
+ const Value& v = find_value(o, t.first);
+ if (!fAllowNull && v.type() == null_type)
+ throw JSONRPCError(RPC_TYPE_ERROR, strprintf("Missing %s", t.first.c_str()));
- return dDiff;
+ if (!((v.type() == t.second) || (fAllowNull && (v.type() == null_type))))
+ {
+ string err = strprintf("Expected type %s for %s, got %s",
+ Value_type_name[t.second], t.first.c_str(), Value_type_name[v.type()]);
+ throw JSONRPCError(RPC_TYPE_ERROR, err);
+ }
+ }
}
-
int64 AmountFromValue(const Value& value)
{
double dAmount = value.get_real();
if (dAmount <= 0.0 || dAmount > 21000000.0)
- throw JSONRPCError(-3, "Invalid amount");
+ throw JSONRPCError(RPC_TYPE_ERROR, "Invalid amount");
int64 nAmount = roundint64(dAmount * COIN);
if (!MoneyRange(nAmount))
- throw JSONRPCError(-3, "Invalid amount");
+ throw JSONRPCError(RPC_TYPE_ERROR, "Invalid amount");
return nAmount;
}
@@ -100,8 +110,7 @@ Value ValueFromAmount(int64 amount)
return (double)amount / (double)COIN;
}
-std::string
-HexBits(unsigned int nBits)
+std::string HexBits(unsigned int nBits)
{
union {
int32_t nBits;
@@ -111,53 +120,6 @@ HexBits(unsigned int nBits)
return HexStr(BEGIN(uBits.cBits), END(uBits.cBits));
}
-void WalletTxToJSON(const CWalletTx& wtx, Object& entry)
-{
- int confirms = wtx.GetDepthInMainChain();
- entry.push_back(Pair("confirmations", confirms));
- if (confirms)
- {
- entry.push_back(Pair("blockhash", wtx.hashBlock.GetHex()));
- entry.push_back(Pair("blockindex", wtx.nIndex));
- }
- entry.push_back(Pair("txid", wtx.GetHash().GetHex()));
- entry.push_back(Pair("time", (boost::int64_t)wtx.GetTxTime()));
- BOOST_FOREACH(const PAIRTYPE(string,string)& item, wtx.mapValue)
- entry.push_back(Pair(item.first, item.second));
-}
-
-string AccountFromValue(const Value& value)
-{
- string strAccount = value.get_str();
- if (strAccount == "*")
- throw JSONRPCError(-11, "Invalid account name");
- return strAccount;
-}
-
-Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex)
-{
- Object result;
- result.push_back(Pair("hash", block.GetHash().GetHex()));
- result.push_back(Pair("size", (int)::GetSerializeSize(block, SER_NETWORK, PROTOCOL_VERSION)));
- result.push_back(Pair("height", blockindex->nHeight));
- result.push_back(Pair("version", block.nVersion));
- result.push_back(Pair("merkleroot", block.hashMerkleRoot.GetHex()));
- result.push_back(Pair("time", (boost::int64_t)block.GetBlockTime()));
- result.push_back(Pair("nonce", (boost::uint64_t)block.nNonce));
- result.push_back(Pair("bits", HexBits(block.nBits)));
- result.push_back(Pair("difficulty", GetDifficulty(blockindex)));
- Array txhashes;
- BOOST_FOREACH (const CTransaction&tx, block.vtx)
- txhashes.push_back(tx.GetHash().GetHex());
- result.push_back(Pair("tx", txhashes));
-
- if (blockindex->pprev)
- result.push_back(Pair("previousblockhash", blockindex->pprev->GetBlockHash().GetHex()));
- if (blockindex->pnext)
- result.push_back(Pair("nextblockhash", blockindex->pnext->GetBlockHash().GetHex()));
- return result;
-}
-
///
@@ -173,10 +135,7 @@ string CRPCTable::help(string strCommand) const
const CRPCCommand *pcmd = mi->second;
string strMethod = mi->first;
// We already filter duplicates, but these deprecated screw up the sort order
- if (strMethod == "getamountreceived" ||
- strMethod == "getallreceived" ||
- strMethod == "getblocknumber" || // deprecated
- (strMethod.find("label") != string::npos))
+ if (strMethod.find("label") != string::npos)
continue;
if (strCommand != "" && strMethod != strCommand)
continue;
@@ -220,1816 +179,19 @@ Value help(const Array& params, bool fHelp)
Value stop(const Array& params, bool fHelp)
{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "stop\n"
- "Stop bitcoin server.");
- // Shutdown will take long enough that the response should get back
- StartShutdown();
- return "bitcoin server stopping";
-}
-
-
-Value getblockcount(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "getblockcount\n"
- "Returns the number of blocks in the longest block chain.");
-
- return nBestHeight;
-}
-
-
-// deprecated
-Value getblocknumber(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "getblocknumber\n"
- "Deprecated. Use getblockcount.");
-
- return nBestHeight;
-}
-
-
-Value getconnectioncount(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "getconnectioncount\n"
- "Returns the number of connections to other nodes.");
-
- return (int)vNodes.size();
-}
-
-
-Value getdifficulty(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "getdifficulty\n"
- "Returns the proof-of-work difficulty as a multiple of the minimum difficulty.");
-
- return GetDifficulty();
-}
-
-
-Value getgenerate(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "getgenerate\n"
- "Returns true or false.");
-
- return GetBoolArg("-gen");
-}
-
-
-Value setgenerate(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() < 1 || params.size() > 2)
- throw runtime_error(
- "setgenerate <generate> [genproclimit]\n"
- "<generate> is true or false to turn generation on or off.\n"
- "Generation is limited to [genproclimit] processors, -1 is unlimited.");
-
- bool fGenerate = true;
- if (params.size() > 0)
- fGenerate = params[0].get_bool();
-
- if (params.size() > 1)
- {
- int nGenProcLimit = params[1].get_int();
- mapArgs["-genproclimit"] = itostr(nGenProcLimit);
- if (nGenProcLimit == 0)
- fGenerate = false;
- }
- mapArgs["-gen"] = (fGenerate ? "1" : "0");
-
- GenerateBitcoins(fGenerate, pwalletMain);
- return Value::null;
-}
-
-
-Value gethashespersec(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "gethashespersec\n"
- "Returns a recent hashes per second performance measurement while generating.");
-
- if (GetTimeMillis() - nHPSTimerStart > 8000)
- return (boost::int64_t)0;
- return (boost::int64_t)dHashesPerSec;
-}
-
-
-Value getinfo(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "getinfo\n"
- "Returns an object containing various state info.");
-
- Object obj;
- obj.push_back(Pair("version", (int)CLIENT_VERSION));
- obj.push_back(Pair("protocolversion",(int)PROTOCOL_VERSION));
- 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("connections", (int)vNodes.size()));
- obj.push_back(Pair("proxy", (fUseProxy ? addrProxy.ToStringIPPort() : string())));
- obj.push_back(Pair("difficulty", (double)GetDifficulty()));
- obj.push_back(Pair("testnet", fTestNet));
- obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime()));
- obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize()));
- obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee)));
- if (pwalletMain->IsCrypted())
- obj.push_back(Pair("unlocked_until", (boost::int64_t)nWalletUnlockTime / 1000));
- obj.push_back(Pair("errors", GetWarnings("statusbar")));
- return obj;
-}
-
-
-Value getmininginfo(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 0)
- throw runtime_error(
- "getmininginfo\n"
- "Returns an object containing mining-related information.");
-
- Object obj;
- obj.push_back(Pair("blocks", (int)nBestHeight));
- obj.push_back(Pair("currentblocksize",(uint64_t)nLastBlockSize));
- obj.push_back(Pair("currentblocktx",(uint64_t)nLastBlockTx));
- obj.push_back(Pair("difficulty", (double)GetDifficulty()));
- obj.push_back(Pair("errors", GetWarnings("statusbar")));
- obj.push_back(Pair("generate", GetBoolArg("-gen")));
- obj.push_back(Pair("genproclimit", (int)GetArg("-genproclimit", -1)));
- obj.push_back(Pair("hashespersec", gethashespersec(params, false)));
- obj.push_back(Pair("pooledtx", (uint64_t)mempool.size()));
- obj.push_back(Pair("testnet", fTestNet));
- return obj;
-}
-
-
-Value getnewaddress(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() > 1)
- throw runtime_error(
- "getnewaddress [account]\n"
- "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].");
-
- // Parse the account first so we don't generate a key if there's an error
- string strAccount;
- if (params.size() > 0)
- strAccount = AccountFromValue(params[0]);
-
- if (!pwalletMain->IsLocked())
- pwalletMain->TopUpKeyPool();
-
- // Generate a new key that is added to wallet
- std::vector<unsigned char> newKey;
- if (!pwalletMain->GetKeyFromPool(newKey, false))
- throw JSONRPCError(-12, "Error: Keypool ran out, please call keypoolrefill first");
- CBitcoinAddress address(newKey);
-
- pwalletMain->SetAddressBookName(address, strAccount);
-
- return address.ToString();
-}
-
-
-CBitcoinAddress GetAccountAddress(string strAccount, bool bForceNew=false)
-{
- CWalletDB walletdb(pwalletMain->strWalletFile);
-
- CAccount account;
- walletdb.ReadAccount(strAccount, account);
-
- bool bKeyUsed = false;
-
- // Check if the current key has been used
- if (!account.vchPubKey.empty())
- {
- CScript scriptPubKey;
- scriptPubKey.SetBitcoinAddress(account.vchPubKey);
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin();
- it != pwalletMain->mapWallet.end() && !account.vchPubKey.empty();
- ++it)
- {
- const CWalletTx& wtx = (*it).second;
- BOOST_FOREACH(const CTxOut& txout, wtx.vout)
- if (txout.scriptPubKey == scriptPubKey)
- bKeyUsed = true;
- }
- }
-
- // Generate a new key
- if (account.vchPubKey.empty() || bForceNew || bKeyUsed)
- {
- if (!pwalletMain->GetKeyFromPool(account.vchPubKey, false))
- throw JSONRPCError(-12, "Error: Keypool ran out, please call keypoolrefill first");
-
- pwalletMain->SetAddressBookName(CBitcoinAddress(account.vchPubKey), strAccount);
- walletdb.WriteAccount(strAccount, account);
- }
-
- return CBitcoinAddress(account.vchPubKey);
-}
-
-Value getaccountaddress(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 1)
- throw runtime_error(
- "getaccountaddress <account>\n"
- "Returns the current bitcoin address for receiving payments to this account.");
-
- // Parse the account first so we don't generate a key if there's an error
- string strAccount = AccountFromValue(params[0]);
-
- Value ret;
-
- ret = GetAccountAddress(strAccount).ToString();
-
- return ret;
-}
-
-
-
-Value setaccount(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() < 1 || params.size() > 2)
- throw runtime_error(
- "setaccount <bitcoinaddress> <account>\n"
- "Sets the account associated with the given address.");
-
- CBitcoinAddress address(params[0].get_str());
- if (!address.IsValid())
- throw JSONRPCError(-5, "Invalid bitcoin address");
-
-
- string strAccount;
- if (params.size() > 1)
- strAccount = AccountFromValue(params[1]);
-
- // Detect when changing the account of an address that is the 'unused current key' of another account:
- if (pwalletMain->mapAddressBook.count(address))
- {
- string strOldAccount = pwalletMain->mapAddressBook[address];
- if (address == GetAccountAddress(strOldAccount))
- GetAccountAddress(strOldAccount, true);
- }
-
- pwalletMain->SetAddressBookName(address, strAccount);
-
- return Value::null;
-}
-
-
-Value getaccount(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 1)
- throw runtime_error(
- "getaccount <bitcoinaddress>\n"
- "Returns the account associated with the given address.");
-
- CBitcoinAddress address(params[0].get_str());
- if (!address.IsValid())
- throw JSONRPCError(-5, "Invalid bitcoin address");
-
- string strAccount;
- map<CBitcoinAddress, string>::iterator mi = pwalletMain->mapAddressBook.find(address);
- if (mi != pwalletMain->mapAddressBook.end() && !(*mi).second.empty())
- strAccount = (*mi).second;
- return strAccount;
-}
-
-
-Value getaddressesbyaccount(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 1)
- throw runtime_error(
- "getaddressesbyaccount <account>\n"
- "Returns the list of addresses for the given account.");
-
- string strAccount = AccountFromValue(params[0]);
-
- // Find all addresses that have the given account
- Array ret;
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& item, pwalletMain->mapAddressBook)
- {
- const CBitcoinAddress& address = item.first;
- const string& strName = item.second;
- if (strName == strAccount)
- ret.push_back(address.ToString());
- }
- return ret;
-}
-
-Value settxfee(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() < 1 || params.size() > 1)
- throw runtime_error(
- "settxfee <amount>\n"
- "<amount> is a real and is rounded to the nearest 0.00000001");
-
- // Amount
- int64 nAmount = 0;
- if (params[0].get_real() != 0.0)
- nAmount = AmountFromValue(params[0]); // rejects 0.0 amounts
-
- nTransactionFee = nAmount;
- return true;
-}
-
-Value sendtoaddress(const Array& params, bool fHelp)
-{
- if (pwalletMain->IsCrypted() && (fHelp || params.size() < 2 || params.size() > 4))
- throw runtime_error(
- "sendtoaddress <bitcoinaddress> <amount> [comment] [comment-to]\n"
- "<amount> is a real and is rounded to the nearest 0.00000001\n"
- "requires wallet passphrase to be set with walletpassphrase first");
- if (!pwalletMain->IsCrypted() && (fHelp || params.size() < 2 || params.size() > 4))
- throw runtime_error(
- "sendtoaddress <bitcoinaddress> <amount> [comment] [comment-to]\n"
- "<amount> is a real and is rounded to the nearest 0.00000001");
-
- CBitcoinAddress address(params[0].get_str());
- if (!address.IsValid())
- throw JSONRPCError(-5, "Invalid bitcoin address");
-
- // Amount
- int64 nAmount = AmountFromValue(params[1]);
-
- // Wallet comments
- CWalletTx wtx;
- if (params.size() > 2 && params[2].type() != null_type && !params[2].get_str().empty())
- wtx.mapValue["comment"] = params[2].get_str();
- if (params.size() > 3 && params[3].type() != null_type && !params[3].get_str().empty())
- wtx.mapValue["to"] = params[3].get_str();
-
- if (pwalletMain->IsLocked())
- throw JSONRPCError(-13, "Error: Please enter the wallet passphrase with walletpassphrase first.");
-
- string strError = pwalletMain->SendMoneyToBitcoinAddress(address, nAmount, wtx);
- if (strError != "")
- throw JSONRPCError(-4, strError);
-
- return wtx.GetHash().GetHex();
-}
-
-Value signmessage(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 2)
- throw runtime_error(
- "signmessage <bitcoinaddress> <message>\n"
- "Sign a message with the private key of an address");
-
- if (pwalletMain->IsLocked())
- throw JSONRPCError(-13, "Error: Please enter the wallet passphrase with walletpassphrase first.");
-
- string strAddress = params[0].get_str();
- string strMessage = params[1].get_str();
-
- CBitcoinAddress addr(strAddress);
- if (!addr.IsValid())
- throw JSONRPCError(-3, "Invalid address");
-
- CKey key;
- if (!pwalletMain->GetKey(addr, key))
- throw JSONRPCError(-4, "Private key not available");
-
- CDataStream ss(SER_GETHASH, 0);
- ss << strMessageMagic;
- ss << strMessage;
-
- vector<unsigned char> vchSig;
- if (!key.SignCompact(Hash(ss.begin(), ss.end()), vchSig))
- throw JSONRPCError(-5, "Sign failed");
-
- return EncodeBase64(&vchSig[0], vchSig.size());
-}
-
-Value verifymessage(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 3)
- throw runtime_error(
- "verifymessage <bitcoinaddress> <signature> <message>\n"
- "Verify a signed message");
-
- string strAddress = params[0].get_str();
- string strSign = params[1].get_str();
- string strMessage = params[2].get_str();
-
- CBitcoinAddress addr(strAddress);
- if (!addr.IsValid())
- throw JSONRPCError(-3, "Invalid address");
-
- bool fInvalid = false;
- vector<unsigned char> vchSig = DecodeBase64(strSign.c_str(), &fInvalid);
-
- if (fInvalid)
- throw JSONRPCError(-5, "Malformed base64 encoding");
-
- CDataStream ss(SER_GETHASH, 0);
- ss << strMessageMagic;
- ss << strMessage;
-
- CKey key;
- if (!key.SetCompactSignature(Hash(ss.begin(), ss.end()), vchSig))
- return false;
-
- return (CBitcoinAddress(key.GetPubKey()) == addr);
-}
-
-
-Value getreceivedbyaddress(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() < 1 || params.size() > 2)
- throw runtime_error(
- "getreceivedbyaddress <bitcoinaddress> [minconf=1]\n"
- "Returns the total amount received by <bitcoinaddress> in transactions with at least [minconf] confirmations.");
-
- // Bitcoin address
- CBitcoinAddress address = CBitcoinAddress(params[0].get_str());
- CScript scriptPubKey;
- if (!address.IsValid())
- throw JSONRPCError(-5, "Invalid bitcoin address");
- scriptPubKey.SetBitcoinAddress(address);
- if (!IsMine(*pwalletMain,scriptPubKey))
- return (double)0.0;
-
- // Minimum confirmations
- int nMinDepth = 1;
- if (params.size() > 1)
- nMinDepth = params[1].get_int();
-
- // Tally
- int64 nAmount = 0;
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
- {
- const CWalletTx& wtx = (*it).second;
- if (wtx.IsCoinBase() || !wtx.IsFinal())
- continue;
-
- BOOST_FOREACH(const CTxOut& txout, wtx.vout)
- if (txout.scriptPubKey == scriptPubKey)
- if (wtx.GetDepthInMainChain() >= nMinDepth)
- nAmount += txout.nValue;
- }
-
- return ValueFromAmount(nAmount);
-}
-
-
-void GetAccountAddresses(string strAccount, set<CBitcoinAddress>& setAddress)
-{
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& item, pwalletMain->mapAddressBook)
- {
- const CBitcoinAddress& address = item.first;
- const string& strName = item.second;
- if (strName == strAccount)
- setAddress.insert(address);
- }
-}
-
-
-Value getreceivedbyaccount(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() < 1 || params.size() > 2)
- throw runtime_error(
- "getreceivedbyaccount <account> [minconf=1]\n"
- "Returns the total amount received by addresses with <account> in transactions with at least [minconf] confirmations.");
-
- // Minimum confirmations
- int nMinDepth = 1;
- if (params.size() > 1)
- nMinDepth = params[1].get_int();
-
- // Get the set of pub keys assigned to account
- string strAccount = AccountFromValue(params[0]);
- set<CBitcoinAddress> setAddress;
- GetAccountAddresses(strAccount, setAddress);
-
- // Tally
- int64 nAmount = 0;
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
- {
- const CWalletTx& wtx = (*it).second;
- if (wtx.IsCoinBase() || !wtx.IsFinal())
- continue;
-
- BOOST_FOREACH(const CTxOut& txout, wtx.vout)
- {
- CBitcoinAddress address;
- if (ExtractAddress(txout.scriptPubKey, address) && pwalletMain->HaveKey(address) && setAddress.count(address))
- if (wtx.GetDepthInMainChain() >= nMinDepth)
- nAmount += txout.nValue;
- }
- }
-
- return (double)nAmount / (double)COIN;
-}
-
-
-int64 GetAccountBalance(CWalletDB& walletdb, const string& strAccount, int nMinDepth)
-{
- int64 nBalance = 0;
-
- // Tally wallet transactions
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
- {
- const CWalletTx& wtx = (*it).second;
- if (!wtx.IsFinal())
- continue;
-
- int64 nGenerated, nReceived, nSent, nFee;
- wtx.GetAccountAmounts(strAccount, nGenerated, nReceived, nSent, nFee);
-
- if (nReceived != 0 && wtx.GetDepthInMainChain() >= nMinDepth)
- nBalance += nReceived;
- nBalance += nGenerated - nSent - nFee;
- }
-
- // Tally internal accounting entries
- nBalance += walletdb.GetAccountCreditDebit(strAccount);
-
- return nBalance;
-}
-
-int64 GetAccountBalance(const string& strAccount, int nMinDepth)
-{
- CWalletDB walletdb(pwalletMain->strWalletFile);
- return GetAccountBalance(walletdb, strAccount, nMinDepth);
-}
-
-
-Value getbalance(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() > 2)
- throw runtime_error(
- "getbalance [account] [minconf=1]\n"
- "If [account] is not specified, returns the server's total available balance.\n"
- "If [account] is specified, returns the balance in the account.");
-
- if (params.size() == 0)
- return ValueFromAmount(pwalletMain->GetBalance());
-
- int nMinDepth = 1;
- if (params.size() > 1)
- nMinDepth = params[1].get_int();
-
- 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.
- int64 nBalance = 0;
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
- {
- const CWalletTx& wtx = (*it).second;
- if (!wtx.IsFinal())
- continue;
-
- int64 allGeneratedImmature, allGeneratedMature, allFee;
- allGeneratedImmature = allGeneratedMature = allFee = 0;
- string strSentAccount;
- list<pair<CBitcoinAddress, int64> > listReceived;
- list<pair<CBitcoinAddress, int64> > listSent;
- wtx.GetAmounts(allGeneratedImmature, allGeneratedMature, listReceived, listSent, allFee, strSentAccount);
- if (wtx.GetDepthInMainChain() >= nMinDepth)
- {
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress,int64)& r, listReceived)
- nBalance += r.second;
- }
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress,int64)& r, listSent)
- nBalance -= r.second;
- nBalance -= allFee;
- nBalance += allGeneratedMature;
- }
- return ValueFromAmount(nBalance);
- }
-
- string strAccount = AccountFromValue(params[0]);
-
- int64 nBalance = GetAccountBalance(strAccount, nMinDepth);
-
- return ValueFromAmount(nBalance);
-}
-
-
-Value movecmd(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() < 3 || params.size() > 5)
- throw runtime_error(
- "move <fromaccount> <toaccount> <amount> [minconf=1] [comment]\n"
- "Move from one account in your wallet to another.");
-
- string strFrom = AccountFromValue(params[0]);
- string strTo = AccountFromValue(params[1]);
- int64 nAmount = AmountFromValue(params[2]);
- if (params.size() > 3)
- // unused parameter, used to be nMinDepth, keep type-checking it though
- (void)params[3].get_int();
- string strComment;
- if (params.size() > 4)
- strComment = params[4].get_str();
-
- CWalletDB walletdb(pwalletMain->strWalletFile);
- if (!walletdb.TxnBegin())
- throw JSONRPCError(-20, "database error");
-
- int64 nNow = GetAdjustedTime();
-
- // Debit
- CAccountingEntry debit;
- debit.strAccount = strFrom;
- debit.nCreditDebit = -nAmount;
- debit.nTime = nNow;
- debit.strOtherAccount = strTo;
- debit.strComment = strComment;
- walletdb.WriteAccountingEntry(debit);
-
- // Credit
- CAccountingEntry credit;
- credit.strAccount = strTo;
- credit.nCreditDebit = nAmount;
- credit.nTime = nNow;
- credit.strOtherAccount = strFrom;
- credit.strComment = strComment;
- walletdb.WriteAccountingEntry(credit);
-
- if (!walletdb.TxnCommit())
- throw JSONRPCError(-20, "database error");
-
- return true;
-}
-
-
-Value sendfrom(const Array& params, bool fHelp)
-{
- if (pwalletMain->IsCrypted() && (fHelp || params.size() < 3 || params.size() > 6))
- throw runtime_error(
- "sendfrom <fromaccount> <tobitcoinaddress> <amount> [minconf=1] [comment] [comment-to]\n"
- "<amount> is a real and is rounded to the nearest 0.00000001\n"
- "requires wallet passphrase to be set with walletpassphrase first");
- if (!pwalletMain->IsCrypted() && (fHelp || params.size() < 3 || params.size() > 6))
- throw runtime_error(
- "sendfrom <fromaccount> <tobitcoinaddress> <amount> [minconf=1] [comment] [comment-to]\n"
- "<amount> is a real and is rounded to the nearest 0.00000001");
-
- string strAccount = AccountFromValue(params[0]);
- CBitcoinAddress address(params[1].get_str());
- if (!address.IsValid())
- throw JSONRPCError(-5, "Invalid bitcoin address");
- int64 nAmount = AmountFromValue(params[2]);
- int nMinDepth = 1;
- if (params.size() > 3)
- nMinDepth = params[3].get_int();
-
- CWalletTx wtx;
- wtx.strFromAccount = strAccount;
- if (params.size() > 4 && params[4].type() != null_type && !params[4].get_str().empty())
- wtx.mapValue["comment"] = params[4].get_str();
- if (params.size() > 5 && params[5].type() != null_type && !params[5].get_str().empty())
- wtx.mapValue["to"] = params[5].get_str();
-
- if (pwalletMain->IsLocked())
- throw JSONRPCError(-13, "Error: Please enter the wallet passphrase with walletpassphrase first.");
-
- // Check funds
- int64 nBalance = GetAccountBalance(strAccount, nMinDepth);
- if (nAmount > nBalance)
- throw JSONRPCError(-6, "Account has insufficient funds");
-
- // Send
- string strError = pwalletMain->SendMoneyToBitcoinAddress(address, nAmount, wtx);
- if (strError != "")
- throw JSONRPCError(-4, strError);
-
- return wtx.GetHash().GetHex();
-}
-
-
-Value sendmany(const Array& params, bool fHelp)
-{
- if (pwalletMain->IsCrypted() && (fHelp || params.size() < 2 || params.size() > 4))
- throw runtime_error(
- "sendmany <fromaccount> {address:amount,...} [minconf=1] [comment]\n"
- "amounts are double-precision floating point numbers\n"
- "requires wallet passphrase to be set with walletpassphrase first");
- if (!pwalletMain->IsCrypted() && (fHelp || params.size() < 2 || params.size() > 4))
- throw runtime_error(
- "sendmany <fromaccount> {address:amount,...} [minconf=1] [comment]\n"
- "amounts are double-precision floating point numbers");
-
- string strAccount = AccountFromValue(params[0]);
- Object sendTo = params[1].get_obj();
- int nMinDepth = 1;
- if (params.size() > 2)
- nMinDepth = params[2].get_int();
-
- CWalletTx wtx;
- wtx.strFromAccount = strAccount;
- if (params.size() > 3 && params[3].type() != null_type && !params[3].get_str().empty())
- wtx.mapValue["comment"] = params[3].get_str();
-
- set<CBitcoinAddress> setAddress;
- vector<pair<CScript, int64> > vecSend;
-
- int64 totalAmount = 0;
- BOOST_FOREACH(const Pair& s, sendTo)
- {
- CBitcoinAddress address(s.name_);
- if (!address.IsValid())
- throw JSONRPCError(-5, string("Invalid bitcoin address:")+s.name_);
-
- if (setAddress.count(address))
- throw JSONRPCError(-8, string("Invalid parameter, duplicated address: ")+s.name_);
- setAddress.insert(address);
-
- CScript scriptPubKey;
- scriptPubKey.SetBitcoinAddress(address);
- int64 nAmount = AmountFromValue(s.value_);
- totalAmount += nAmount;
-
- vecSend.push_back(make_pair(scriptPubKey, nAmount));
- }
-
- if (pwalletMain->IsLocked())
- throw JSONRPCError(-13, "Error: Please enter the wallet passphrase with walletpassphrase first.");
-
- // Check funds
- int64 nBalance = GetAccountBalance(strAccount, nMinDepth);
- if (totalAmount > nBalance)
- throw JSONRPCError(-6, "Account has insufficient funds");
-
- // Send
- CReserveKey keyChange(pwalletMain);
- int64 nFeeRequired = 0;
- bool fCreated = pwalletMain->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired);
- if (!fCreated)
- {
- if (totalAmount + nFeeRequired > pwalletMain->GetBalance())
- throw JSONRPCError(-6, "Insufficient funds");
- throw JSONRPCError(-4, "Transaction creation failed");
- }
- if (!pwalletMain->CommitTransaction(wtx, keyChange))
- throw JSONRPCError(-4, "Transaction commit failed");
-
- return wtx.GetHash().GetHex();
-}
-
-Value addmultisigaddress(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() < 2 || params.size() > 3)
- {
- string msg = "addmultisigaddress <nrequired> <'[\"key\",\"key\"]'> [account]\n"
- "Add a nrequired-to-sign multisignature address to the wallet\"\n"
- "each key is a bitcoin address or hex-encoded public key\n"
- "If [account] is specified, assign address to [account].";
- throw runtime_error(msg);
- }
-
- int nRequired = params[0].get_int();
- const Array& keys = params[1].get_array();
- string strAccount;
- if (params.size() > 2)
- strAccount = AccountFromValue(params[2]);
-
- // Gather public keys
- if (nRequired < 1)
- throw runtime_error("a multisignature address must require at least one key to redeem");
- if ((int)keys.size() < nRequired)
- throw runtime_error(
- strprintf("not enough keys supplied "
- "(got %d keys, but need at least %d to redeem)", keys.size(), nRequired));
- std::vector<CKey> pubkeys;
- pubkeys.resize(keys.size());
- for (unsigned int i = 0; i < keys.size(); i++)
- {
- const std::string& ks = keys[i].get_str();
-
- // Case 1: bitcoin address and we have full public key:
- CBitcoinAddress address(ks);
- if (address.IsValid())
- {
- if (address.IsScript())
- throw runtime_error(
- strprintf("%s is a pay-to-script address",ks.c_str()));
- std::vector<unsigned char> vchPubKey;
- if (!pwalletMain->GetPubKey(address, vchPubKey))
- throw runtime_error(
- strprintf("no full public key for address %s",ks.c_str()));
- if (vchPubKey.empty() || !pubkeys[i].SetPubKey(vchPubKey))
- throw runtime_error(" Invalid public key: "+ks);
- }
-
- // Case 2: hex public key
- else if (IsHex(ks))
- {
- vector<unsigned char> vchPubKey = ParseHex(ks);
- if (vchPubKey.empty() || !pubkeys[i].SetPubKey(vchPubKey))
- throw runtime_error(" Invalid public key: "+ks);
- }
- else
- {
- throw runtime_error(" Invalid public key: "+ks);
- }
- }
-
- // Construct using pay-to-script-hash:
- CScript inner;
- inner.SetMultisig(nRequired, pubkeys);
-
- uint160 scriptHash = Hash160(inner);
- CScript scriptPubKey;
- scriptPubKey.SetPayToScriptHash(inner);
- pwalletMain->AddCScript(inner);
- CBitcoinAddress address;
- address.SetScriptHash160(scriptHash);
-
- pwalletMain->SetAddressBookName(address, strAccount);
- return address.ToString();
-}
-
-
-struct tallyitem
-{
- int64 nAmount;
- int nConf;
- tallyitem()
- {
- nAmount = 0;
- nConf = std::numeric_limits<int>::max();
- }
-};
-
-Value ListReceived(const Array& params, bool fByAccounts)
-{
- // Minimum confirmations
- int nMinDepth = 1;
- if (params.size() > 0)
- nMinDepth = params[0].get_int();
-
- // Whether to include empty accounts
- bool fIncludeEmpty = false;
- if (params.size() > 1)
- fIncludeEmpty = params[1].get_bool();
-
- // Tally
- map<CBitcoinAddress, tallyitem> mapTally;
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
- {
- const CWalletTx& wtx = (*it).second;
-
- if (wtx.IsCoinBase() || !wtx.IsFinal())
- continue;
-
- int nDepth = wtx.GetDepthInMainChain();
- if (nDepth < nMinDepth)
- continue;
-
- BOOST_FOREACH(const CTxOut& txout, wtx.vout)
- {
- CBitcoinAddress address;
- if (!ExtractAddress(txout.scriptPubKey, address) || !pwalletMain->HaveKey(address) || !address.IsValid())
- continue;
-
- tallyitem& item = mapTally[address];
- item.nAmount += txout.nValue;
- item.nConf = min(item.nConf, nDepth);
- }
- }
-
- // Reply
- Array ret;
- map<string, tallyitem> mapAccountTally;
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& item, pwalletMain->mapAddressBook)
- {
- const CBitcoinAddress& address = item.first;
- const string& strAccount = item.second;
- map<CBitcoinAddress, tallyitem>::iterator it = mapTally.find(address);
- if (it == mapTally.end() && !fIncludeEmpty)
- continue;
-
- int64 nAmount = 0;
- int nConf = std::numeric_limits<int>::max();
- if (it != mapTally.end())
- {
- nAmount = (*it).second.nAmount;
- nConf = (*it).second.nConf;
- }
-
- if (fByAccounts)
- {
- tallyitem& item = mapAccountTally[strAccount];
- item.nAmount += nAmount;
- item.nConf = min(item.nConf, nConf);
- }
- else
- {
- Object obj;
- obj.push_back(Pair("address", address.ToString()));
- obj.push_back(Pair("account", strAccount));
- obj.push_back(Pair("amount", ValueFromAmount(nAmount)));
- obj.push_back(Pair("confirmations", (nConf == std::numeric_limits<int>::max() ? 0 : nConf)));
- ret.push_back(obj);
- }
- }
-
- if (fByAccounts)
- {
- for (map<string, tallyitem>::iterator it = mapAccountTally.begin(); it != mapAccountTally.end(); ++it)
- {
- int64 nAmount = (*it).second.nAmount;
- int nConf = (*it).second.nConf;
- Object obj;
- obj.push_back(Pair("account", (*it).first));
- obj.push_back(Pair("amount", ValueFromAmount(nAmount)));
- obj.push_back(Pair("confirmations", (nConf == std::numeric_limits<int>::max() ? 0 : nConf)));
- ret.push_back(obj);
- }
- }
-
- return ret;
-}
-
-Value listreceivedbyaddress(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() > 2)
- throw runtime_error(
- "listreceivedbyaddress [minconf=1] [includeempty=false]\n"
- "[minconf] is the minimum number of confirmations before payments are included.\n"
- "[includeempty] whether to include addresses that haven't received any payments.\n"
- "Returns an array of objects containing:\n"
- " \"address\" : receiving address\n"
- " \"account\" : the account of the receiving address\n"
- " \"amount\" : total amount received by the address\n"
- " \"confirmations\" : number of confirmations of the most recent transaction included");
-
- return ListReceived(params, false);
-}
-
-Value listreceivedbyaccount(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() > 2)
- throw runtime_error(
- "listreceivedbyaccount [minconf=1] [includeempty=false]\n"
- "[minconf] is the minimum number of confirmations before payments are included.\n"
- "[includeempty] whether to include accounts that haven't received any payments.\n"
- "Returns an array of objects containing:\n"
- " \"account\" : the account of the receiving addresses\n"
- " \"amount\" : total amount received by addresses with this account\n"
- " \"confirmations\" : number of confirmations of the most recent transaction included");
-
- return ListReceived(params, true);
-}
-
-void ListTransactions(const CWalletTx& wtx, const string& strAccount, int nMinDepth, bool fLong, Array& ret)
-{
- int64 nGeneratedImmature, nGeneratedMature, nFee;
- string strSentAccount;
- list<pair<CBitcoinAddress, int64> > listReceived;
- list<pair<CBitcoinAddress, int64> > listSent;
-
- wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee, strSentAccount);
-
- bool fAllAccounts = (strAccount == string("*"));
-
- // Generated blocks assigned to account ""
- if ((nGeneratedMature+nGeneratedImmature) != 0 && (fAllAccounts || strAccount == ""))
- {
- Object entry;
- entry.push_back(Pair("account", string("")));
- if (nGeneratedImmature)
- {
- entry.push_back(Pair("category", wtx.GetDepthInMainChain() ? "immature" : "orphan"));
- entry.push_back(Pair("amount", ValueFromAmount(nGeneratedImmature)));
- }
- else
- {
- entry.push_back(Pair("category", "generate"));
- entry.push_back(Pair("amount", ValueFromAmount(nGeneratedMature)));
- }
- if (fLong)
- WalletTxToJSON(wtx, entry);
- ret.push_back(entry);
- }
-
- // Sent
- if ((!listSent.empty() || nFee != 0) && (fAllAccounts || strAccount == strSentAccount))
- {
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, int64)& s, listSent)
- {
- Object entry;
- entry.push_back(Pair("account", strSentAccount));
- entry.push_back(Pair("address", s.first.ToString()));
- entry.push_back(Pair("category", "send"));
- entry.push_back(Pair("amount", ValueFromAmount(-s.second)));
- entry.push_back(Pair("fee", ValueFromAmount(-nFee)));
- if (fLong)
- WalletTxToJSON(wtx, entry);
- ret.push_back(entry);
- }
- }
-
- // Received
- if (listReceived.size() > 0 && wtx.GetDepthInMainChain() >= nMinDepth)
- {
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, int64)& r, listReceived)
- {
- string account;
- if (pwalletMain->mapAddressBook.count(r.first))
- account = pwalletMain->mapAddressBook[r.first];
- if (fAllAccounts || (account == strAccount))
- {
- Object entry;
- entry.push_back(Pair("account", account));
- entry.push_back(Pair("address", r.first.ToString()));
- entry.push_back(Pair("category", "receive"));
- entry.push_back(Pair("amount", ValueFromAmount(r.second)));
- if (fLong)
- WalletTxToJSON(wtx, entry);
- ret.push_back(entry);
- }
- }
- }
-}
-
-void AcentryToJSON(const CAccountingEntry& acentry, const string& strAccount, Array& ret)
-{
- bool fAllAccounts = (strAccount == string("*"));
-
- if (fAllAccounts || acentry.strAccount == strAccount)
- {
- Object entry;
- entry.push_back(Pair("account", acentry.strAccount));
- entry.push_back(Pair("category", "move"));
- entry.push_back(Pair("time", (boost::int64_t)acentry.nTime));
- entry.push_back(Pair("amount", ValueFromAmount(acentry.nCreditDebit)));
- entry.push_back(Pair("otheraccount", acentry.strOtherAccount));
- entry.push_back(Pair("comment", acentry.strComment));
- ret.push_back(entry);
- }
-}
-
-Value listtransactions(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() > 3)
- throw runtime_error(
- "listtransactions [account] [count=10] [from=0]\n"
- "Returns up to [count] most recent transactions skipping the first [from] transactions for account [account].");
-
- string strAccount = "*";
- if (params.size() > 0)
- strAccount = params[0].get_str();
- int nCount = 10;
- if (params.size() > 1)
- nCount = params[1].get_int();
- int nFrom = 0;
- if (params.size() > 2)
- nFrom = params[2].get_int();
-
- if (nCount < 0)
- throw JSONRPCError(-8, "Negative count");
- if (nFrom < 0)
- throw JSONRPCError(-8, "Negative from");
-
- Array ret;
- CWalletDB walletdb(pwalletMain->strWalletFile);
-
- // First: get all CWalletTx and CAccountingEntry into a sorted-by-time multimap.
- typedef pair<CWalletTx*, CAccountingEntry*> TxPair;
- typedef multimap<int64, TxPair > TxItems;
- TxItems txByTime;
-
- // Note: maintaining indices in the database of (account,time) --> txid and (account, time) --> acentry
- // would make this much faster for applications that do this a lot.
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
- {
- CWalletTx* wtx = &((*it).second);
- txByTime.insert(make_pair(wtx->GetTxTime(), TxPair(wtx, (CAccountingEntry*)0)));
- }
- list<CAccountingEntry> acentries;
- walletdb.ListAccountCreditDebit(strAccount, acentries);
- BOOST_FOREACH(CAccountingEntry& entry, acentries)
- {
- txByTime.insert(make_pair(entry.nTime, TxPair((CWalletTx*)0, &entry)));
- }
-
- // iterate backwards until we have nCount items to return:
- for (TxItems::reverse_iterator it = txByTime.rbegin(); it != txByTime.rend(); ++it)
- {
- CWalletTx *const pwtx = (*it).second.first;
- if (pwtx != 0)
- ListTransactions(*pwtx, strAccount, 0, true, ret);
- CAccountingEntry *const pacentry = (*it).second.second;
- if (pacentry != 0)
- AcentryToJSON(*pacentry, strAccount, ret);
-
- if (ret.size() >= (nCount+nFrom)) break;
- }
- // ret is newest to oldest
-
- if (nFrom > (int)ret.size())
- nFrom = ret.size();
- if ((nFrom + nCount) > (int)ret.size())
- nCount = ret.size() - nFrom;
- Array::iterator first = ret.begin();
- std::advance(first, nFrom);
- Array::iterator last = ret.begin();
- std::advance(last, nFrom+nCount);
-
- if (last != ret.end()) ret.erase(last, ret.end());
- if (first != ret.begin()) ret.erase(ret.begin(), first);
-
- std::reverse(ret.begin(), ret.end()); // Return oldest to newest
-
- return ret;
-}
-
-Value listaccounts(const Array& params, bool fHelp)
-{
if (fHelp || params.size() > 1)
throw runtime_error(
- "listaccounts [minconf=1]\n"
- "Returns Object that has account names as keys, account balances as values.");
-
- int nMinDepth = 1;
- if (params.size() > 0)
- nMinDepth = params[0].get_int();
-
- map<string, int64> mapAccountBalances;
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& entry, pwalletMain->mapAddressBook) {
- if (pwalletMain->HaveKey(entry.first)) // This address belongs to me
- mapAccountBalances[entry.second] = 0;
- }
-
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
- {
- const CWalletTx& wtx = (*it).second;
- int64 nGeneratedImmature, nGeneratedMature, nFee;
- string strSentAccount;
- list<pair<CBitcoinAddress, int64> > listReceived;
- list<pair<CBitcoinAddress, int64> > listSent;
- wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee, strSentAccount);
- mapAccountBalances[strSentAccount] -= nFee;
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, int64)& s, listSent)
- mapAccountBalances[strSentAccount] -= s.second;
- if (wtx.GetDepthInMainChain() >= nMinDepth)
- {
- mapAccountBalances[""] += nGeneratedMature;
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, int64)& r, listReceived)
- if (pwalletMain->mapAddressBook.count(r.first))
- mapAccountBalances[pwalletMain->mapAddressBook[r.first]] += r.second;
- else
- mapAccountBalances[""] += r.second;
- }
- }
-
- list<CAccountingEntry> acentries;
- CWalletDB(pwalletMain->strWalletFile).ListAccountCreditDebit("*", acentries);
- BOOST_FOREACH(const CAccountingEntry& entry, acentries)
- mapAccountBalances[entry.strAccount] += entry.nCreditDebit;
-
- Object ret;
- BOOST_FOREACH(const PAIRTYPE(string, int64)& accountBalance, mapAccountBalances) {
- ret.push_back(Pair(accountBalance.first, ValueFromAmount(accountBalance.second)));
- }
- return ret;
-}
-
-Value listsinceblock(const Array& params, bool fHelp)
-{
- if (fHelp)
- throw runtime_error(
- "listsinceblock [blockhash] [target-confirmations]\n"
- "Get all transactions in blocks since block [blockhash], or all transactions if omitted");
-
- CBlockIndex *pindex = NULL;
- int target_confirms = 1;
-
+ "stop <detach>\n"
+ "<detach> is true or false to detach the database or not for this stop only\n"
+ "Stop Bitcoin server (and possibly override the detachdb config value).");
+ // Shutdown will take long enough that the response should get back
if (params.size() > 0)
- {
- uint256 blockId = 0;
-
- blockId.SetHex(params[0].get_str());
- pindex = CBlockLocator(blockId).GetBlockIndex();
- }
-
- if (params.size() > 1)
- {
- target_confirms = params[1].get_int();
-
- if (target_confirms < 1)
- throw JSONRPCError(-8, "Invalid parameter");
- }
-
- int depth = pindex ? (1 + nBestHeight - pindex->nHeight) : -1;
-
- Array transactions;
-
- for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); it++)
- {
- CWalletTx tx = (*it).second;
-
- if (depth == -1 || tx.GetDepthInMainChain() < depth)
- ListTransactions(tx, "*", 0, true, transactions);
- }
-
- uint256 lastblock;
-
- if (target_confirms == 1)
- {
- lastblock = hashBestChain;
- }
- else
- {
- int target_height = pindexBest->nHeight + 1 - target_confirms;
-
- CBlockIndex *block;
- for (block = pindexBest;
- block && block->nHeight > target_height;
- block = block->pprev) { }
-
- lastblock = block ? block->GetBlockHash() : 0;
- }
-
- Object ret;
- ret.push_back(Pair("transactions", transactions));
- ret.push_back(Pair("lastblock", lastblock.GetHex()));
-
- return ret;
-}
-
-Value gettransaction(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 1)
- throw runtime_error(
- "gettransaction <txid>\n"
- "Get detailed information about <txid>");
-
- uint256 hash;
- hash.SetHex(params[0].get_str());
-
- Object entry;
-
- if (!pwalletMain->mapWallet.count(hash))
- throw JSONRPCError(-5, "Invalid or non-wallet transaction id");
- const CWalletTx& wtx = pwalletMain->mapWallet[hash];
-
- int64 nCredit = wtx.GetCredit();
- int64 nDebit = wtx.GetDebit();
- int64 nNet = nCredit - nDebit;
- int64 nFee = (wtx.IsFromMe() ? wtx.GetValueOut() - nDebit : 0);
-
- entry.push_back(Pair("amount", ValueFromAmount(nNet - nFee)));
- if (wtx.IsFromMe())
- entry.push_back(Pair("fee", ValueFromAmount(nFee)));
-
- WalletTxToJSON(pwalletMain->mapWallet[hash], entry);
-
- Array details;
- ListTransactions(pwalletMain->mapWallet[hash], "*", 0, false, details);
- entry.push_back(Pair("details", details));
-
- return entry;
-}
-
-
-Value backupwallet(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 1)
- throw runtime_error(
- "backupwallet <destination>\n"
- "Safely copies wallet.dat to destination, which can be a directory or a path with filename.");
-
- string strDest = params[0].get_str();
- BackupWallet(*pwalletMain, strDest);
-
- return Value::null;
-}
-
-
-Value keypoolrefill(const Array& params, bool fHelp)
-{
- if (pwalletMain->IsCrypted() && (fHelp || params.size() > 0))
- throw runtime_error(
- "keypoolrefill\n"
- "Fills the keypool, requires wallet passphrase to be set.");
- if (!pwalletMain->IsCrypted() && (fHelp || params.size() > 0))
- throw runtime_error(
- "keypoolrefill\n"
- "Fills the keypool.");
-
- if (pwalletMain->IsLocked())
- throw JSONRPCError(-13, "Error: Please enter the wallet passphrase with walletpassphrase first.");
-
- pwalletMain->TopUpKeyPool();
-
- if (pwalletMain->GetKeyPoolSize() < GetArg("-keypool", 100))
- throw JSONRPCError(-4, "Error refreshing keypool.");
-
- return Value::null;
-}
-
-
-void ThreadTopUpKeyPool(void* parg)
-{
- pwalletMain->TopUpKeyPool();
-}
-
-void ThreadCleanWalletPassphrase(void* parg)
-{
- int64 nMyWakeTime = GetTimeMillis() + *((int64*)parg) * 1000;
-
- ENTER_CRITICAL_SECTION(cs_nWalletUnlockTime);
-
- if (nWalletUnlockTime == 0)
- {
- nWalletUnlockTime = nMyWakeTime;
-
- do
- {
- if (nWalletUnlockTime==0)
- break;
- int64 nToSleep = nWalletUnlockTime - GetTimeMillis();
- if (nToSleep <= 0)
- break;
-
- LEAVE_CRITICAL_SECTION(cs_nWalletUnlockTime);
- Sleep(nToSleep);
- ENTER_CRITICAL_SECTION(cs_nWalletUnlockTime);
-
- } while(1);
-
- if (nWalletUnlockTime)
- {
- nWalletUnlockTime = 0;
- pwalletMain->Lock();
- }
- }
- else
- {
- if (nWalletUnlockTime < nMyWakeTime)
- nWalletUnlockTime = nMyWakeTime;
- }
-
- LEAVE_CRITICAL_SECTION(cs_nWalletUnlockTime);
-
- delete (int64*)parg;
-}
-
-Value walletpassphrase(const Array& params, bool fHelp)
-{
- if (pwalletMain->IsCrypted() && (fHelp || params.size() != 2))
- throw runtime_error(
- "walletpassphrase <passphrase> <timeout>\n"
- "Stores the wallet decryption key in memory for <timeout> seconds.");
- if (fHelp)
- return true;
- if (!pwalletMain->IsCrypted())
- throw JSONRPCError(-15, "Error: running with an unencrypted wallet, but walletpassphrase was called.");
-
- if (!pwalletMain->IsLocked())
- throw JSONRPCError(-17, "Error: Wallet is already unlocked.");
-
- // Note that the walletpassphrase is stored in params[0] which is not mlock()ed
- SecureString strWalletPass;
- strWalletPass.reserve(100);
- // TODO: get rid of this .c_str() by implementing SecureString::operator=(std::string)
- // Alternately, find a way to make params[0] mlock()'d to begin with.
- strWalletPass = params[0].get_str().c_str();
-
- if (strWalletPass.length() > 0)
- {
- if (!pwalletMain->Unlock(strWalletPass))
- throw JSONRPCError(-14, "Error: The wallet passphrase entered was incorrect.");
- }
- else
- throw runtime_error(
- "walletpassphrase <passphrase> <timeout>\n"
- "Stores the wallet decryption key in memory for <timeout> seconds.");
-
- CreateThread(ThreadTopUpKeyPool, NULL);
- int64* pnSleepTime = new int64(params[1].get_int64());
- CreateThread(ThreadCleanWalletPassphrase, pnSleepTime);
-
- return Value::null;
-}
-
-
-Value walletpassphrasechange(const Array& params, bool fHelp)
-{
- if (pwalletMain->IsCrypted() && (fHelp || params.size() != 2))
- throw runtime_error(
- "walletpassphrasechange <oldpassphrase> <newpassphrase>\n"
- "Changes the wallet passphrase from <oldpassphrase> to <newpassphrase>.");
- if (fHelp)
- return true;
- if (!pwalletMain->IsCrypted())
- throw JSONRPCError(-15, "Error: running with an unencrypted wallet, but walletpassphrasechange was called.");
-
- // TODO: get rid of these .c_str() calls by implementing SecureString::operator=(std::string)
- // Alternately, find a way to make params[0] mlock()'d to begin with.
- SecureString strOldWalletPass;
- strOldWalletPass.reserve(100);
- strOldWalletPass = params[0].get_str().c_str();
-
- SecureString strNewWalletPass;
- strNewWalletPass.reserve(100);
- strNewWalletPass = params[1].get_str().c_str();
-
- if (strOldWalletPass.length() < 1 || strNewWalletPass.length() < 1)
- throw runtime_error(
- "walletpassphrasechange <oldpassphrase> <newpassphrase>\n"
- "Changes the wallet passphrase from <oldpassphrase> to <newpassphrase>.");
-
- if (!pwalletMain->ChangeWalletPassphrase(strOldWalletPass, strNewWalletPass))
- throw JSONRPCError(-14, "Error: The wallet passphrase entered was incorrect.");
-
- return Value::null;
-}
-
-
-Value walletlock(const Array& params, bool fHelp)
-{
- if (pwalletMain->IsCrypted() && (fHelp || params.size() != 0))
- throw runtime_error(
- "walletlock\n"
- "Removes the wallet encryption key from memory, locking the wallet.\n"
- "After calling this method, you will need to call walletpassphrase again\n"
- "before being able to call any methods which require the wallet to be unlocked.");
- if (fHelp)
- return true;
- if (!pwalletMain->IsCrypted())
- throw JSONRPCError(-15, "Error: running with an unencrypted wallet, but walletlock was called.");
-
- {
- LOCK(cs_nWalletUnlockTime);
- pwalletMain->Lock();
- nWalletUnlockTime = 0;
- }
-
- return Value::null;
-}
-
-
-Value encryptwallet(const Array& params, bool fHelp)
-{
- if (!pwalletMain->IsCrypted() && (fHelp || params.size() != 1))
- throw runtime_error(
- "encryptwallet <passphrase>\n"
- "Encrypts the wallet with <passphrase>.");
- if (fHelp)
- return true;
- if (pwalletMain->IsCrypted())
- throw JSONRPCError(-15, "Error: running with an encrypted wallet, but encryptwallet was called.");
-
- // TODO: get rid of this .c_str() by implementing SecureString::operator=(std::string)
- // Alternately, find a way to make params[0] mlock()'d to begin with.
- SecureString strWalletPass;
- strWalletPass.reserve(100);
- strWalletPass = params[0].get_str().c_str();
-
- if (strWalletPass.length() < 1)
- throw runtime_error(
- "encryptwallet <passphrase>\n"
- "Encrypts the wallet with <passphrase>.");
-
- if (!pwalletMain->EncryptWallet(strWalletPass))
- throw JSONRPCError(-16, "Error: Failed to encrypt the wallet.");
-
- // BDB seems to have a bad habit of writing old data into
- // slack space in .dat files; that is bad if the old data is
- // unencrypted private keys. So:
+ bitdb.SetDetach(params[0].get_bool());
StartShutdown();
- return "wallet encrypted; bitcoin server stopping, restart to run with encrypted wallet. The keypool has been flushed, you need to make a new backup.";
+ return "Bitcoin server stopping";
}
-Value validateaddress(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 1)
- throw runtime_error(
- "validateaddress <bitcoinaddress>\n"
- "Return information about <bitcoinaddress>.");
-
- CBitcoinAddress address(params[0].get_str());
- bool isValid = address.IsValid();
-
- Object ret;
- ret.push_back(Pair("isvalid", isValid));
- if (isValid)
- {
- // Call Hash160ToAddress() so we always return current ADDRESSVERSION
- // version of the address:
- string currentAddress = address.ToString();
- ret.push_back(Pair("address", currentAddress));
- if (pwalletMain->HaveKey(address))
- {
- ret.push_back(Pair("ismine", true));
- std::vector<unsigned char> vchPubKey;
- pwalletMain->GetPubKey(address, vchPubKey);
- ret.push_back(Pair("pubkey", HexStr(vchPubKey)));
- CKey key;
- key.SetPubKey(vchPubKey);
- ret.push_back(Pair("iscompressed", key.IsCompressed()));
- }
- else if (pwalletMain->HaveCScript(address.GetHash160()))
- {
- ret.push_back(Pair("isscript", true));
- CScript subscript;
- pwalletMain->GetCScript(address.GetHash160(), subscript);
- ret.push_back(Pair("ismine", ::IsMine(*pwalletMain, subscript)));
- std::vector<CBitcoinAddress> addresses;
- txnouttype whichType;
- int nRequired;
- ExtractAddresses(subscript, whichType, addresses, nRequired);
- ret.push_back(Pair("script", GetTxnOutputType(whichType)));
- Array a;
- BOOST_FOREACH(const CBitcoinAddress& addr, addresses)
- a.push_back(addr.ToString());
- ret.push_back(Pair("addresses", a));
- if (whichType == TX_MULTISIG)
- ret.push_back(Pair("sigsrequired", nRequired));
- }
- else
- ret.push_back(Pair("ismine", false));
- if (pwalletMain->mapAddressBook.count(address))
- ret.push_back(Pair("account", pwalletMain->mapAddressBook[address]));
- }
- return ret;
-}
-
-Value getwork(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() > 1)
- throw runtime_error(
- "getwork [data]\n"
- "If [data] is not specified, returns formatted hash data to work on:\n"
- " \"midstate\" : precomputed hash state after hashing the first half of the data (DEPRECATED)\n" // deprecated
- " \"data\" : block data\n"
- " \"hash1\" : formatted hash buffer for second hash (DEPRECATED)\n" // deprecated
- " \"target\" : little endian hash target\n"
- "If [data] is specified, tries to solve the block and returns true if it was successful.");
-
- if (vNodes.empty())
- throw JSONRPCError(-9, "Bitcoin is not connected!");
-
- if (IsInitialBlockDownload())
- throw JSONRPCError(-10, "Bitcoin is downloading blocks...");
-
- typedef map<uint256, pair<CBlock*, CScript> > mapNewBlock_t;
- static mapNewBlock_t mapNewBlock;
- static vector<CBlock*> vNewBlock;
- static CReserveKey reservekey(pwalletMain);
-
- if (params.size() == 0)
- {
- // Update block
- static unsigned int nTransactionsUpdatedLast;
- static CBlockIndex* pindexPrev;
- static int64 nStart;
- static CBlock* pblock;
- if (pindexPrev != pindexBest ||
- (nTransactionsUpdated != nTransactionsUpdatedLast && GetTime() - nStart > 60))
- {
- if (pindexPrev != pindexBest)
- {
- // Deallocate old blocks since they're obsolete now
- mapNewBlock.clear();
- BOOST_FOREACH(CBlock* pblock, vNewBlock)
- delete pblock;
- vNewBlock.clear();
- }
-
- // Clear pindexPrev so future getworks make a new block, despite any failures from here on
- pindexPrev = NULL;
-
- // Store the pindexBest used before CreateNewBlock, to avoid races
- nTransactionsUpdatedLast = nTransactionsUpdated;
- CBlockIndex* pindexPrevNew = pindexBest;
- nStart = GetTime();
-
- // Create new block
- pblock = CreateNewBlock(reservekey);
- if (!pblock)
- throw JSONRPCError(-7, "Out of memory");
- vNewBlock.push_back(pblock);
-
- // Need to update only after we know CreateNewBlock succeeded
- pindexPrev = pindexPrevNew;
- }
-
- // Update nTime
- pblock->UpdateTime(pindexPrev);
- pblock->nNonce = 0;
-
- // Update nExtraNonce
- static unsigned int nExtraNonce = 0;
- IncrementExtraNonce(pblock, pindexPrev, nExtraNonce);
-
- // Save
- mapNewBlock[pblock->hashMerkleRoot] = make_pair(pblock, pblock->vtx[0].vin[0].scriptSig);
-
- // Pre-build hash buffers
- char pmidstate[32];
- char pdata[128];
- char phash1[64];
- FormatHashBuffers(pblock, pmidstate, pdata, phash1);
-
- uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256();
-
- Object result;
- result.push_back(Pair("midstate", HexStr(BEGIN(pmidstate), END(pmidstate)))); // deprecated
- result.push_back(Pair("data", HexStr(BEGIN(pdata), END(pdata))));
- result.push_back(Pair("hash1", HexStr(BEGIN(phash1), END(phash1)))); // deprecated
- result.push_back(Pair("target", HexStr(BEGIN(hashTarget), END(hashTarget))));
- return result;
- }
- else
- {
- // Parse parameters
- vector<unsigned char> vchData = ParseHex(params[0].get_str());
- if (vchData.size() != 128)
- throw JSONRPCError(-8, "Invalid parameter");
- CBlock* pdata = (CBlock*)&vchData[0];
-
- // Byte reverse
- for (int i = 0; i < 128/4; i++)
- ((unsigned int*)pdata)[i] = ByteReverse(((unsigned int*)pdata)[i]);
-
- // Get saved block
- if (!mapNewBlock.count(pdata->hashMerkleRoot))
- return false;
- CBlock* pblock = mapNewBlock[pdata->hashMerkleRoot].first;
-
- pblock->nTime = pdata->nTime;
- pblock->nNonce = pdata->nNonce;
- pblock->vtx[0].vin[0].scriptSig = mapNewBlock[pdata->hashMerkleRoot].second;
- pblock->hashMerkleRoot = pblock->BuildMerkleTree();
-
- return CheckWork(pblock, *pwalletMain, reservekey);
- }
-}
-
-
-Value getmemorypool(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() > 1)
- throw runtime_error(
- "getmemorypool [data]\n"
- "If [data] is not specified, returns data needed to construct a block to work on:\n"
- " \"version\" : block version\n"
- " \"previousblockhash\" : hash of current highest block\n"
- " \"transactions\" : contents of non-coinbase transactions that should be included in the next block\n"
- " \"coinbasevalue\" : maximum allowable input to coinbase transaction, including the generation award and transaction fees\n"
- " \"coinbaseflags\" : data that should be included in coinbase so support for new features can be judged\n"
- " \"time\" : timestamp appropriate for next block\n"
- " \"mintime\" : minimum timestamp appropriate for next block\n"
- " \"curtime\" : current timestamp\n"
- " \"bits\" : compressed target of next block\n"
- " \"height\" : height of the next block (backported, required by BIP 34)\n"
- "If [data] is specified, tries to solve the block and returns true if it was successful.");
-
- if (params.size() == 0)
- {
- if (vNodes.empty())
- throw JSONRPCError(-9, "Bitcoin is not connected!");
-
- if (IsInitialBlockDownload())
- throw JSONRPCError(-10, "Bitcoin is downloading blocks...");
-
- static CReserveKey reservekey(pwalletMain);
-
- // Update block
- static unsigned int nTransactionsUpdatedLast;
- static CBlockIndex* pindexPrev;
- static int64 nStart;
- static CBlock* pblock;
- if (pindexPrev != pindexBest ||
- (nTransactionsUpdated != nTransactionsUpdatedLast && GetTime() - nStart > 5))
- {
- // Clear pindexPrev so future calls make a new block, despite any failures from here on
- pindexPrev = NULL;
-
- // Store the pindexBest used before CreateNewBlock, to avoid races
- nTransactionsUpdatedLast = nTransactionsUpdated;
- CBlockIndex* pindexPrevNew = pindexBest;
- nStart = GetTime();
-
- // Create new block
- if(pblock)
- {
- delete pblock;
- pblock = NULL;
- }
- pblock = CreateNewBlock(reservekey);
- if (!((!fTestNet && CBlockIndex::IsSuperMajority(2, pindexBest, 950, 1000)) ||
- (fTestNet && CBlockIndex::IsSuperMajority(2, pindexBest, 75, 100))))
- {
- // As long as version 1 blocks are valid at all, use them to be more compatible with old implementations
- pblock->nVersion = 1;
- }
- if (!pblock)
- throw JSONRPCError(-7, "Out of memory");
-
- // Need to update only after we know CreateNewBlock succeeded
- pindexPrev = pindexPrevNew;
- }
-
- // Update nTime
- pblock->UpdateTime(pindexPrev);
- pblock->nNonce = 0;
-
- Array transactions;
- BOOST_FOREACH(CTransaction tx, pblock->vtx) {
- if(tx.IsCoinBase())
- continue;
-
- CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
- ssTx << tx;
-
- transactions.push_back(HexStr(ssTx.begin(), ssTx.end()));
- }
-
- Object result;
- result.push_back(Pair("version", pblock->nVersion));
- result.push_back(Pair("previousblockhash", pblock->hashPrevBlock.GetHex()));
- result.push_back(Pair("transactions", transactions));
- result.push_back(Pair("coinbasevalue", (int64_t)pblock->vtx[0].vout[0].nValue));
- result.push_back(Pair("coinbaseflags", HexStr(COINBASE_FLAGS.begin(), COINBASE_FLAGS.end())));
- result.push_back(Pair("time", (int64_t)pblock->nTime));
- result.push_back(Pair("mintime", (int64_t)pindexPrev->GetMedianTimePast()+1));
- result.push_back(Pair("curtime", (int64_t)GetAdjustedTime()));
- result.push_back(Pair("bits", HexBits(pblock->nBits)));
- result.push_back(Pair("height", (int64_t)(pindexPrev->nHeight+1)));
-
- return result;
- }
- else
- {
- // Parse parameters
- CDataStream ssBlock(ParseHex(params[0].get_str()), SER_NETWORK, PROTOCOL_VERSION);
- CBlock pblock;
- ssBlock >> pblock;
-
- return ProcessBlock(NULL, &pblock);
- }
-}
-
-Value getblockhash(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 1)
- throw runtime_error(
- "getblockhash <index>\n"
- "Returns hash of block in best-block-chain at <index>.");
-
- int nHeight = params[0].get_int();
- if (nHeight < 0 || nHeight > nBestHeight)
- throw runtime_error("Block number out of range.");
-
- CBlock block;
- CBlockIndex* pblockindex = mapBlockIndex[hashBestChain];
- while (pblockindex->nHeight > nHeight)
- pblockindex = pblockindex->pprev;
- return pblockindex->phashBlock->GetHex();
-}
-
-Value getblock(const Array& params, bool fHelp)
-{
- if (fHelp || params.size() != 1)
- throw runtime_error(
- "getblock <hash>\n"
- "Returns details of a block with given block-hash.");
-
- std::string strHash = params[0].get_str();
- uint256 hash(strHash);
-
- if (mapBlockIndex.count(hash) == 0)
- throw JSONRPCError(-5, "Block not found");
-
- CBlock block;
- CBlockIndex* pblockindex = mapBlockIndex[hash];
- block.ReadFromDisk(pblockindex, true);
-
- return blockToJSON(block, pblockindex);
-}
-
-
-
-
-
-
-
-
-
-
//
// Call Table
@@ -2037,54 +199,63 @@ Value getblock(const Array& params, bool fHelp)
static const CRPCCommand vRPCCommands[] =
-{ // name function safe mode?
- // ------------------------ ----------------------- ----------
- { "help", &help, true },
- { "stop", &stop, true },
- { "getblockcount", &getblockcount, true },
- { "getblocknumber", &getblocknumber, true },
- { "getconnectioncount", &getconnectioncount, true },
- { "getdifficulty", &getdifficulty, true },
- { "getgenerate", &getgenerate, true },
- { "setgenerate", &setgenerate, true },
- { "gethashespersec", &gethashespersec, true },
- { "getinfo", &getinfo, true },
- { "getmininginfo", &getmininginfo, true },
- { "getnewaddress", &getnewaddress, true },
- { "getaccountaddress", &getaccountaddress, true },
- { "setaccount", &setaccount, true },
- { "getaccount", &getaccount, false },
- { "getaddressesbyaccount", &getaddressesbyaccount, true },
- { "sendtoaddress", &sendtoaddress, false },
- { "getreceivedbyaddress", &getreceivedbyaddress, false },
- { "getreceivedbyaccount", &getreceivedbyaccount, false },
- { "listreceivedbyaddress", &listreceivedbyaddress, false },
- { "listreceivedbyaccount", &listreceivedbyaccount, false },
- { "backupwallet", &backupwallet, true },
- { "keypoolrefill", &keypoolrefill, true },
- { "walletpassphrase", &walletpassphrase, true },
- { "walletpassphrasechange", &walletpassphrasechange, false },
- { "walletlock", &walletlock, true },
- { "encryptwallet", &encryptwallet, false },
- { "validateaddress", &validateaddress, true },
- { "getbalance", &getbalance, false },
- { "move", &movecmd, false },
- { "sendfrom", &sendfrom, false },
- { "sendmany", &sendmany, false },
- { "addmultisigaddress", &addmultisigaddress, false },
- { "getblock", &getblock, false },
- { "getblockhash", &getblockhash, false },
- { "gettransaction", &gettransaction, false },
- { "listtransactions", &listtransactions, false },
- { "signmessage", &signmessage, false },
- { "verifymessage", &verifymessage, false },
- { "getwork", &getwork, true },
- { "listaccounts", &listaccounts, false },
- { "settxfee", &settxfee, false },
- { "getmemorypool", &getmemorypool, true },
- { "listsinceblock", &listsinceblock, false },
- { "dumpprivkey", &dumpprivkey, false },
- { "importprivkey", &importprivkey, false },
+{ // name function safemd unlocked
+ // ------------------------ ----------------------- ------ --------
+ { "help", &help, true, true },
+ { "stop", &stop, true, true },
+ { "getblockcount", &getblockcount, true, false },
+ { "getconnectioncount", &getconnectioncount, true, false },
+ { "getpeerinfo", &getpeerinfo, true, false },
+ { "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 },
+ { "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 },
};
CRPCTable::CRPCTable()
@@ -2144,9 +315,9 @@ string rfc1123Time()
return string(buffer);
}
-static string HTTPReply(int nStatus, const string& strMsg)
+static string HTTPReply(int nStatus, const string& strMsg, bool keepalive)
{
- if (nStatus == 401)
+ if (nStatus == HTTP_UNAUTHORIZED)
return strprintf("HTTP/1.0 401 Authorization Required\r\n"
"Date: %s\r\n"
"Server: bitcoin-json-rpc/%s\r\n"
@@ -2164,17 +335,17 @@ static string HTTPReply(int nStatus, const string& strMsg)
"<BODY><H1>401 Unauthorized.</H1></BODY>\r\n"
"</HTML>\r\n", rfc1123Time().c_str(), FormatFullVersion().c_str());
const char *cStatus;
- if (nStatus == 200) cStatus = "OK";
- else if (nStatus == 400) cStatus = "Bad Request";
- else if (nStatus == 403) cStatus = "Forbidden";
- else if (nStatus == 404) cStatus = "Not Found";
- else if (nStatus == 500) cStatus = "Internal Server Error";
+ if (nStatus == HTTP_OK) cStatus = "OK";
+ else if (nStatus == HTTP_BAD_REQUEST) cStatus = "Bad Request";
+ else if (nStatus == HTTP_FORBIDDEN) cStatus = "Forbidden";
+ else if (nStatus == HTTP_NOT_FOUND) cStatus = "Not Found";
+ else if (nStatus == HTTP_INTERNAL_SERVER_ERROR) cStatus = "Internal Server Error";
else cStatus = "";
return strprintf(
"HTTP/1.1 %d %s\r\n"
"Date: %s\r\n"
- "Connection: close\r\n"
- "Content-Length: %d\r\n"
+ "Connection: %s\r\n"
+ "Content-Length: %"PRIszu"\r\n"
"Content-Type: application/json\r\n"
"Server: bitcoin-json-rpc/%s\r\n"
"\r\n"
@@ -2182,19 +353,24 @@ static string HTTPReply(int nStatus, const string& strMsg)
nStatus,
cStatus,
rfc1123Time().c_str(),
+ keepalive ? "keep-alive" : "close",
strMsg.size(),
FormatFullVersion().c_str(),
strMsg.c_str());
}
-int ReadHTTPStatus(std::basic_istream<char>& stream)
+int ReadHTTPStatus(std::basic_istream<char>& stream, int &proto)
{
string str;
getline(stream, str);
vector<string> vWords;
boost::split(vWords, str, boost::is_any_of(" "));
if (vWords.size() < 2)
- return 500;
+ return HTTP_INTERNAL_SERVER_ERROR;
+ proto = 0;
+ const char *ver = strstr(str.c_str(), "HTTP/1.");
+ if (ver != NULL)
+ proto = atoi(ver+7);
return atoi(vWords[1].c_str());
}
@@ -2229,12 +405,13 @@ int ReadHTTP(std::basic_istream<char>& stream, map<string, string>& mapHeadersRe
strMessageRet = "";
// Read status
- int nStatus = ReadHTTPStatus(stream);
+ int nProto = 0;
+ int nStatus = ReadHTTPStatus(stream, nProto);
// Read header
int nLen = ReadHTTPHeader(stream, mapHeadersRet);
if (nLen < 0 || nLen > (int)MAX_SIZE)
- return 500;
+ return HTTP_INTERNAL_SERVER_ERROR;
// Read message
if (nLen > 0)
@@ -2244,6 +421,16 @@ int ReadHTTP(std::basic_istream<char>& stream, map<string, string>& mapHeadersRe
strMessageRet = string(vch.begin(), vch.end());
}
+ string sConHdr = mapHeadersRet["connection"];
+
+ if ((sConHdr != "close") && (sConHdr != "keep-alive"))
+ {
+ if (nProto >= 1)
+ mapHeadersRet["connection"] = "keep-alive";
+ else
+ mapHeadersRet["connection"] = "close";
+ }
+
return nStatus;
}
@@ -2276,7 +463,7 @@ string JSONRPCRequest(const string& strMethod, const Array& params, const Value&
return write_string(Value(request), false) + "\n";
}
-string JSONRPCReply(const Value& result, const Value& error, const Value& id)
+Object JSONRPCReplyObj(const Value& result, const Value& error, const Value& id)
{
Object reply;
if (error.type() != null_type)
@@ -2285,24 +472,42 @@ string JSONRPCReply(const Value& result, const Value& error, const Value& id)
reply.push_back(Pair("result", result));
reply.push_back(Pair("error", error));
reply.push_back(Pair("id", id));
+ return reply;
+}
+
+string JSONRPCReply(const Value& result, const Value& error, const Value& id)
+{
+ Object reply = JSONRPCReplyObj(result, error, id);
return write_string(Value(reply), false) + "\n";
}
void ErrorReply(std::ostream& stream, const Object& objError, const Value& id)
{
// Send error reply from json-rpc error object
- int nStatus = 500;
+ int nStatus = HTTP_INTERNAL_SERVER_ERROR;
int code = find_value(objError, "code").get_int();
- if (code == -32600) nStatus = 400;
- else if (code == -32601) nStatus = 404;
+ if (code == RPC_INVALID_REQUEST) nStatus = HTTP_BAD_REQUEST;
+ else if (code == RPC_METHOD_NOT_FOUND) nStatus = HTTP_NOT_FOUND;
string strReply = JSONRPCReply(Value::null, objError, id);
- stream << HTTPReply(nStatus, strReply) << std::flush;
+ stream << HTTPReply(nStatus, strReply, false) << std::flush;
}
-bool ClientAllowed(const string& strAddress)
+bool ClientAllowed(const boost::asio::ip::address& address)
{
- if (strAddress == asio::ip::address_v4::loopback().to_string())
+ // Make sure that IPv4-compatible and IPv4-mapped IPv6 addresses are treated as IPv4 addresses
+ if (address.is_v6()
+ && (address.to_v6().is_v4_compatible()
+ || address.to_v6().is_v4_mapped()))
+ return ClientAllowed(address.to_v6().to_v4());
+
+ if (address == asio::ip::address_v4::loopback()
+ || address == asio::ip::address_v6::loopback()
+ || (address.is_v4()
+ // Check whether IPv4 addresses match 127.0.0.0/8 (loopback subnet)
+ && (address.to_v4().to_ulong() & 0xff000000) == 0x7f000000))
return true;
+
+ const string strAddress = address.to_string();
const vector<string>& vAllow = mapMultiArgs["-rpcallowip"];
BOOST_FOREACH(string strAllow, vAllow)
if (WildcardMatch(strAddress, strAllow))
@@ -2313,9 +518,10 @@ bool ClientAllowed(const string& strAddress)
//
// IOStream device that speaks SSL but can also speak non-SSL
//
+template <typename Protocol>
class SSLIOStreamDevice : public iostreams::device<iostreams::bidirectional> {
public:
- SSLIOStreamDevice(SSLStream &streamIn, bool fUseSSLIn) : stream(streamIn)
+ SSLIOStreamDevice(asio::ssl::stream<typename Protocol::socket> &streamIn, bool fUseSSLIn) : stream(streamIn)
{
fUseSSL = fUseSSLIn;
fNeedHandshake = fUseSSLIn;
@@ -2359,26 +565,151 @@ public:
private:
bool fNeedHandshake;
bool fUseSSL;
- SSLStream& stream;
+ asio::ssl::stream<typename Protocol::socket>& stream;
+};
+
+class AcceptedConnection
+{
+public:
+ virtual ~AcceptedConnection() {}
+
+ virtual std::iostream& stream() = 0;
+ virtual std::string peer_address_to_string() const = 0;
+ virtual void close() = 0;
+};
+
+template <typename Protocol>
+class AcceptedConnectionImpl : public AcceptedConnection
+{
+public:
+ AcceptedConnectionImpl(
+ asio::io_service& io_service,
+ ssl::context &context,
+ bool fUseSSL) :
+ sslStream(io_service, context),
+ _d(sslStream, fUseSSL),
+ _stream(_d)
+ {
+ }
+
+ virtual std::iostream& stream()
+ {
+ return _stream;
+ }
+
+ virtual std::string peer_address_to_string() const
+ {
+ return peer.address().to_string();
+ }
+
+ virtual void close()
+ {
+ _stream.close();
+ }
+
+ typename Protocol::endpoint peer;
+ asio::ssl::stream<typename Protocol::socket> sslStream;
+
+private:
+ SSLIOStreamDevice<Protocol> _d;
+ iostreams::stream< SSLIOStreamDevice<Protocol> > _stream;
};
void ThreadRPCServer(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadRPCServer(parg));
+ // Make this thread recognisable as the RPC listener
+ RenameThread("bitcoin-rpclist");
+
try
{
- vnThreadsRunning[THREAD_RPCSERVER]++;
+ vnThreadsRunning[THREAD_RPCLISTENER]++;
ThreadRPCServer2(parg);
- vnThreadsRunning[THREAD_RPCSERVER]--;
+ vnThreadsRunning[THREAD_RPCLISTENER]--;
}
catch (std::exception& e) {
- vnThreadsRunning[THREAD_RPCSERVER]--;
+ vnThreadsRunning[THREAD_RPCLISTENER]--;
PrintException(&e, "ThreadRPCServer()");
} catch (...) {
- vnThreadsRunning[THREAD_RPCSERVER]--;
+ vnThreadsRunning[THREAD_RPCLISTENER]--;
PrintException(NULL, "ThreadRPCServer()");
}
- printf("ThreadRPCServer exiting\n");
+ printf("ThreadRPCServer exited\n");
+}
+
+// Forward declaration required for RPCListen
+template <typename Protocol, typename SocketAcceptorService>
+static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
+ ssl::context& context,
+ bool fUseSSL,
+ AcceptedConnection* conn,
+ const boost::system::error_code& error);
+
+/**
+ * Sets up I/O resources to accept and handle a new connection.
+ */
+template <typename Protocol, typename SocketAcceptorService>
+static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
+ ssl::context& context,
+ const bool fUseSSL)
+{
+ // Accept connection
+ AcceptedConnectionImpl<Protocol>* conn = new AcceptedConnectionImpl<Protocol>(acceptor->get_io_service(), context, fUseSSL);
+
+ acceptor->async_accept(
+ conn->sslStream.lowest_layer(),
+ conn->peer,
+ boost::bind(&RPCAcceptHandler<Protocol, SocketAcceptorService>,
+ acceptor,
+ boost::ref(context),
+ fUseSSL,
+ conn,
+ boost::asio::placeholders::error));
+}
+
+/**
+ * Accept and handle incoming connection.
+ */
+template <typename Protocol, typename SocketAcceptorService>
+static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketAcceptorService> > acceptor,
+ ssl::context& context,
+ const bool fUseSSL,
+ 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())
+ RPCListen(acceptor, context, fUseSSL);
+
+ AcceptedConnectionImpl<ip::tcp>* tcp_conn = dynamic_cast< AcceptedConnectionImpl<ip::tcp>* >(conn);
+
+ // TODO: Actually handle errors
+ if (error)
+ {
+ delete conn;
+ }
+
+ // 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()))
+ {
+ // 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");
+ delete conn;
+ }
+
+ vnThreadsRunning[THREAD_RPCLISTENER]--;
}
void ThreadRPCServer2(void* parg)
@@ -2395,7 +726,7 @@ void ThreadRPCServer2(void* parg)
strWhatAmI = strprintf(_("To use the %s option"), "\"-server\"");
else if (mapArgs.count("-daemon"))
strWhatAmI = strprintf(_("To use the %s option"), "\"-daemon\"");
- ThreadSafeMessageBox(strprintf(
+ uiInterface.ThreadSafeMessageBox(strprintf(
_("%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"
@@ -2405,31 +736,14 @@ void ThreadRPCServer2(void* parg)
strWhatAmI.c_str(),
GetConfigFile().string().c_str(),
EncodeBase58(&rand_pwd[0],&rand_pwd[0]+32).c_str()),
- _("Error"), wxOK | wxMODAL);
+ _("Error"), CClientUIInterface::OK | CClientUIInterface::MODAL);
StartShutdown();
return;
}
- bool fUseSSL = GetBoolArg("-rpcssl");
- asio::ip::address bindAddress = mapArgs.count("-rpcallowip") ? asio::ip::address_v4::any() : asio::ip::address_v4::loopback();
+ const bool fUseSSL = GetBoolArg("-rpcssl");
asio::io_service io_service;
- ip::tcp::endpoint endpoint(bindAddress, GetArg("-rpcport", 8332));
- ip::tcp::acceptor acceptor(io_service);
- try
- {
- acceptor.open(endpoint.protocol());
- acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
- acceptor.bind(endpoint);
- acceptor.listen(socket_base::max_connections);
- }
- catch(boost::system::system_error &e)
- {
- ThreadSafeMessageBox(strprintf(_("An error occurred while setting up the RPC port %u for listening: %s"), endpoint.port(), e.what()),
- _("Error"), wxOK | wxMODAL);
- StartShutdown();
- return;
- }
ssl::context context(io_service, ssl::context::sslv23);
if (fUseSSL)
@@ -2450,132 +764,284 @@ void ThreadRPCServer2(void* parg)
SSL_CTX_set_cipher_list(context.impl(), strCiphers.c_str());
}
- loop
+ // Try a dual IPv6/IPv4 socket, falling back to separate IPv4 and IPv6 sockets
+ const bool loopback = !mapArgs.count("-rpcallowip");
+ 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<ip::tcp::acceptor> acceptor(new ip::tcp::acceptor(io_service));
+
+ boost::signals2::signal<void ()> StopRequests;
+
+ bool fListening = false;
+ std::string strerr;
+ try
{
- // Accept connection
- SSLStream sslStream(io_service, context);
- SSLIOStreamDevice d(sslStream, fUseSSL);
- iostreams::stream<SSLIOStreamDevice> stream(d);
-
- ip::tcp::endpoint peer;
- vnThreadsRunning[THREAD_RPCSERVER]--;
- acceptor.accept(sslStream.lowest_layer(), peer);
- vnThreadsRunning[4]++;
- if (fShutdown)
- return;
+ acceptor->open(endpoint.protocol());
+ acceptor->set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
+
+ // Try making the socket dual IPv6/IPv4 (if listening on the "any" address)
+ acceptor->set_option(boost::asio::ip::v6_only(loopback), v6_only_error);
+
+ 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<void ()>(
+ static_cast<void (ip::tcp::acceptor::*)()>(&ip::tcp::acceptor::close), acceptor.get())
+ .track(acceptor));
+
+ fListening = true;
+ }
+ catch(boost::system::system_error &e)
+ {
+ strerr = strprintf(_("An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s"), endpoint.port(), e.what());
+ }
- // Restrict callers by IP
- if (!ClientAllowed(peer.address().to_string()))
+ try {
+ // If dual IPv6/IPv4 failed (or we're opening loopback interfaces only), open IPv4 separately
+ if (!fListening || loopback || v6_only_error)
{
- // Only send a 403 if we're not using SSL to prevent a DoS during the SSL handshake.
- if (!fUseSSL)
- stream << HTTPReply(403, "") << std::flush;
- continue;
+ bindAddress = loopback ? asio::ip::address_v4::loopback() : asio::ip::address_v4::any();
+ endpoint.address(bindAddress);
+
+ acceptor.reset(new ip::tcp::acceptor(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<void ()>(
+ static_cast<void (ip::tcp::acceptor::*)()>(&ip::tcp::acceptor::close), acceptor.get())
+ .track(acceptor));
+
+ fListening = true;
}
+ }
+ catch(boost::system::system_error &e)
+ {
+ strerr = strprintf(_("An error occurred while setting up the RPC port %u for listening on IPv4: %s"), endpoint.port(), e.what());
+ }
+ if (!fListening) {
+ uiInterface.ThreadSafeMessageBox(strerr, _("Error"), CClientUIInterface::OK | CClientUIInterface::MODAL);
+ StartShutdown();
+ return;
+ }
+
+ vnThreadsRunning[THREAD_RPCLISTENER]--;
+ while (!fShutdown)
+ io_service.run_one();
+ vnThreadsRunning[THREAD_RPCLISTENER]++;
+ StopRequests();
+}
+
+class JSONRequest
+{
+public:
+ Value id;
+ string strMethod;
+ Array params;
+
+ JSONRequest() { id = Value::null; }
+ void parse(const Value& valRequest);
+};
+
+void JSONRequest::parse(const Value& valRequest)
+{
+ // Parse request
+ if (valRequest.type() != obj_type)
+ throw JSONRPCError(RPC_INVALID_REQUEST, "Invalid Request object");
+ const Object& request = valRequest.get_obj();
+
+ // Parse id now so errors from here on will have the id
+ id = find_value(request, "id");
+
+ // Parse method
+ Value valMethod = find_value(request, "method");
+ if (valMethod.type() == null_type)
+ throw JSONRPCError(RPC_INVALID_REQUEST, "Missing method");
+ if (valMethod.type() != str_type)
+ throw JSONRPCError(RPC_INVALID_REQUEST, "Method must be a string");
+ strMethod = valMethod.get_str();
+ if (strMethod != "getwork" && strMethod != "getblocktemplate")
+ printf("ThreadRPCServer method=%s\n", strMethod.c_str());
+
+ // Parse params
+ Value valParams = find_value(request, "params");
+ if (valParams.type() == array_type)
+ params = valParams.get_array();
+ else if (valParams.type() == null_type)
+ params = Array();
+ else
+ throw JSONRPCError(RPC_INVALID_REQUEST, "Params must be an array");
+}
+
+static Object JSONRPCExecOne(const Value& req)
+{
+ Object rpc_result;
+
+ JSONRequest jreq;
+ try {
+ jreq.parse(req);
+
+ Value result = tableRPC.execute(jreq.strMethod, jreq.params);
+ rpc_result = JSONRPCReplyObj(result, Value::null, jreq.id);
+ }
+ catch (Object& objError)
+ {
+ rpc_result = JSONRPCReplyObj(Value::null, objError, jreq.id);
+ }
+ catch (std::exception& e)
+ {
+ rpc_result = JSONRPCReplyObj(Value::null,
+ JSONRPCError(RPC_PARSE_ERROR, e.what()), jreq.id);
+ }
+
+ return rpc_result;
+}
+
+static string JSONRPCExecBatch(const Array& vReq)
+{
+ Array ret;
+ for (unsigned int reqIdx = 0; reqIdx < vReq.size(); reqIdx++)
+ ret.push_back(JSONRPCExecOne(vReq[reqIdx]));
+
+ return write_string(Value(ret), false) + "\n";
+}
+
+static CCriticalSection cs_THREAD_RPCHANDLER;
+
+void ThreadRPCServer3(void* parg)
+{
+ // 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;
+ }
map<string, string> mapHeaders;
string strRequest;
- boost::thread api_caller(ReadHTTP, boost::ref(stream), boost::ref(mapHeaders), boost::ref(strRequest));
- if (!api_caller.timed_join(boost::posix_time::seconds(GetArg("-rpctimeout", 30))))
- { // Timed out:
- acceptor.cancel();
- printf("ThreadRPCServer ReadHTTP timeout\n");
- continue;
- }
+ ReadHTTP(conn->stream(), mapHeaders, strRequest);
// Check authorization
if (mapHeaders.count("authorization") == 0)
{
- stream << HTTPReply(401, "") << std::flush;
- continue;
+ conn->stream() << HTTPReply(HTTP_UNAUTHORIZED, "", false) << std::flush;
+ break;
}
if (!HTTPAuthorized(mapHeaders))
{
- printf("ThreadRPCServer incorrect password attempt from %s\n",peer.address().to_string().c_str());
+ printf("ThreadRPCServer incorrect password attempt from %s\n", conn->peer_address_to_string().c_str());
/* Deter brute-forcing short passwords.
If this results in a DOS the user really
shouldn't have their RPC port exposed.*/
if (mapArgs["-rpcpassword"].size() < 20)
Sleep(250);
- stream << HTTPReply(401, "") << std::flush;
- continue;
+ conn->stream() << HTTPReply(HTTP_UNAUTHORIZED, "", false) << std::flush;
+ break;
}
+ if (mapHeaders["connection"] == "close")
+ fRun = false;
- Value id = Value::null;
+ JSONRequest jreq;
try
{
// Parse request
Value valRequest;
- if (!read_string(strRequest, valRequest) || valRequest.type() != obj_type)
- throw JSONRPCError(-32700, "Parse error");
- const Object& request = valRequest.get_obj();
-
- // Parse id now so errors from here on will have the id
- id = find_value(request, "id");
-
- // Parse method
- Value valMethod = find_value(request, "method");
- if (valMethod.type() == null_type)
- throw JSONRPCError(-32600, "Missing method");
- if (valMethod.type() != str_type)
- throw JSONRPCError(-32600, "Method must be a string");
- string strMethod = valMethod.get_str();
- if (strMethod != "getwork" && strMethod != "getmemorypool")
- printf("ThreadRPCServer method=%s\n", strMethod.c_str());
-
- // Parse params
- Value valParams = find_value(request, "params");
- Array params;
- if (valParams.type() == array_type)
- params = valParams.get_array();
- else if (valParams.type() == null_type)
- params = Array();
- else
- throw JSONRPCError(-32600, "Params must be an array");
+ if (!read_string(strRequest, valRequest))
+ throw JSONRPCError(RPC_PARSE_ERROR, "Parse error");
- // Find method
- const CRPCCommand *pcmd = tableRPC[strMethod];
- if (!pcmd)
- throw JSONRPCError(-32601, "Method not found");
+ string strReply;
- // Observe safe mode
- string strWarning = GetWarnings("rpc");
- if (strWarning != "" && !GetBoolArg("-disablesafemode") &&
- !pcmd->okSafeMode)
- throw JSONRPCError(-2, string("Safe mode: ") + strWarning);
+ // singleton request
+ if (valRequest.type() == obj_type) {
+ jreq.parse(valRequest);
- try
- {
- // Execute
- Value result;
- {
- LOCK2(cs_main, pwalletMain->cs_wallet);
- result = pcmd->actor(params, false);
- }
+ Value result = tableRPC.execute(jreq.strMethod, jreq.params);
// Send reply
- string strReply = JSONRPCReply(result, Value::null, id);
- stream << HTTPReply(200, strReply) << std::flush;
- }
- catch (std::exception& e)
- {
- ErrorReply(stream, JSONRPCError(-1, e.what()), id);
- }
+ strReply = JSONRPCReply(result, Value::null, jreq.id);
+
+ // array of requests
+ } else if (valRequest.type() == array_type)
+ strReply = JSONRPCExecBatch(valRequest.get_array());
+ else
+ throw JSONRPCError(RPC_PARSE_ERROR, "Top-level object parse error");
+
+ conn->stream() << HTTPReply(HTTP_OK, strReply, fRun) << std::flush;
}
catch (Object& objError)
{
- ErrorReply(stream, objError, id);
+ ErrorReply(conn->stream(), objError, jreq.id);
+ break;
}
catch (std::exception& e)
{
- ErrorReply(stream, JSONRPCError(-32700, e.what()), id);
+ ErrorReply(conn->stream(), JSONRPCError(RPC_PARSE_ERROR, e.what()), jreq.id);
+ break;
}
}
+
+ delete conn;
+ {
+ LOCK(cs_THREAD_RPCHANDLER);
+ vnThreadsRunning[THREAD_RPCHANDLER]--;
+ }
}
+json_spirit::Value CRPCTable::execute(const std::string &strMethod, const json_spirit::Array &params) const
+{
+ // Find method
+ const CRPCCommand *pcmd = tableRPC[strMethod];
+ if (!pcmd)
+ throw JSONRPCError(RPC_METHOD_NOT_FOUND, "Method not found");
+ // Observe safe mode
+ string strWarning = GetWarnings("rpc");
+ if (strWarning != "" && !GetBoolArg("-disablesafemode") &&
+ !pcmd->okSafeMode)
+ throw JSONRPCError(RPC_FORBIDDEN_BY_SAFE_MODE, string("Safe mode: ") + strWarning);
+
+ try
+ {
+ // Execute
+ Value result;
+ {
+ if (pcmd->unlocked)
+ result = pcmd->actor(params, false);
+ else {
+ LOCK2(cs_main, pwalletMain->cs_wallet);
+ result = pcmd->actor(params, false);
+ }
+ }
+ return result;
+ }
+ catch (std::exception& e)
+ {
+ throw JSONRPCError(RPC_MISC_ERROR, e.what());
+ }
+}
Object CallRPC(const string& strMethod, const Array& params)
@@ -2591,10 +1057,10 @@ Object CallRPC(const string& strMethod, const Array& params)
asio::io_service io_service;
ssl::context context(io_service, ssl::context::sslv23);
context.set_options(ssl::context::no_sslv2);
- SSLStream sslStream(io_service, context);
- SSLIOStreamDevice d(sslStream, fUseSSL);
- iostreams::stream<SSLIOStreamDevice> stream(d);
- if (!d.connect(GetArg("-rpcconnect", "127.0.0.1"), GetArg("-rpcport", "8332")))
+ asio::ssl::stream<asio::ip::tcp::socket> sslStream(io_service, context);
+ SSLIOStreamDevice<asio::ip::tcp> d(sslStream, fUseSSL);
+ iostreams::stream< SSLIOStreamDevice<asio::ip::tcp> > stream(d);
+ if (!d.connect(GetArg("-rpcconnect", "127.0.0.1"), GetArg("-rpcport", itostr(GetDefaultRPCPort()))))
throw runtime_error("couldn't connect to server");
// HTTP basic authentication
@@ -2611,9 +1077,9 @@ Object CallRPC(const string& strMethod, const Array& params)
map<string, string> mapHeaders;
string strReply;
int nStatus = ReadHTTP(stream, mapHeaders, strReply);
- if (nStatus == 401)
+ if (nStatus == HTTP_UNAUTHORIZED)
throw runtime_error("incorrect rpcuser or rpcpassword (authorization failed)");
- else if (nStatus >= 400 && nStatus != 400 && nStatus != 404 && nStatus != 500)
+ else if (nStatus >= 400 && nStatus != HTTP_BAD_REQUEST && nStatus != HTTP_NOT_FOUND && nStatus != HTTP_INTERNAL_SERVER_ERROR)
throw runtime_error(strprintf("server returned HTTP error %d", nStatus));
else if (strReply.empty())
throw runtime_error("no response from server");
@@ -2633,15 +1099,19 @@ Object CallRPC(const string& strMethod, const Array& params)
template<typename T>
-void ConvertTo(Value& value)
+void ConvertTo(Value& value, bool fAllowNull=false)
{
+ if (fAllowNull && value.type() == null_type)
+ return;
if (value.type() == str_type)
{
// reinterpret string as unquoted json value
Value value2;
- if (!read_string(value.get_str(), value2))
- throw runtime_error("type mismatch");
- value = value2.get_value<T>();
+ string strJSON = value.get_str();
+ if (!read_string(strJSON, value2))
+ throw runtime_error(string("Error parsing JSON:")+strJSON);
+ ConvertTo<T>(value2, fAllowNull);
+ value = value2;
}
else
{
@@ -2649,6 +1119,57 @@ void ConvertTo(Value& value)
}
}
+// Convert strings to command-specific RPC representation
+Array RPCConvertValues(const std::string &strMethod, const std::vector<std::string> &strParams)
+{
+ Array params;
+ BOOST_FOREACH(const std::string &param, strParams)
+ params.push_back(param);
+
+ int n = params.size();
+
+ //
+ // Special case non-string parameter types
+ //
+ if (strMethod == "stop" && n > 0) ConvertTo<bool>(params[0]);
+ if (strMethod == "setgenerate" && n > 0) ConvertTo<bool>(params[0]);
+ if (strMethod == "setgenerate" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "sendtoaddress" && n > 1) ConvertTo<double>(params[1]);
+ if (strMethod == "settxfee" && n > 0) ConvertTo<double>(params[0]);
+ if (strMethod == "getreceivedbyaddress" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "getreceivedbyaccount" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "listreceivedbyaddress" && n > 0) ConvertTo<boost::int64_t>(params[0]);
+ if (strMethod == "listreceivedbyaddress" && n > 1) ConvertTo<bool>(params[1]);
+ if (strMethod == "listreceivedbyaccount" && n > 0) ConvertTo<boost::int64_t>(params[0]);
+ if (strMethod == "listreceivedbyaccount" && n > 1) ConvertTo<bool>(params[1]);
+ if (strMethod == "getbalance" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "getblockhash" && n > 0) ConvertTo<boost::int64_t>(params[0]);
+ if (strMethod == "move" && n > 2) ConvertTo<double>(params[2]);
+ if (strMethod == "move" && n > 3) ConvertTo<boost::int64_t>(params[3]);
+ if (strMethod == "sendfrom" && n > 2) ConvertTo<double>(params[2]);
+ if (strMethod == "sendfrom" && n > 3) ConvertTo<boost::int64_t>(params[3]);
+ if (strMethod == "listtransactions" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "listtransactions" && n > 2) ConvertTo<boost::int64_t>(params[2]);
+ if (strMethod == "listaccounts" && n > 0) ConvertTo<boost::int64_t>(params[0]);
+ if (strMethod == "walletpassphrase" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "getblocktemplate" && n > 0) ConvertTo<Object>(params[0]);
+ if (strMethod == "listsinceblock" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "sendmany" && n > 1) ConvertTo<Object>(params[1]);
+ if (strMethod == "sendmany" && n > 2) ConvertTo<boost::int64_t>(params[2]);
+ if (strMethod == "addmultisigaddress" && n > 0) ConvertTo<boost::int64_t>(params[0]);
+ if (strMethod == "addmultisigaddress" && n > 1) ConvertTo<Array>(params[1]);
+ if (strMethod == "listunspent" && n > 0) ConvertTo<boost::int64_t>(params[0]);
+ if (strMethod == "listunspent" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "listunspent" && n > 2) ConvertTo<Array>(params[2]);
+ if (strMethod == "getrawtransaction" && n > 1) ConvertTo<boost::int64_t>(params[1]);
+ if (strMethod == "createrawtransaction" && n > 0) ConvertTo<Array>(params[0]);
+ if (strMethod == "createrawtransaction" && n > 1) ConvertTo<Object>(params[1]);
+ if (strMethod == "signrawtransaction" && n > 1) ConvertTo<Array>(params[1], true);
+ if (strMethod == "signrawtransaction" && n > 2) ConvertTo<Array>(params[2], true);
+
+ return params;
+}
+
int CommandLineRPC(int argc, char *argv[])
{
string strPrint;
@@ -2668,53 +1189,8 @@ int CommandLineRPC(int argc, char *argv[])
string strMethod = argv[1];
// Parameters default to strings
- Array params;
- for (int i = 2; i < argc; i++)
- params.push_back(argv[i]);
- int n = params.size();
-
- //
- // Special case non-string parameter types
- //
- if (strMethod == "setgenerate" && n > 0) ConvertTo<bool>(params[0]);
- if (strMethod == "setgenerate" && n > 1) ConvertTo<boost::int64_t>(params[1]);
- if (strMethod == "sendtoaddress" && n > 1) ConvertTo<double>(params[1]);
- if (strMethod == "settxfee" && n > 0) ConvertTo<double>(params[0]);
- if (strMethod == "getreceivedbyaddress" && n > 1) ConvertTo<boost::int64_t>(params[1]);
- if (strMethod == "getreceivedbyaccount" && n > 1) ConvertTo<boost::int64_t>(params[1]);
- if (strMethod == "listreceivedbyaddress" && n > 0) ConvertTo<boost::int64_t>(params[0]);
- if (strMethod == "listreceivedbyaddress" && n > 1) ConvertTo<bool>(params[1]);
- if (strMethod == "listreceivedbyaccount" && n > 0) ConvertTo<boost::int64_t>(params[0]);
- if (strMethod == "listreceivedbyaccount" && n > 1) ConvertTo<bool>(params[1]);
- if (strMethod == "getbalance" && n > 1) ConvertTo<boost::int64_t>(params[1]);
- if (strMethod == "getblockhash" && n > 0) ConvertTo<boost::int64_t>(params[0]);
- if (strMethod == "move" && n > 2) ConvertTo<double>(params[2]);
- if (strMethod == "move" && n > 3) ConvertTo<boost::int64_t>(params[3]);
- if (strMethod == "sendfrom" && n > 2) ConvertTo<double>(params[2]);
- if (strMethod == "sendfrom" && n > 3) ConvertTo<boost::int64_t>(params[3]);
- if (strMethod == "listtransactions" && n > 1) ConvertTo<boost::int64_t>(params[1]);
- if (strMethod == "listtransactions" && n > 2) ConvertTo<boost::int64_t>(params[2]);
- if (strMethod == "listaccounts" && n > 0) ConvertTo<boost::int64_t>(params[0]);
- if (strMethod == "walletpassphrase" && n > 1) ConvertTo<boost::int64_t>(params[1]);
- if (strMethod == "listsinceblock" && n > 1) ConvertTo<boost::int64_t>(params[1]);
- if (strMethod == "sendmany" && n > 1)
- {
- string s = params[1].get_str();
- Value v;
- if (!read_string(s, v) || v.type() != obj_type)
- throw runtime_error("type mismatch");
- params[1] = v.get_obj();
- }
- if (strMethod == "sendmany" && n > 2) ConvertTo<boost::int64_t>(params[2]);
- if (strMethod == "addmultisigaddress" && n > 0) ConvertTo<boost::int64_t>(params[0]);
- if (strMethod == "addmultisigaddress" && n > 1)
- {
- string s = params[1].get_str();
- Value v;
- if (!read_string(s, v) || v.type() != array_type)
- throw runtime_error("type mismatch "+s);
- params[1] = v.get_array();
- }
+ std::vector<std::string> strParams(&argv[2], &argv[argc]);
+ Array params = RPCConvertValues(strMethod, strParams);
// Execute
Object reply = CallRPC(strMethod, params);
diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h
index f8216867b6..89ab976f56 100644
--- a/src/bitcoinrpc.h
+++ b/src/bitcoinrpc.h
@@ -7,15 +7,86 @@
#define _BITCOINRPC_H_ 1
#include <string>
+#include <list>
#include <map>
+class CBlockIndex;
+
#include "json/json_spirit_reader_template.h"
#include "json/json_spirit_writer_template.h"
#include "json/json_spirit_utils.h"
+#include "util.h"
+
+// HTTP status codes
+enum HTTPStatusCode
+{
+ HTTP_OK = 200,
+ HTTP_BAD_REQUEST = 400,
+ HTTP_UNAUTHORIZED = 401,
+ HTTP_FORBIDDEN = 403,
+ HTTP_NOT_FOUND = 404,
+ HTTP_INTERNAL_SERVER_ERROR = 500,
+};
+
+// Bitcoin RPC error codes
+enum RPCErrorCode
+{
+ // Standard JSON-RPC 2.0 errors
+ RPC_INVALID_REQUEST = -32600,
+ RPC_METHOD_NOT_FOUND = -32601,
+ RPC_INVALID_PARAMS = -32602,
+ RPC_INTERNAL_ERROR = -32603,
+ RPC_PARSE_ERROR = -32700,
+
+ // General application defined errors
+ RPC_MISC_ERROR = -1, // std::exception thrown in command handling
+ RPC_FORBIDDEN_BY_SAFE_MODE = -2, // Server is in safe mode, and command is not allowed in safe mode
+ RPC_TYPE_ERROR = -3, // Unexpected type was passed as parameter
+ RPC_INVALID_ADDRESS_OR_KEY = -5, // Invalid address or key
+ RPC_OUT_OF_MEMORY = -7, // Ran out of memory during operation
+ RPC_INVALID_PARAMETER = -8, // Invalid, missing or duplicate parameter
+ RPC_DATABASE_ERROR = -20, // Database error
+ RPC_DESERIALIZATION_ERROR = -22, // Error parsing or validating structure in raw format
+
+ // P2P client errors
+ RPC_CLIENT_NOT_CONNECTED = -9, // Bitcoin is not connected
+ RPC_CLIENT_IN_INITIAL_DOWNLOAD = -10, // Still downloading initial blocks
+
+ // Wallet errors
+ RPC_WALLET_ERROR = -4, // Unspecified problem with wallet (key not found etc.)
+ RPC_WALLET_INSUFFICIENT_FUNDS = -6, // Not enough funds in wallet or account
+ RPC_WALLET_INVALID_ACCOUNT_NAME = -11, // Invalid account name
+ RPC_WALLET_KEYPOOL_RAN_OUT = -12, // Keypool ran out, call keypoolrefill first
+ RPC_WALLET_UNLOCK_NEEDED = -13, // Enter the wallet passphrase with walletpassphrase first
+ RPC_WALLET_PASSPHRASE_INCORRECT = -14, // The wallet passphrase entered was incorrect
+ RPC_WALLET_WRONG_ENC_STATE = -15, // Command given in wrong wallet encryption state (encrypting an encrypted wallet etc.)
+ RPC_WALLET_ENCRYPTION_FAILED = -16, // Failed to encrypt the wallet
+ RPC_WALLET_ALREADY_UNLOCKED = -17, // Wallet is already unlocked
+};
+
+json_spirit::Object JSONRPCError(int code, const std::string& message);
+
void ThreadRPCServer(void* parg);
int CommandLineRPC(int argc, char *argv[]);
+/** Convert parameter values for RPC call from strings to command-specific JSON objects. */
+json_spirit::Array RPCConvertValues(const std::string &strMethod, const std::vector<std::string> &strParams);
+
+/*
+ Type-check arguments; throws JSONRPCError if wrong type given. Does not check that
+ the right number of arguments are passed, just that any passed are the correct type.
+ Use like: RPCTypeCheck(params, boost::assign::list_of(str_type)(int_type)(obj_type));
+*/
+void RPCTypeCheck(const json_spirit::Array& params,
+ const std::list<json_spirit::Value_type>& typesExpected, bool fAllowNull=false);
+/*
+ Check for expected keys/value types in an Object.
+ Use like: RPCTypeCheck(object, boost::assign::map_list_of("name", str_type)("value", int_type));
+*/
+void RPCTypeCheck(const json_spirit::Object& o,
+ const std::map<std::string, json_spirit::Value_type>& typesExpected, bool fAllowNull=false);
+
typedef json_spirit::Value(*rpcfn_type)(const json_spirit::Array& params, bool fHelp);
class CRPCCommand
@@ -24,8 +95,12 @@ public:
std::string name;
rpcfn_type actor;
bool okSafeMode;
+ bool unlocked;
};
+/**
+ * Bitcoin RPC command dispatcher.
+ */
class CRPCTable
{
private:
@@ -34,8 +109,83 @@ public:
CRPCTable();
const CRPCCommand* operator[](std::string name) const;
std::string help(std::string name) const;
+
+ /**
+ * Execute a method.
+ * @param method Method to execute
+ * @param params Array of arguments (JSON objects)
+ * @returns Result of the call.
+ * @throws an exception (json_spirit::Value) when an error happens.
+ */
+ json_spirit::Value execute(const std::string &method, const json_spirit::Array &params) const;
};
extern const CRPCTable tableRPC;
+extern int64 nWalletUnlockTime;
+extern int64 AmountFromValue(const json_spirit::Value& value);
+extern json_spirit::Value ValueFromAmount(int64 amount);
+extern double GetDifficulty(const CBlockIndex* blockindex = NULL);
+extern std::string HexBits(unsigned int nBits);
+extern std::string HelpRequiringPassphrase();
+extern void EnsureWalletIsUnlocked();
+
+extern json_spirit::Value getconnectioncount(const json_spirit::Array& params, bool fHelp); // in rpcnet.cpp
+extern json_spirit::Value getpeerinfo(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value dumpprivkey(const json_spirit::Array& params, bool fHelp); // in rpcdump.cpp
+extern json_spirit::Value importprivkey(const json_spirit::Array& params, bool fHelp);
+
+extern json_spirit::Value getgenerate(const json_spirit::Array& params, bool fHelp); // in rpcmining.cpp
+extern json_spirit::Value setgenerate(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value gethashespersec(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getmininginfo(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getwork(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getblocktemplate(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value submitblock(const json_spirit::Array& params, bool fHelp);
+
+extern json_spirit::Value getnewaddress(const json_spirit::Array& params, bool fHelp); // in rpcwallet.cpp
+extern json_spirit::Value getaccountaddress(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value setaccount(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getaccount(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getaddressesbyaccount(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value sendtoaddress(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value signmessage(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value verifymessage(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getreceivedbyaddress(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getreceivedbyaccount(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getbalance(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value movecmd(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value sendfrom(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value sendmany(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value addmultisigaddress(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value listreceivedbyaddress(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value listreceivedbyaccount(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value listtransactions(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value listaddressgroupings(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value listaccounts(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value listsinceblock(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value gettransaction(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value backupwallet(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value keypoolrefill(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value walletpassphrase(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value walletpassphrasechange(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value walletlock(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value encryptwallet(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value validateaddress(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getinfo(const json_spirit::Array& params, bool fHelp);
+
+extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp
+extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value createrawtransaction(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value decoderawtransaction(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value signrawtransaction(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value sendrawtransaction(const json_spirit::Array& params, bool fHelp);
+
+extern json_spirit::Value getblockcount(const json_spirit::Array& params, bool fHelp); // in rpcblockchain.cpp
+extern json_spirit::Value getdifficulty(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value settxfee(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getrawmempool(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getblockhash(const json_spirit::Array& params, bool fHelp);
+extern json_spirit::Value getblock(const json_spirit::Array& params, bool fHelp);
+
#endif
diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp
index 67e2c4cb78..8208854962 100644
--- a/src/checkpoints.cpp
+++ b/src/checkpoints.cpp
@@ -29,30 +29,35 @@ namespace Checkpoints
(105000, uint256("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97"))
(134444, uint256("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe"))
(168000, uint256("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763"))
- (185333, uint256("0x00000000000002334c71b8706940c20348af897a9cfc0f1a6dab0d14d4ceb815"))
+ (193000, uint256("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317"))
+ ;
+
+ static MapCheckpoints mapCheckpointsTestnet =
+ boost::assign::map_list_of
+ ( 546, uint256("000000002a936ca763904c3c35fce2f3556c559c0214345d31b1bcebf76acb70"))
;
bool CheckBlock(int nHeight, const uint256& hash)
{
- if (fTestNet) return true; // Testnet has no checkpoints
+ MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints);
- MapCheckpoints::const_iterator i = mapCheckpoints.find(nHeight);
- if (i == mapCheckpoints.end()) return true;
+ MapCheckpoints::const_iterator i = checkpoints.find(nHeight);
+ if (i == checkpoints.end()) return true;
return hash == i->second;
}
int GetTotalBlocksEstimate()
{
- if (fTestNet) return 0;
+ MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints);
- return mapCheckpoints.rbegin()->first;
+ return checkpoints.rbegin()->first;
}
CBlockIndex* GetLastCheckpoint(const std::map<uint256, CBlockIndex*>& mapBlockIndex)
{
- if (fTestNet) return NULL;
+ MapCheckpoints& checkpoints = (fTestNet ? mapCheckpointsTestnet : mapCheckpoints);
- BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, mapCheckpoints)
+ BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, checkpoints)
{
const uint256& hash = i.second;
std::map<uint256, CBlockIndex*>::const_iterator t = mapBlockIndex.find(hash);
diff --git a/src/clientversion.h b/src/clientversion.h
new file mode 100644
index 0000000000..2f695e5cc6
--- /dev/null
+++ b/src/clientversion.h
@@ -0,0 +1,19 @@
+#ifndef CLIENTVERSION_H
+#define CLIENTVERSION_H
+
+//
+// client versioning
+//
+
+// 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 7
+#define CLIENT_VERSION_REVISION 1
+#define CLIENT_VERSION_BUILD 0
+
+// 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)
+#define DO_STRINGIZE(X) #X
+
+#endif // CLIENTVERSION_H
diff --git a/src/crypter.cpp b/src/crypter.cpp
index ca4618886d..a2b62a87c8 100644
--- a/src/crypter.cpp
+++ b/src/crypter.cpp
@@ -17,12 +17,6 @@ bool CCrypter::SetKeyFromPassphrase(const SecureString& strKeyData, const std::v
if (nRounds < 1 || chSalt.size() != WALLET_CRYPTO_SALT_SIZE)
return false;
- // Try to keep the key data out of swap (and be a bit over-careful to keep the IV that we don't even use out of swap)
- // Note that this does nothing about suspend-to-disk (which will put all our key data on disk)
- // Note as well that at no point in this program is any attempt made to prevent stealing of keys by reading the memory of the running process.
- mlock(&chKey[0], sizeof chKey);
- mlock(&chIV[0], sizeof chIV);
-
int i = 0;
if (nDerivationMethod == 0)
i = EVP_BytesToKey(EVP_aes_256_cbc(), EVP_sha512(), &chSalt[0],
@@ -44,12 +38,6 @@ bool CCrypter::SetKey(const CKeyingMaterial& chNewKey, const std::vector<unsigne
if (chNewKey.size() != WALLET_CRYPTO_KEY_SIZE || chNewIV.size() != WALLET_CRYPTO_KEY_SIZE)
return false;
- // Try to keep the key data out of swap
- // Note that this does nothing about suspend-to-disk (which will put all our key data on disk)
- // Note as well that at no point in this program is any attempt made to prevent stealing of keys by reading the memory of the running process.
- mlock(&chKey[0], sizeof chKey);
- mlock(&chIV[0], sizeof chIV);
-
memcpy(&chKey[0], &chNewKey[0], sizeof chKey);
memcpy(&chIV[0], &chNewIV[0], sizeof chIV);
diff --git a/src/crypter.h b/src/crypter.h
index f46c32a227..6f75170bac 100644
--- a/src/crypter.h
+++ b/src/crypter.h
@@ -78,19 +78,26 @@ public:
{
OPENSSL_cleanse(chKey, sizeof(chKey));
OPENSSL_cleanse(chIV, sizeof(chIV));
- munlock(&chKey, sizeof chKey);
- munlock(&chIV, sizeof chIV);
fKeySet = false;
}
CCrypter()
{
fKeySet = false;
+
+ // Try to keep the key data out of swap (and be a bit over-careful to keep the IV that we don't even use out of swap)
+ // Note that this does nothing about suspend-to-disk (which will put all our key data on disk)
+ // Note as well that at no point in this program is any attempt made to prevent stealing of keys by reading the memory of the running process.
+ LockedPageManager::instance.LockRange(&chKey[0], sizeof chKey);
+ LockedPageManager::instance.LockRange(&chIV[0], sizeof chIV);
}
~CCrypter()
{
CleanKey();
+
+ LockedPageManager::instance.UnlockRange(&chKey[0], sizeof chKey);
+ LockedPageManager::instance.UnlockRange(&chIV[0], sizeof chIV);
}
};
diff --git a/src/db.cpp b/src/db.cpp
index c67a34c39e..297240c842 100644
--- a/src/db.cpp
+++ b/src/db.cpp
@@ -26,45 +26,190 @@ unsigned int nWalletDBUpdated;
// CDB
//
-CCriticalSection cs_db;
-static bool fDbEnvInit = false;
-bool fDetachDB = false;
-DbEnv dbenv(0);
-map<string, int> mapFileUseCount;
-static map<string, Db*> mapDb;
+CDBEnv bitdb;
-static void EnvShutdown()
+void CDBEnv::EnvShutdown()
{
if (!fDbEnvInit)
return;
fDbEnvInit = false;
- try
- {
- dbenv.close(0);
- }
- catch (const DbException& e)
- {
- printf("EnvShutdown exception: %s (%d)\n", e.what(), e.get_errno());
- }
- DbEnv(0).remove(GetDataDir().string().c_str(), 0);
+ int ret = dbenv.close(0);
+ if (ret != 0)
+ printf("EnvShutdown exception: %s (%d)\n", DbEnv::strerror(ret), ret);
+ if (!fMockDb)
+ DbEnv(0).remove(GetDataDir().string().c_str(), 0);
}
-class CDBInit
+CDBEnv::CDBEnv() : dbenv(DB_CXX_NO_EXCEPTIONS)
{
-public:
- CDBInit()
+}
+
+CDBEnv::~CDBEnv()
+{
+ EnvShutdown();
+}
+
+void CDBEnv::Close()
+{
+ EnvShutdown();
+}
+
+bool CDBEnv::Open(boost::filesystem::path pathEnv_)
+{
+ if (fDbEnvInit)
+ return true;
+
+ if (fShutdown)
+ return false;
+
+ pathEnv = pathEnv_;
+ filesystem::path pathDataDir = pathEnv;
+ filesystem::path pathLogDir = pathDataDir / "database";
+ filesystem::create_directory(pathLogDir);
+ filesystem::path pathErrorFile = pathDataDir / "db.log";
+ printf("dbenv.open LogDir=%s ErrorFile=%s\n", pathLogDir.string().c_str(), pathErrorFile.string().c_str());
+
+ unsigned int nEnvFlags = 0;
+ if (GetBoolArg("-privdb", true))
+ nEnvFlags |= DB_PRIVATE;
+
+ 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_lk_max_locks(10000);
+ dbenv.set_lk_max_objects(10000);
+ 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(pathDataDir.string().c_str(),
+ DB_CREATE |
+ DB_INIT_LOCK |
+ DB_INIT_LOG |
+ DB_INIT_MPOOL |
+ DB_INIT_TXN |
+ DB_THREAD |
+ DB_RECOVER |
+ nEnvFlags,
+ S_IRUSR | S_IWUSR);
+ if (ret != 0)
+ return error("CDB() : error %s (%d) opening database environment", DbEnv::strerror(ret), ret);
+
+ fDbEnvInit = true;
+ fMockDb = false;
+ return true;
+}
+
+void CDBEnv::MakeMock()
+{
+ if (fDbEnvInit)
+ throw runtime_error("CDBEnv::MakeMock(): already initialized");
+
+ if (fShutdown)
+ throw runtime_error("CDBEnv::MakeMock(): during shutdown");
+
+ printf("CDBEnv::MakeMock()\n");
+
+ dbenv.set_cachesize(1, 0, 1);
+ dbenv.set_lg_bsize(10485760*4);
+ dbenv.set_lg_max(10485760);
+ dbenv.set_lk_max_locks(10000);
+ dbenv.set_lk_max_objects(10000);
+ dbenv.set_flags(DB_AUTO_COMMIT, 1);
+ dbenv.log_set_config(DB_LOG_IN_MEMORY, 1);
+ int ret = dbenv.open(NULL,
+ DB_CREATE |
+ DB_INIT_LOCK |
+ DB_INIT_LOG |
+ DB_INIT_MPOOL |
+ DB_INIT_TXN |
+ DB_THREAD |
+ DB_PRIVATE,
+ S_IRUSR | S_IWUSR);
+ if (ret > 0)
+ throw runtime_error(strprintf("CDBEnv::MakeMock(): error %d opening database environment", ret));
+
+ fDbEnvInit = true;
+ fMockDb = true;
+}
+
+CDBEnv::VerifyResult CDBEnv::Verify(std::string strFile, bool (*recoverFunc)(CDBEnv& dbenv, std::string strFile))
+{
+ LOCK(cs_db);
+ assert(mapFileUseCount.count(strFile) == 0);
+
+ Db db(&dbenv, 0);
+ int result = db.verify(strFile.c_str(), NULL, NULL, 0);
+ if (result == 0)
+ return VERIFY_OK;
+ else if (recoverFunc == NULL)
+ return RECOVER_FAIL;
+
+ // Try to recover:
+ bool fRecovered = (*recoverFunc)(*this, strFile);
+ return (fRecovered ? RECOVER_OK : RECOVER_FAIL);
+}
+
+bool CDBEnv::Salvage(std::string strFile, bool fAggressive,
+ std::vector<CDBEnv::KeyValPair >& vResult)
+{
+ LOCK(cs_db);
+ assert(mapFileUseCount.count(strFile) == 0);
+
+ u_int32_t flags = DB_SALVAGE;
+ if (fAggressive) flags |= DB_AGGRESSIVE;
+
+ stringstream strDump;
+
+ Db db(&dbenv, 0);
+ int result = db.verify(strFile.c_str(), NULL, &strDump, flags);
+ if (result != 0)
{
+ printf("ERROR: db salvage failed\n");
+ return false;
}
- ~CDBInit()
+
+ // Format of bdb dump is ascii lines:
+ // header lines...
+ // HEADER=END
+ // hexadecimal key
+ // hexadecimal value
+ // ... repeated
+ // DATA=END
+
+ string strLine;
+ while (!strDump.eof() && strLine != "HEADER=END")
+ getline(strDump, strLine); // Skip past header
+
+ std::string keyHex, valueHex;
+ while (!strDump.eof() && keyHex != "DATA=END")
{
- EnvShutdown();
+ getline(strDump, keyHex);
+ if (keyHex != "DATA_END")
+ {
+ getline(strDump, valueHex);
+ vResult.push_back(make_pair(ParseHex(keyHex),ParseHex(valueHex)));
+ }
}
+
+ return (result == 0);
+}
+
+
+void CDBEnv::CheckpointLSN(std::string strFile)
+{
+ dbenv.txn_checkpoint(0, 0, 0);
+ if (fMockDb)
+ return;
+ dbenv.lsn_reset(strFile.c_str(), 0);
}
-instance_of_cdbinit;
-CDB::CDB(const char *pszFile, const char* pszMode) : pdb(NULL)
+CDB::CDB(const char *pszFile, const char* pszMode) :
+ pdb(NULL), activeTxn(NULL)
{
int ret;
if (pszFile == NULL)
@@ -77,64 +222,38 @@ CDB::CDB(const char *pszFile, const char* pszMode) : pdb(NULL)
nFlags |= DB_CREATE;
{
- LOCK(cs_db);
- if (!fDbEnvInit)
- {
- if (fShutdown)
- return;
- filesystem::path pathDataDir = GetDataDir();
- filesystem::path pathLogDir = pathDataDir / "database";
- filesystem::create_directory(pathLogDir);
- filesystem::path pathErrorFile = pathDataDir / "db.log";
- printf("dbenv.open LogDir=%s ErrorFile=%s\n", pathLogDir.string().c_str(), pathErrorFile.string().c_str());
-
- 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_lk_max_locks(10000);
- dbenv.set_lk_max_objects(10000);
- dbenv.set_errfile(fopen(pathErrorFile.string().c_str(), "a")); /// debug
- dbenv.set_flags(DB_TXN_WRITE_NOSYNC, 1);
- dbenv.set_flags(DB_AUTO_COMMIT, 1);
- dbenv.log_set_config(DB_LOG_AUTO_REMOVE, 1);
- ret = dbenv.open(pathDataDir.string().c_str(),
- DB_CREATE |
- DB_INIT_LOCK |
- DB_INIT_LOG |
- DB_INIT_MPOOL |
- DB_INIT_TXN |
- DB_THREAD |
- DB_RECOVER,
- S_IRUSR | S_IWUSR);
- if (ret > 0)
- throw runtime_error(strprintf("CDB() : error %d opening database environment", ret));
- fDbEnvInit = true;
- }
+ LOCK(bitdb.cs_db);
+ if (!bitdb.Open(GetDataDir()))
+ throw runtime_error("env open failed");
strFile = pszFile;
- ++mapFileUseCount[strFile];
- pdb = mapDb[strFile];
+ ++bitdb.mapFileUseCount[strFile];
+ pdb = bitdb.mapDb[strFile];
if (pdb == NULL)
{
- pdb = new Db(&dbenv, 0);
+ pdb = new Db(&bitdb.dbenv, 0);
+
+ bool fMockDb = bitdb.IsMock();
+ if (fMockDb)
+ {
+ DbMpoolFile*mpf = pdb->get_mpf();
+ ret = mpf->set_flags(DB_MPOOL_NOFILE, 1);
+ if (ret != 0)
+ throw runtime_error(strprintf("CDB() : failed to configure for no temp file backing for database %s", pszFile));
+ }
ret = pdb->open(NULL, // Txn pointer
- pszFile, // Filename
+ fMockDb ? NULL : pszFile, // Filename
"main", // Logical db name
DB_BTREE, // Database type
nFlags, // Flags
0);
- if (ret > 0)
+ if (ret != 0)
{
delete pdb;
pdb = NULL;
- {
- LOCK(cs_db);
- --mapFileUseCount[strFile];
- }
+ --bitdb.mapFileUseCount[strFile];
strFile = "";
throw runtime_error(strprintf("CDB() : can't open database file %s, error %d", pszFile, ret));
}
@@ -147,40 +266,46 @@ CDB::CDB(const char *pszFile, const char* pszMode) : pdb(NULL)
fReadOnly = fTmp;
}
- mapDb[strFile] = pdb;
+ bitdb.mapDb[strFile] = pdb;
}
}
}
+static bool IsChainFile(std::string strFile)
+{
+ if (strFile == "blkindex.dat")
+ return true;
+
+ return false;
+}
+
void CDB::Close()
{
if (!pdb)
return;
- if (!vTxn.empty())
- vTxn.front()->abort();
- vTxn.clear();
+ if (activeTxn)
+ activeTxn->abort();
+ activeTxn = NULL;
pdb = NULL;
// Flush database activity from memory pool to disk log
unsigned int nMinutes = 0;
if (fReadOnly)
nMinutes = 1;
- if (strFile == "addr.dat")
+ if (IsChainFile(strFile))
nMinutes = 2;
- if (strFile == "blkindex.dat")
- nMinutes = 2;
- if (strFile == "blkindex.dat" && IsInitialBlockDownload())
+ if (IsChainFile(strFile) && IsInitialBlockDownload())
nMinutes = 5;
- dbenv.txn_checkpoint(nMinutes ? GetArg("-dblogsize", 100)*1024 : 0, nMinutes, 0);
+ bitdb.dbenv.txn_checkpoint(nMinutes ? GetArg("-dblogsize", 100)*1024 : 0, nMinutes, 0);
{
- LOCK(cs_db);
- --mapFileUseCount[strFile];
+ LOCK(bitdb.cs_db);
+ --bitdb.mapFileUseCount[strFile];
}
}
-void CloseDb(const string& strFile)
+void CDBEnv::CloseDb(const string& strFile)
{
{
LOCK(cs_db);
@@ -195,27 +320,35 @@ void CloseDb(const string& strFile)
}
}
+bool CDBEnv::RemoveDb(const string& strFile)
+{
+ this->CloseDb(strFile);
+
+ LOCK(cs_db);
+ int rc = dbenv.dbremove(NULL, strFile.c_str(), NULL, DB_AUTO_COMMIT);
+ return (rc == 0);
+}
+
bool CDB::Rewrite(const string& strFile, const char* pszSkip)
{
while (!fShutdown)
{
{
- LOCK(cs_db);
- if (!mapFileUseCount.count(strFile) || mapFileUseCount[strFile] == 0)
+ LOCK(bitdb.cs_db);
+ if (!bitdb.mapFileUseCount.count(strFile) || bitdb.mapFileUseCount[strFile] == 0)
{
// Flush log data to the dat file
- CloseDb(strFile);
- dbenv.txn_checkpoint(0, 0, 0);
- dbenv.lsn_reset(strFile.c_str(), 0);
- mapFileUseCount.erase(strFile);
+ bitdb.CloseDb(strFile);
+ bitdb.CheckpointLSN(strFile);
+ bitdb.mapFileUseCount.erase(strFile);
bool fSuccess = true;
printf("Rewriting %s...\n", strFile.c_str());
string strFileRes = strFile + ".rewrite";
{ // surround usage of db with extra {}
CDB db(strFile.c_str(), "r");
- Db* pdbCopy = new Db(&dbenv, 0);
-
+ Db* pdbCopy = new Db(&bitdb.dbenv, 0);
+
int ret = pdbCopy->open(NULL, // Txn pointer
strFileRes.c_str(), // Filename
"main", // Logical db name
@@ -227,7 +360,7 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip)
printf("Cannot create database file %s\n", strFileRes.c_str());
fSuccess = false;
}
-
+
Dbc* pcursor = db.GetCursor();
if (pcursor)
while (fSuccess)
@@ -264,7 +397,7 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip)
if (fSuccess)
{
db.Close();
- CloseDb(strFile);
+ bitdb.CloseDb(strFile);
if (pdbCopy->close(0))
fSuccess = false;
delete pdbCopy;
@@ -272,10 +405,10 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip)
}
if (fSuccess)
{
- Db dbA(&dbenv, 0);
+ Db dbA(&bitdb.dbenv, 0);
if (dbA.remove(strFile.c_str(), NULL, 0))
fSuccess = false;
- Db dbB(&dbenv, 0);
+ Db dbB(&bitdb.dbenv, 0);
if (dbB.rename(strFileRes.c_str(), NULL, strFile.c_str(), 0))
fSuccess = false;
}
@@ -290,11 +423,12 @@ bool CDB::Rewrite(const string& strFile, const char* pszSkip)
}
-void DBFlush(bool fShutdown)
+void CDBEnv::Flush(bool fShutdown)
{
+ int64 nStart = GetTimeMillis();
// Flush log data to the actual data file
// on all files that are not in use
- printf("DBFlush(%s)%s\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started");
+ printf("Flush(%s)%s\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started");
if (!fDbEnvInit)
return;
{
@@ -311,9 +445,10 @@ void DBFlush(bool fShutdown)
CloseDb(strFile);
printf("%s checkpoint\n", strFile.c_str());
dbenv.txn_checkpoint(0, 0, 0);
- if ((strFile != "blkindex.dat" && strFile != "addr.dat") || fDetachDB) {
+ if (!IsChainFile(strFile) || fDetachDB) {
printf("%s detach\n", strFile.c_str());
- dbenv.lsn_reset(strFile.c_str(), 0);
+ if (!fMockDb)
+ dbenv.lsn_reset(strFile.c_str(), 0);
}
printf("%s closed\n", strFile.c_str());
mapFileUseCount.erase(mi++);
@@ -321,13 +456,14 @@ void DBFlush(bool fShutdown)
else
mi++;
}
+ printf("DBFlush(%s)%s ended %15"PRI64d"ms\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started", GetTimeMillis() - nStart);
if (fShutdown)
{
char** listp;
if (mapFileUseCount.empty())
{
dbenv.log_archive(&listp, DB_ARCH_REMOVE);
- EnvShutdown();
+ Close();
}
}
}
@@ -379,66 +515,6 @@ bool CTxDB::ContainsTx(uint256 hash)
return Exists(make_pair(string("tx"), hash));
}
-bool CTxDB::ReadOwnerTxes(uint160 hash160, int nMinHeight, vector<CTransaction>& vtx)
-{
- assert(!fClient);
- vtx.clear();
-
- // Get cursor
- Dbc* pcursor = GetCursor();
- if (!pcursor)
- return false;
-
- unsigned int fFlags = DB_SET_RANGE;
- loop
- {
- // Read next record
- CDataStream ssKey(SER_DISK, CLIENT_VERSION);
- if (fFlags == DB_SET_RANGE)
- ssKey << string("owner") << hash160 << CDiskTxPos(0, 0, 0);
- CDataStream ssValue(SER_DISK, CLIENT_VERSION);
- int ret = ReadAtCursor(pcursor, ssKey, ssValue, fFlags);
- fFlags = DB_NEXT;
- if (ret == DB_NOTFOUND)
- break;
- else if (ret != 0)
- {
- pcursor->close();
- return false;
- }
-
- // Unserialize
- string strType;
- uint160 hashItem;
- CDiskTxPos pos;
- int nItemHeight;
-
- try {
- ssKey >> strType >> hashItem >> pos;
- ssValue >> nItemHeight;
- }
- catch (std::exception &e) {
- return error("%s() : deserialize error", __PRETTY_FUNCTION__);
- }
-
- // Read transaction
- if (strType != "owner" || hashItem != hash160)
- break;
- if (nItemHeight >= nMinHeight)
- {
- vtx.resize(vtx.size()+1);
- if (!vtx.back().ReadFromDisk(pos))
- {
- pcursor->close();
- return false;
- }
- }
- }
-
- pcursor->close();
- return true;
-}
-
bool CTxDB::ReadDiskTx(uint256 hash, CTransaction& tx, CTxIndex& txindex)
{
assert(!fClient);
@@ -470,11 +546,6 @@ bool CTxDB::WriteBlockIndex(const CDiskBlockIndex& blockindex)
return Write(make_pair(string("blockindex"), blockindex.GetBlockHash()), blockindex);
}
-bool CTxDB::EraseBlockIndex(uint256 hash)
-{
- return Erase(make_pair(string("blockindex"), hash));
-}
-
bool CTxDB::ReadHashBestChain(uint256& hashBestChain)
{
return Read(string("hashBestChain"), hashBestChain);
@@ -517,68 +588,9 @@ CBlockIndex static * InsertBlockIndex(uint256 hash)
bool CTxDB::LoadBlockIndex()
{
- // Get database cursor
- Dbc* pcursor = GetCursor();
- if (!pcursor)
+ if (!LoadBlockIndexGuts())
return false;
- // Load mapBlockIndex
- unsigned int fFlags = DB_SET_RANGE;
- loop
- {
- // Read next record
- CDataStream ssKey(SER_DISK, CLIENT_VERSION);
- if (fFlags == DB_SET_RANGE)
- ssKey << make_pair(string("blockindex"), uint256(0));
- CDataStream ssValue(SER_DISK, CLIENT_VERSION);
- int ret = ReadAtCursor(pcursor, ssKey, ssValue, fFlags);
- fFlags = DB_NEXT;
- if (ret == DB_NOTFOUND)
- break;
- else if (ret != 0)
- return false;
-
- // Unserialize
-
- try {
- string strType;
- ssKey >> strType;
- if (strType == "blockindex" && !fRequestShutdown)
- {
- CDiskBlockIndex diskindex;
- ssValue >> diskindex;
-
- // Construct block index object
- CBlockIndex* pindexNew = InsertBlockIndex(diskindex.GetBlockHash());
- pindexNew->pprev = InsertBlockIndex(diskindex.hashPrev);
- pindexNew->pnext = InsertBlockIndex(diskindex.hashNext);
- pindexNew->nFile = diskindex.nFile;
- pindexNew->nBlockPos = diskindex.nBlockPos;
- pindexNew->nHeight = diskindex.nHeight;
- pindexNew->nVersion = diskindex.nVersion;
- pindexNew->hashMerkleRoot = diskindex.hashMerkleRoot;
- pindexNew->nTime = diskindex.nTime;
- pindexNew->nBits = diskindex.nBits;
- pindexNew->nNonce = diskindex.nNonce;
-
- // Watch for genesis block
- if (pindexGenesisBlock == NULL && diskindex.GetBlockHash() == hashGenesisBlock)
- pindexGenesisBlock = pindexNew;
-
- if (!pindexNew->CheckIndex())
- return error("LoadBlockIndex() : CheckIndex failed at %d", pindexNew->nHeight);
- }
- else
- {
- break; // if shutdown requested or finished loading block index
- }
- } // try
- catch (std::exception &e) {
- return error("%s() : deserialize error", __PRETTY_FUNCTION__);
- }
- }
- pcursor->close();
-
if (fRequestShutdown)
return true;
@@ -609,7 +621,9 @@ bool CTxDB::LoadBlockIndex()
pindexBest = mapBlockIndex[hashBestChain];
nBestHeight = pindexBest->nHeight;
bnBestChainWork = pindexBest->bnChainWork;
- printf("LoadBlockIndex(): hashBestChain=%s height=%d\n", hashBestChain.ToString().substr(0,20).c_str(), nBestHeight);
+ printf("LoadBlockIndex(): hashBestChain=%s height=%d date=%s\n",
+ hashBestChain.ToString().substr(0,20).c_str(), nBestHeight,
+ DateTimeStrFormat("%x %H:%M:%S", pindexBest->GetBlockTime()).c_str());
// Load bnBestInvalidWork, OK if it doesn't exist
ReadBestInvalidWork(bnBestInvalidWork);
@@ -626,7 +640,7 @@ bool CTxDB::LoadBlockIndex()
map<pair<unsigned int, unsigned int>, CBlockIndex*> mapBlockPos;
for (CBlockIndex* pindex = pindexBest; pindex && pindex->pprev; pindex = pindex->pprev)
{
- if (pindex->nHeight < nBestHeight-nCheckDepth)
+ if (fRequestShutdown || pindex->nHeight < nBestHeight-nCheckDepth)
break;
CBlock block;
if (!block.ReadFromDisk(pindex))
@@ -728,7 +742,7 @@ bool CTxDB::LoadBlockIndex()
}
}
}
- if (pindexFork)
+ if (pindexFork && !fRequestShutdown)
{
// Reorg back to the fork
printf("LoadBlockIndex() : *** moving best chain pointer back to block %d\n", pindexFork->nHeight);
@@ -744,71 +758,173 @@ bool CTxDB::LoadBlockIndex()
-
-
-//
-// CAddrDB
-//
-
-bool CAddrDB::WriteAddrman(const CAddrMan& addrman)
-{
- return Write(string("addrman"), addrman);
-}
-
-bool CAddrDB::LoadAddresses()
+bool CTxDB::LoadBlockIndexGuts()
{
- if (Read(string("addrman"), addrman))
- {
- printf("Loaded %i addresses\n", addrman.size());
- return true;
- }
-
- // Read pre-0.6 addr records
-
- vector<CAddress> vAddr;
- vector<vector<unsigned char> > vDelete;
-
- // Get cursor
+ // Get database cursor
Dbc* pcursor = GetCursor();
if (!pcursor)
return false;
+ // Load mapBlockIndex
+ unsigned int fFlags = DB_SET_RANGE;
loop
{
// Read next record
CDataStream ssKey(SER_DISK, CLIENT_VERSION);
+ if (fFlags == DB_SET_RANGE)
+ ssKey << make_pair(string("blockindex"), uint256(0));
CDataStream ssValue(SER_DISK, CLIENT_VERSION);
- int ret = ReadAtCursor(pcursor, ssKey, ssValue);
+ int ret = ReadAtCursor(pcursor, ssKey, ssValue, fFlags);
+ fFlags = DB_NEXT;
if (ret == DB_NOTFOUND)
break;
else if (ret != 0)
return false;
// Unserialize
+
+ try {
string strType;
ssKey >> strType;
- if (strType == "addr")
+ if (strType == "blockindex" && !fRequestShutdown)
+ {
+ CDiskBlockIndex diskindex;
+ ssValue >> diskindex;
+
+ // Construct block index object
+ CBlockIndex* pindexNew = InsertBlockIndex(diskindex.GetBlockHash());
+ pindexNew->pprev = InsertBlockIndex(diskindex.hashPrev);
+ pindexNew->pnext = InsertBlockIndex(diskindex.hashNext);
+ pindexNew->nFile = diskindex.nFile;
+ pindexNew->nBlockPos = diskindex.nBlockPos;
+ pindexNew->nHeight = diskindex.nHeight;
+ pindexNew->nVersion = diskindex.nVersion;
+ pindexNew->hashMerkleRoot = diskindex.hashMerkleRoot;
+ pindexNew->nTime = diskindex.nTime;
+ pindexNew->nBits = diskindex.nBits;
+ pindexNew->nNonce = diskindex.nNonce;
+
+ // Watch for genesis block
+ if (pindexGenesisBlock == NULL && diskindex.GetBlockHash() == hashGenesisBlock)
+ pindexGenesisBlock = pindexNew;
+
+ if (!pindexNew->CheckIndex())
+ return error("LoadBlockIndex() : CheckIndex failed at %d", pindexNew->nHeight);
+ }
+ else
{
- CAddress addr;
- ssValue >> addr;
- vAddr.push_back(addr);
+ break; // if shutdown requested or finished loading block index
+ }
+ } // try
+ catch (std::exception &e) {
+ return error("%s() : deserialize error", __PRETTY_FUNCTION__);
}
}
pcursor->close();
- addrman.Add(vAddr, CNetAddr("0.0.0.0"));
- printf("Loaded %i addresses\n", addrman.size());
+ return true;
+}
+
- // Note: old records left; we ran into hangs-on-startup
- // bugs for some users who (we think) were running after
- // an unclean shutdown.
- return true;
+
+
+//
+// CAddrDB
+//
+
+
+CAddrDB::CAddrDB()
+{
+ pathAddr = GetDataDir() / "peers.dat";
}
-bool LoadAddresses()
+bool CAddrDB::Write(const CAddrMan& addr)
{
- return CAddrDB("cr+").LoadAddresses();
+ // Generate random temporary filename
+ unsigned short randv = 0;
+ RAND_bytes((unsigned char *)&randv, sizeof(randv));
+ std::string tmpfn = strprintf("peers.dat.%04x", randv);
+
+ // serialize addresses, checksum data up to that point, then append csum
+ CDataStream ssPeers(SER_DISK, CLIENT_VERSION);
+ ssPeers << FLATDATA(pchMessageStart);
+ ssPeers << addr;
+ uint256 hash = Hash(ssPeers.begin(), ssPeers.end());
+ ssPeers << hash;
+
+ // open temp output file, and associate with CAutoFile
+ boost::filesystem::path pathTmp = GetDataDir() / tmpfn;
+ FILE *file = fopen(pathTmp.string().c_str(), "wb");
+ CAutoFile fileout = CAutoFile(file, SER_DISK, CLIENT_VERSION);
+ if (!fileout)
+ return error("CAddrman::Write() : open failed");
+
+ // Write and commit header, data
+ try {
+ fileout << ssPeers;
+ }
+ catch (std::exception &e) {
+ return error("CAddrman::Write() : I/O error");
+ }
+ FileCommit(fileout);
+ fileout.fclose();
+
+ // replace existing peers.dat, if any, with new peers.dat.XXXX
+ if (!RenameOver(pathTmp, pathAddr))
+ return error("CAddrman::Write() : Rename-into-place failed");
+
+ return true;
}
+bool CAddrDB::Read(CAddrMan& addr)
+{
+ // open input file, and associate with CAutoFile
+ FILE *file = fopen(pathAddr.string().c_str(), "rb");
+ CAutoFile filein = CAutoFile(file, SER_DISK, CLIENT_VERSION);
+ if (!filein)
+ return error("CAddrman::Read() : open failed");
+
+ // use file size to size memory buffer
+ int fileSize = GetFilesize(filein);
+ int dataSize = fileSize - sizeof(uint256);
+ vector<unsigned char> vchData;
+ vchData.resize(dataSize);
+ uint256 hashIn;
+
+ // read data and checksum from file
+ try {
+ filein.read((char *)&vchData[0], dataSize);
+ filein >> hashIn;
+ }
+ catch (std::exception &e) {
+ return error("CAddrman::Read() 2 : I/O error or stream data corrupted");
+ }
+ filein.fclose();
+
+ CDataStream ssPeers(vchData, SER_DISK, CLIENT_VERSION);
+
+ // verify stored checksum matches input data
+ uint256 hashTmp = Hash(ssPeers.begin(), ssPeers.end());
+ if (hashIn != hashTmp)
+ return error("CAddrman::Read() : checksum mismatch; data corrupted");
+
+ unsigned char pchMsgTmp[4];
+ try {
+ // de-serialize file header (pchMessageStart magic number) and
+ ssPeers >> FLATDATA(pchMsgTmp);
+
+ // verify the network matches ours
+ if (memcmp(pchMsgTmp, pchMessageStart, sizeof(pchMsgTmp)))
+ return error("CAddrman::Read() : invalid network magic number");
+
+ // de-serialize address data into one CAddrMan object
+ ssPeers >> addr;
+ }
+ catch (std::exception &e) {
+ return error("CAddrman::Read() : I/O error or stream data corrupted");
+ }
+
+ return true;
+}
diff --git a/src/db.h b/src/db.h
index acb531f62e..798913645f 100644
--- a/src/db.h
+++ b/src/db.h
@@ -25,21 +25,80 @@ class CWallet;
class CWalletTx;
extern unsigned int nWalletDBUpdated;
-extern bool fDetachDB;
-extern DbEnv dbenv;
-extern void DBFlush(bool fShutdown);
void ThreadFlushWalletDB(void* parg);
bool BackupWallet(const CWallet& wallet, const std::string& strDest);
+class CDBEnv
+{
+private:
+ bool fDetachDB;
+ bool fDbEnvInit;
+ bool fMockDb;
+ boost::filesystem::path pathEnv;
+
+ void EnvShutdown();
+
+public:
+ mutable CCriticalSection cs_db;
+ DbEnv dbenv;
+ std::map<std::string, int> mapFileUseCount;
+ std::map<std::string, Db*> mapDb;
+
+ CDBEnv();
+ ~CDBEnv();
+ void MakeMock();
+ bool IsMock() { return fMockDb; };
+
+ /*
+ * Verify that database file strFile is OK. If it is not,
+ * call the callback to try to recover.
+ * This must be called BEFORE strFile is opened.
+ * Returns true if strFile is OK.
+ */
+ enum VerifyResult { VERIFY_OK, RECOVER_OK, RECOVER_FAIL };
+ VerifyResult Verify(std::string strFile, bool (*recoverFunc)(CDBEnv& dbenv, std::string strFile));
+ /*
+ * Salvage data from a file that Verify says is bad.
+ * fAggressive sets the DB_AGGRESSIVE flag (see berkeley DB->verify() method documentation).
+ * Appends binary key/value pairs to vResult, returns true if successful.
+ * NOTE: reads the entire database into memory, so cannot be used
+ * for huge databases.
+ */
+ typedef std::pair<std::vector<unsigned char>, std::vector<unsigned char> > KeyValPair;
+ bool Salvage(std::string strFile, bool fAggressive, std::vector<KeyValPair>& vResult);
+
+ bool Open(boost::filesystem::path pathEnv_);
+ void Close();
+ void Flush(bool fShutdown);
+ void CheckpointLSN(std::string strFile);
+ void SetDetach(bool fDetachDB_) { fDetachDB = fDetachDB_; }
+ bool GetDetach() { return fDetachDB; }
+
+ void CloseDb(const std::string& strFile);
+ bool RemoveDb(const std::string& strFile);
+
+ DbTxn *TxnBegin(int flags=DB_TXN_WRITE_NOSYNC)
+ {
+ DbTxn* ptxn = NULL;
+ int ret = dbenv.txn_begin(NULL, &ptxn, flags);
+ if (!ptxn || ret != 0)
+ return NULL;
+ return ptxn;
+ }
+};
+
+extern CDBEnv bitdb;
+
+
/** RAII class that provides access to a Berkeley database */
class CDB
{
protected:
Db* pdb;
std::string strFile;
- std::vector<DbTxn*> vTxn;
+ DbTxn *activeTxn;
bool fReadOnly;
explicit CDB(const char* pszFile, const char* pszMode="r+");
@@ -66,7 +125,7 @@ protected:
// Read
Dbt datValue;
datValue.set_flags(DB_DBT_MALLOC);
- int ret = pdb->get(GetTxn(), &datKey, &datValue, 0);
+ int ret = pdb->get(activeTxn, &datKey, &datValue, 0);
memset(datKey.get_data(), 0, datKey.get_size());
if (datValue.get_data() == NULL)
return false;
@@ -107,7 +166,7 @@ protected:
Dbt datValue(&ssValue[0], ssValue.size());
// Write
- int ret = pdb->put(GetTxn(), &datKey, &datValue, (fOverwrite ? 0 : DB_NOOVERWRITE));
+ int ret = pdb->put(activeTxn, &datKey, &datValue, (fOverwrite ? 0 : DB_NOOVERWRITE));
// Clear memory in case it was a private key
memset(datKey.get_data(), 0, datKey.get_size());
@@ -130,7 +189,7 @@ protected:
Dbt datKey(&ssKey[0], ssKey.size());
// Erase
- int ret = pdb->del(GetTxn(), &datKey, 0);
+ int ret = pdb->del(activeTxn, &datKey, 0);
// Clear memory
memset(datKey.get_data(), 0, datKey.get_size());
@@ -150,7 +209,7 @@ protected:
Dbt datKey(&ssKey[0], ssKey.size());
// Exists
- int ret = pdb->exists(GetTxn(), &datKey, 0);
+ int ret = pdb->exists(activeTxn, &datKey, 0);
// Clear memory
memset(datKey.get_data(), 0, datKey.get_size());
@@ -207,46 +266,33 @@ protected:
return 0;
}
- DbTxn* GetTxn()
- {
- if (!vTxn.empty())
- return vTxn.back();
- else
- return NULL;
- }
-
public:
bool TxnBegin()
{
- if (!pdb)
+ if (!pdb || activeTxn)
return false;
- DbTxn* ptxn = NULL;
- int ret = dbenv.txn_begin(GetTxn(), &ptxn, DB_TXN_WRITE_NOSYNC);
- if (!ptxn || ret != 0)
+ DbTxn* ptxn = bitdb.TxnBegin();
+ if (!ptxn)
return false;
- vTxn.push_back(ptxn);
+ activeTxn = ptxn;
return true;
}
bool TxnCommit()
{
- if (!pdb)
- return false;
- if (vTxn.empty())
+ if (!pdb || !activeTxn)
return false;
- int ret = vTxn.back()->commit(0);
- vTxn.pop_back();
+ int ret = activeTxn->commit(0);
+ activeTxn = NULL;
return (ret == 0);
}
bool TxnAbort()
{
- if (!pdb)
- return false;
- if (vTxn.empty())
+ if (!pdb || !activeTxn)
return false;
- int ret = vTxn.back()->abort();
- vTxn.pop_back();
+ int ret = activeTxn->abort();
+ activeTxn = NULL;
return (ret == 0);
}
@@ -284,37 +330,32 @@ public:
bool AddTxIndex(const CTransaction& tx, const CDiskTxPos& pos, int nHeight);
bool EraseTxIndex(const CTransaction& tx);
bool ContainsTx(uint256 hash);
- bool ReadOwnerTxes(uint160 hash160, int nHeight, std::vector<CTransaction>& vtx);
bool ReadDiskTx(uint256 hash, CTransaction& tx, CTxIndex& txindex);
bool ReadDiskTx(uint256 hash, CTransaction& tx);
bool ReadDiskTx(COutPoint outpoint, CTransaction& tx, CTxIndex& txindex);
bool ReadDiskTx(COutPoint outpoint, CTransaction& tx);
bool WriteBlockIndex(const CDiskBlockIndex& blockindex);
- bool EraseBlockIndex(uint256 hash);
bool ReadHashBestChain(uint256& hashBestChain);
bool WriteHashBestChain(uint256 hashBestChain);
bool ReadBestInvalidWork(CBigNum& bnBestInvalidWork);
bool WriteBestInvalidWork(CBigNum bnBestInvalidWork);
bool LoadBlockIndex();
+private:
+ bool LoadBlockIndexGuts();
};
-/** Access to the (IP) address database (addr.dat) */
-class CAddrDB : public CDB
+/** Access to the (IP) address database (peers.dat) */
+class CAddrDB
{
-public:
- CAddrDB(const char* pszMode="r+") : CDB("addr.dat", pszMode) { }
private:
- CAddrDB(const CAddrDB&);
- void operator=(const CAddrDB&);
+ boost::filesystem::path pathAddr;
public:
- bool WriteAddrman(const CAddrMan& addr);
- bool LoadAddresses();
+ CAddrDB();
+ bool Write(const CAddrMan& addr);
+ bool Read(CAddrMan& addr);
};
-bool LoadAddresses();
-
-
#endif // BITCOIN_DB_H
diff --git a/src/init.cpp b/src/init.cpp
index f4168b1729..8a928218b2 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -13,6 +13,8 @@
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/convenience.hpp>
#include <boost/interprocess/sync/file_lock.hpp>
+#include <boost/algorithm/string/predicate.hpp>
+#include <openssl/crypto.h>
#ifndef WIN32
#include <signal.h>
@@ -22,6 +24,7 @@ using namespace std;
using namespace boost;
CWallet* pwalletMain;
+CClientUIInterface uiInterface;
//////////////////////////////////////////////////////////////////////////////
//
@@ -40,10 +43,10 @@ void StartShutdown()
{
#ifdef QT_GUI
// ensure we leave the Qt main loop for a clean GUI exit (Shutdown() is called in bitcoin.cpp afterwards)
- QueueShutdown();
+ uiInterface.QueueShutdown();
#else
// Without UI, Shutdown() can simply be started in a new thread
- CreateThread(Shutdown, NULL);
+ NewThread(Shutdown, NULL);
#endif
}
@@ -51,6 +54,10 @@ void Shutdown(void* parg)
{
static CCriticalSection cs_Shutdown;
static bool fTaken;
+
+ // Make this thread recognisable as the shutdown thread
+ RenameThread("bitcoin-shutoff");
+
bool fFirstThread = false;
{
TRY_LOCK(cs_Shutdown, lockShutdown);
@@ -65,15 +72,15 @@ void Shutdown(void* parg)
{
fShutdown = true;
nTransactionsUpdated++;
- DBFlush(false);
+ bitdb.Flush(false);
StopNode();
- DBFlush(true);
+ bitdb.Flush(true);
boost::filesystem::remove(GetPidFile());
UnregisterWallet(pwalletMain);
delete pwalletMain;
- CreateThread(ExitTimeout, NULL);
+ NewThread(ExitTimeout, NULL);
Sleep(50);
- printf("Bitcoin exiting\n\n");
+ 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
@@ -94,6 +101,10 @@ void HandleSIGTERM(int)
fRequestShutdown = true;
}
+void HandleSIGHUP(int)
+{
+ fReopenDebugLog = true;
+}
@@ -104,24 +115,51 @@ void HandleSIGTERM(int)
// Start
//
#if !defined(QT_GUI)
-int main(int argc, char* argv[])
-{
- bool fRet = false;
- fRet = AppInit(argc, argv);
-
- if (fRet && fDaemon)
- return 0;
-
- return 1;
-}
-#endif
-
bool AppInit(int argc, char* argv[])
{
bool fRet = false;
try
{
- fRet = AppInit2(argc, argv);
+ //
+ // Parameters
+ //
+ // If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main()
+ ParseParameters(argc, argv);
+ if (!boost::filesystem::is_directory(GetDataDir(false)))
+ {
+ fprintf(stderr, "Error: Specified directory does not exist\n");
+ Shutdown(NULL);
+ }
+ ReadConfigFile(mapArgs, mapMultiArgs);
+
+ if (mapArgs.count("-?") || mapArgs.count("--help"))
+ {
+ // First part of help message is specific to bitcoind / RPC client
+ std::string strUsage = _("Bitcoin version") + " " + FormatFullVersion() + "\n\n" +
+ _("Usage:") + "\n" +
+ " bitcoind [options] " + "\n" +
+ " bitcoind [options] <command> [params] " + _("Send command to -server or bitcoind") + "\n" +
+ " bitcoind [options] help " + _("List commands") + "\n" +
+ " bitcoind [options] help <command> " + _("Get help for a command") + "\n";
+
+ strUsage += "\n" + HelpMessage();
+
+ fprintf(stdout, "%s", strUsage.c_str());
+ return false;
+ }
+
+ // Command-line RPC
+ for (int i = 1; i < argc; i++)
+ if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "bitcoin:"))
+ fCommandLine = true;
+
+ if (fCommandLine)
+ {
+ int ret = CommandLineRPC(argc, argv);
+ exit(ret);
+ }
+
+ fRet = AppInit2();
}
catch (std::exception& e) {
PrintException(&e, "AppInit()");
@@ -133,8 +171,139 @@ bool AppInit(int argc, char* argv[])
return fRet;
}
-bool AppInit2(int argc, char* argv[])
+extern void noui_connect();
+int main(int argc, char* argv[])
+{
+ bool fRet = false;
+
+ // Connect bitcoind signal handlers
+ noui_connect();
+
+ fRet = AppInit(argc, argv);
+
+ if (fRet && fDaemon)
+ return 0;
+
+ return 1;
+}
+#endif
+
+bool static InitError(const std::string &str)
{
+ uiInterface.ThreadSafeMessageBox(str, _("Bitcoin"), CClientUIInterface::OK | CClientUIInterface::MODAL);
+ return false;
+}
+
+bool static InitWarning(const std::string &str)
+{
+ uiInterface.ThreadSafeMessageBox(str, _("Bitcoin"), CClientUIInterface::OK | CClientUIInterface::ICON_EXCLAMATION | CClientUIInterface::MODAL);
+ return true;
+}
+
+
+bool static Bind(const CService &addr, bool fError = true) {
+ if (IsLimited(addr))
+ return false;
+ std::string strError;
+ if (!BindListenPort(addr, strError)) {
+ if (fError)
+ return InitError(strError);
+ return false;
+ }
+ return true;
+}
+
+// Core-specific options shared between UI and daemon
+std::string HelpMessage()
+{
+ string strUsage = _("Options:") + "\n" +
+ " -? " + _("This help message") + "\n" +
+ " -conf=<file> " + _("Specify configuration file (default: bitcoin.conf)") + "\n" +
+ " -pid=<file> " + _("Specify pid file (default: bitcoind.pid)") + "\n" +
+ " -gen " + _("Generate coins") + "\n" +
+ " -gen=0 " + _("Don't generate coins") + "\n" +
+ " -datadir=<dir> " + _("Specify data directory") + "\n" +
+ " -dbcache=<n> " + _("Set database cache size in megabytes (default: 25)") + "\n" +
+ " -dblogsize=<n> " + _("Set database disk log size in megabytes (default: 100)") + "\n" +
+ " -timeout=<n> " + _("Specify connection timeout in milliseconds (default: 5000)") + "\n" +
+ " -proxy=<ip:port> " + _("Connect through socks proxy") + "\n" +
+ " -socks=<n> " + _("Select the version of socks proxy to use (4-5, default: 5)") + "\n" +
+ " -tor=<ip:port> " + _("Use proxy to reach tor hidden services (default: same as -proxy)") + "\n"
+ " -dns " + _("Allow DNS lookups for -addnode, -seednode and -connect") + "\n" +
+ " -port=<port> " + _("Listen for connections on <port> (default: 8333 or testnet: 18333)") + "\n" +
+ " -maxconnections=<n> " + _("Maintain at most <n> connections to peers (default: 125)") + "\n" +
+ " -addnode=<ip> " + _("Add a node to connect to and attempt to keep the connection open") + "\n" +
+ " -connect=<ip> " + _("Connect only to the specified node(s)") + "\n" +
+ " -seednode=<ip> " + _("Connect to a node to retrieve peer addresses, and disconnect") + "\n" +
+ " -externalip=<ip> " + _("Specify your own public address") + "\n" +
+ " -onlynet=<net> " + _("Only connect to nodes in network <net> (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" +
+ " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n" +
+ " -bind=<addr> " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n" +
+ " -dnsseed " + _("Find peers using DNS lookup (default: 1 unless -connect)") + "\n" +
+ " -banscore=<n> " + _("Threshold for disconnecting misbehaving peers (default: 100)") + "\n" +
+ " -bantime=<n> " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n" +
+ " -maxreceivebuffer=<n> " + _("Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)") + "\n" +
+ " -maxsendbuffer=<n> " + _("Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)") + "\n" +
+#ifdef USE_UPNP
+#if USE_UPNP
+ " -upnp " + _("Use UPnP to map the listening port (default: 1 when listening)") + "\n" +
+#else
+ " -upnp " + _("Use UPnP to map the listening port (default: 0)") + "\n" +
+#endif
+#endif
+ " -detachdb " + _("Detach block and address databases. Increases shutdown time (default: 0)") + "\n" +
+ " -paytxfee=<amt> " + _("Fee per KB to add to transactions you send") + "\n" +
+#ifdef QT_GUI
+ " -server " + _("Accept command line and JSON-RPC commands") + "\n" +
+#endif
+#if !defined(WIN32) && !defined(QT_GUI)
+ " -daemon " + _("Run in the background as a daemon and accept commands") + "\n" +
+#endif
+ " -testnet " + _("Use the test network") + "\n" +
+ " -debug " + _("Output extra debugging information. Implies all other -debug* options") + "\n" +
+ " -debugnet " + _("Output extra network debugging information") + "\n" +
+ " -logtimestamps " + _("Prepend debug output with timestamp") + "\n" +
+ " -shrinkdebugfile " + _("Shrink debug.log file on client startup (default: 1 when no -debug)") + "\n" +
+ " -printtoconsole " + _("Send trace/debug info to console instead of debug.log file") + "\n" +
+#ifdef WIN32
+ " -printtodebugger " + _("Send trace/debug info to debugger") + "\n" +
+#endif
+ " -rpcuser=<user> " + _("Username for JSON-RPC connections") + "\n" +
+ " -rpcpassword=<pw> " + _("Password for JSON-RPC connections") + "\n" +
+ " -rpcport=<port> " + _("Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332)") + "\n" +
+ " -rpcallowip=<ip> " + _("Allow JSON-RPC connections from specified IP address") + "\n" +
+ " -rpcconnect=<ip> " + _("Send commands to node running on <ip> (default: 127.0.0.1)") + "\n" +
+ " -blocknotify=<cmd> " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n" +
+ " -upgradewallet " + _("Upgrade wallet to latest format") + "\n" +
+ " -keypool=<n> " + _("Set key pool size to <n> (default: 100)") + "\n" +
+ " -rescan " + _("Rescan the block chain for missing wallet transactions") + "\n" +
+ " -salvagewallet " + _("Attempt to recover private keys from a corrupt wallet.dat") + "\n" +
+ " -checkblocks=<n> " + _("How many blocks to check at startup (default: 2500, 0 = all)") + "\n" +
+ " -checklevel=<n> " + _("How thorough the block verification is (0-6, default: 1)") + "\n" +
+ " -loadblock=<file> " + _("Imports blocks from external blk000?.dat file") + "\n" +
+
+ "\n" + _("Block creation options:") + "\n" +
+ " -blockminsize=<n> " + _("Set minimum block size in bytes (default: 0)") + "\n" +
+ " -blockmaxsize=<n> " + _("Set maximum block size in bytes (default: 250000)") + "\n" +
+ " -blockprioritysize=<n> " + _("Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)") + "\n" +
+
+ "\n" + _("SSL options: (see the Bitcoin Wiki for SSL setup instructions)") + "\n" +
+ " -rpcssl " + _("Use OpenSSL (https) for JSON-RPC connections") + "\n" +
+ " -rpcsslcertificatechainfile=<file.cert> " + _("Server certificate file (default: server.cert)") + "\n" +
+ " -rpcsslprivatekeyfile=<file.pem> " + _("Server private key (default: server.pem)") + "\n" +
+ " -rpcsslciphers=<ciphers> " + _("Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)") + "\n";
+
+ return strUsage;
+}
+
+/** Initialize bitcoin.
+ * @pre Parameters should be parsed and config file should be read.
+ */
+bool AppInit2()
+{
+ // ********************************************************* Step 1: setup
#ifdef _MSC_VER
// Turn off Microsoft heap dump noise
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
@@ -144,10 +313,22 @@ bool AppInit2(int argc, char* argv[])
// Disable confusing "helpful" text message on abort, Ctrl-C
_set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
#endif
-#ifndef WIN32
- umask(077);
+#ifdef WIN32
+ // Enable Data Execution Prevention (DEP)
+ // Minimum supported OS versions: WinXP SP3, WinVista >= SP1, Win Server 2008
+ // A failure is non-critical and needs no further attention!
+#ifndef PROCESS_DEP_ENABLE
+// We define this here, because GCCs winbase.h limits this to _WIN32_WINNT >= 0x0601 (Windows 7),
+// which is not correct. Can be removed, when GCCs winbase.h is fixed!
+#define PROCESS_DEP_ENABLE 0x00000001
+#endif
+ typedef BOOL (WINAPI *PSETPROCDEPPOL)(DWORD);
+ PSETPROCDEPPOL setProcDEPPol = (PSETPROCDEPPOL)GetProcAddress(GetModuleHandleA("Kernel32.dll"), "SetProcessDEPPolicy");
+ if (setProcDEPPol != NULL) setProcDEPPol(PROCESS_DEP_ENABLE);
#endif
#ifndef WIN32
+ umask(077);
+
// Clean shutdown on SIGTERM
struct sigaction sa;
sa.sa_handler = HandleSIGTERM;
@@ -155,122 +336,66 @@ bool AppInit2(int argc, char* argv[])
sa.sa_flags = 0;
sigaction(SIGTERM, &sa, NULL);
sigaction(SIGINT, &sa, NULL);
- sigaction(SIGHUP, &sa, NULL);
-#endif
- //
- // Parameters
- //
- // If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main()
-#if !defined(QT_GUI)
- ParseParameters(argc, argv);
- if (!boost::filesystem::is_directory(GetDataDir(false)))
- {
- fprintf(stderr, "Error: Specified directory does not exist\n");
- Shutdown(NULL);
- }
- ReadConfigFile(mapArgs, mapMultiArgs);
+ // Reopen debug.log on SIGHUP
+ struct sigaction sa_hup;
+ sa_hup.sa_handler = HandleSIGHUP;
+ sigemptyset(&sa_hup.sa_mask);
+ sa_hup.sa_flags = 0;
+ sigaction(SIGHUP, &sa_hup, NULL);
#endif
- if (mapArgs.count("-?") || mapArgs.count("--help"))
- {
- string strUsage = string() +
- _("Bitcoin version") + " " + FormatFullVersion() + "\n\n" +
- _("Usage:") + "\t\t\t\t\t\t\t\t\t\t\n" +
- " bitcoind [options] \t " + "\n" +
- " bitcoind [options] <command> [params]\t " + _("Send command to -server or bitcoind") + "\n" +
- " bitcoind [options] help \t\t " + _("List commands") + "\n" +
- " bitcoind [options] help <command> \t\t " + _("Get help for a command") + "\n" +
- _("Options:") + "\n" +
- " -conf=<file> \t\t " + _("Specify configuration file (default: bitcoin.conf)") + "\n" +
- " -pid=<file> \t\t " + _("Specify pid file (default: bitcoind.pid)") + "\n" +
- " -gen \t\t " + _("Generate coins") + "\n" +
- " -gen=0 \t\t " + _("Don't generate coins") + "\n" +
- " -min \t\t " + _("Start minimized") + "\n" +
- " -splash \t\t " + _("Show splash screen on startup (default: 1)") + "\n" +
- " -datadir=<dir> \t\t " + _("Specify data directory") + "\n" +
- " -dbcache=<n> \t\t " + _("Set database cache size in megabytes (default: 25)") + "\n" +
- " -dblogsize=<n> \t\t " + _("Set database disk log size in megabytes (default: 100)") + "\n" +
- " -timeout=<n> \t " + _("Specify connection timeout (in milliseconds)") + "\n" +
- " -proxy=<ip:port> \t " + _("Connect through socks4 proxy") + "\n" +
- " -dns \t " + _("Allow DNS lookups for addnode and connect") + "\n" +
- " -port=<port> \t\t " + _("Listen for connections on <port> (default: 8333 or testnet: 18333)") + "\n" +
- " -maxconnections=<n>\t " + _("Maintain at most <n> connections to peers (default: 125)") + "\n" +
- " -addnode=<ip> \t " + _("Add a node to connect to and attempt to keep the connection open") + "\n" +
- " -connect=<ip> \t\t " + _("Connect only to the specified node") + "\n" +
- " -irc \t " + _("Find peers using internet relay chat (default: 0)") + "\n" +
- " -listen \t " + _("Accept connections from outside (default: 1)") + "\n" +
-#ifdef QT_GUI
- " -lang=<lang> \t\t " + _("Set language, for example \"de_DE\" (default: system locale)") + "\n" +
-#endif
- " -dnsseed \t " + _("Find peers using DNS lookup (default: 1)") + "\n" +
- " -banscore=<n> \t " + _("Threshold for disconnecting misbehaving peers (default: 100)") + "\n" +
- " -bantime=<n> \t " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n" +
- " -maxreceivebuffer=<n>\t " + _("Maximum per-connection receive buffer, <n>*1000 bytes (default: 10000)") + "\n" +
- " -maxsendbuffer=<n>\t " + _("Maximum per-connection send buffer, <n>*1000 bytes (default: 10000)") + "\n" +
-#ifdef USE_UPNP
-#if USE_UPNP
- " -upnp \t " + _("Use Universal Plug and Play to map the listening port (default: 1)") + "\n" +
-#else
- " -upnp \t " + _("Use Universal Plug and Play to map the listening port (default: 0)") + "\n" +
-#endif
- " -detachdb \t " + _("Detach block and address databases. Increases shutdown time (default: 0)") + "\n" +
-#endif
- " -paytxfee=<amt> \t " + _("Fee per KB to add to transactions you send") + "\n" +
-#ifdef QT_GUI
- " -server \t\t " + _("Accept command line and JSON-RPC commands") + "\n" +
-#endif
-#if !defined(WIN32) && !defined(QT_GUI)
- " -daemon \t\t " + _("Run in the background as a daemon and accept commands") + "\n" +
-#endif
- " -testnet \t\t " + _("Use the test network") + "\n" +
- " -debug \t\t " + _("Output extra debugging information") + "\n" +
- " -logtimestamps \t " + _("Prepend debug output with timestamp") + "\n" +
- " -printtoconsole \t " + _("Send trace/debug info to console instead of debug.log file") + "\n" +
-#ifdef WIN32
- " -printtodebugger \t " + _("Send trace/debug info to debugger") + "\n" +
-#endif
- " -rpcuser=<user> \t " + _("Username for JSON-RPC connections") + "\n" +
- " -rpcpassword=<pw>\t " + _("Password for JSON-RPC connections") + "\n" +
- " -rpcport=<port> \t\t " + _("Listen for JSON-RPC connections on <port> (default: 8332)") + "\n" +
- " -rpcallowip=<ip> \t\t " + _("Allow JSON-RPC connections from specified IP address") + "\n" +
- " -rpcconnect=<ip> \t " + _("Send commands to node running on <ip> (default: 127.0.0.1)") + "\n" +
- " -blocknotify=<cmd> " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n" +
- " -upgradewallet \t " + _("Upgrade wallet to latest format") + "\n" +
- " -keypool=<n> \t " + _("Set key pool size to <n> (default: 100)") + "\n" +
- " -rescan \t " + _("Rescan the block chain for missing wallet transactions") + "\n" +
- " -checkblocks=<n> \t\t " + _("How many blocks to check at startup (default: 2500, 0 = all)") + "\n" +
- " -checklevel=<n> \t\t " + _("How thorough the block verification is (0-6, default: 1)") + "\n";
-
- strUsage += string() +
- _("\nSSL options: (see the Bitcoin Wiki for SSL setup instructions)") + "\n" +
- " -rpcssl \t " + _("Use OpenSSL (https) for JSON-RPC connections") + "\n" +
- " -rpcsslcertificatechainfile=<file.cert>\t " + _("Server certificate file (default: server.cert)") + "\n" +
- " -rpcsslprivatekeyfile=<file.pem> \t " + _("Server private key (default: server.pem)") + "\n" +
- " -rpcsslciphers=<ciphers> \t " + _("Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)") + "\n";
-
- strUsage += string() +
- " -? \t\t " + _("This help message") + "\n";
-
- // Remove tabs
- strUsage.erase(std::remove(strUsage.begin(), strUsage.end(), '\t'), strUsage.end());
-#if defined(QT_GUI) && defined(WIN32)
- // On Windows, show a message box, as there is no stderr
- ThreadSafeMessageBox(strUsage, _("Usage"), wxOK | wxMODAL);
-#else
- fprintf(stdout, "%s", strUsage.c_str());
-#endif
- return false;
- }
+ // ********************************************************* Step 2: parameter interactions
fTestNet = GetBoolArg("-testnet");
- if (fTestNet)
- {
+ if (fTestNet) {
SoftSetBoolArg("-irc", true);
}
+ if (mapArgs.count("-bind")) {
+ // when specifying an explicit binding address, you want to listen on it
+ // even when -connect or -proxy is specified
+ SoftSetBoolArg("-listen", true);
+ }
+
+ if (mapArgs.count("-connect") && mapMultiArgs["-connect"].size() > 0) {
+ // when only connecting to trusted nodes, do not seed via DNS, or listen by default
+ SoftSetBoolArg("-dnsseed", false);
+ SoftSetBoolArg("-listen", false);
+ }
+
+ if (mapArgs.count("-proxy")) {
+ // to protect privacy, do not listen by default if a proxy server is specified
+ SoftSetBoolArg("-listen", false);
+ }
+
+ if (!GetBoolArg("-listen", true)) {
+ // do not map ports or try to retrieve public IP when not listening (pointless)
+ SoftSetBoolArg("-upnp", false);
+ SoftSetBoolArg("-discover", false);
+ }
+
+ if (mapArgs.count("-externalip")) {
+ // if an explicit public IP is specified, do not try to find others
+ SoftSetBoolArg("-discover", false);
+ }
+
+ if (GetBoolArg("-salvagewallet")) {
+ // Rewrite just private keys: rescan to find transactions
+ SoftSetBoolArg("-rescan", true);
+ }
+
+ // ********************************************************* Step 3: parameter-to-internal-flags
+
fDebug = GetBoolArg("-debug");
- fDetachDB = GetBoolArg("-detachdb", false);
+
+ // -debug implies fDebug*
+ if (fDebug)
+ fDebugNet = true;
+ else
+ fDebugNet = GetBoolArg("-debugnet");
+
+ bitdb.SetDetach(GetBoolArg("-detachdb", false));
#if !defined(WIN32) && !defined(QT_GUI)
fDaemon = GetBoolArg("-daemon");
@@ -291,17 +416,39 @@ bool AppInit2(int argc, char* argv[])
fPrintToDebugger = GetBoolArg("-printtodebugger");
fLogTimestamps = GetBoolArg("-logtimestamps");
-#ifndef QT_GUI
- for (int i = 1; i < argc; i++)
- if (!IsSwitchChar(argv[i][0]) && !(strlen(argv[i]) > 7 && strncasecmp(argv[i], "bitcoin:", 8) == 0))
- fCommandLine = true;
+ if (mapArgs.count("-timeout"))
+ {
+ int nNewTimeout = GetArg("-timeout", 5000);
+ if (nNewTimeout > 0 && nNewTimeout < 600000)
+ nConnectTimeout = nNewTimeout;
+ }
+
+ // Continue to put "/P2SH/" in the coinbase to monitor
+ // BIP16 support.
+ // This can be removed eventually...
+ const char* pszP2SH = "/P2SH/";
+ COINBASE_FLAGS << std::vector<unsigned char>(pszP2SH, pszP2SH+strlen(pszP2SH));
+
- if (fCommandLine)
+ if (mapArgs.count("-paytxfee"))
{
- int ret = CommandLineRPC(argc, argv);
- exit(ret);
+ if (!ParseMoney(mapArgs["-paytxfee"], nTransactionFee))
+ return InitError(strprintf(_("Invalid amount for -paytxfee=<amount>: '%s'"), mapArgs["-paytxfee"].c_str()));
+ if (nTransactionFee > 0.25 * COIN)
+ InitWarning(_("Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction."));
}
-#endif
+
+ // ********************************************************* Step 4: application initialization: dir lock, daemonize, pidfile, debug log
+
+ std::string strDataDir = GetDataDir().string();
+
+ // Make sure only a single Bitcoin process is using the data directory.
+ boost::filesystem::path pathLockFile = GetDataDir() / ".lock";
+ FILE* file = fopen(pathLockFile.string().c_str(), "a"); // empty lock file; created if it doesn't exist.
+ if (file) fclose(file);
+ static boost::interprocess::file_lock lock(pathLockFile.string().c_str());
+ 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)
@@ -325,51 +472,185 @@ bool AppInit2(int argc, char* argv[])
}
#endif
- if (!fDebug)
+ 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");
printf("Bitcoin version %s (%s)\n", FormatFullVersion().c_str(), CLIENT_DATE.c_str());
+ printf("Using OpenSSL version %s\n", SSLeay_version(SSLEAY_VERSION));
+ if (!fLogTimestamps)
+ printf("Startup time: %s\n", DateTimeStrFormat("%x %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());
+ std::ostringstream strErrors;
- if (GetBoolArg("-loadblockindextest"))
+ if (fDaemon)
+ fprintf(stdout, "Bitcoin server starting\n");
+
+ int64 nStart;
+
+ // ********************************************************* Step 5: verify database integrity
+
+ uiInterface.InitMessage(_("Verifying database integrity..."));
+
+ if (!bitdb.Open(GetDataDir()))
{
- CTxDB txdb("r");
- txdb.LoadBlockIndex();
- PrintBlockTree();
- return false;
+ string msg = strprintf(_("Error initializing database environment %s!"
+ " To recover, BACKUP THAT DIRECTORY, then remove"
+ " everything from it except for wallet.dat."), strDataDir.c_str());
+ return InitError(msg);
}
- // Make sure only a single bitcoin process is using the data directory.
- boost::filesystem::path pathLockFile = GetDataDir() / ".lock";
- FILE* file = fopen(pathLockFile.string().c_str(), "a"); // empty lock file; created if it doesn't exist.
- if (file) fclose(file);
- static boost::interprocess::file_lock lock(pathLockFile.string().c_str());
- if (!lock.try_lock())
+ if (GetBoolArg("-salvagewallet"))
{
- ThreadSafeMessageBox(strprintf(_("Cannot obtain a lock on data directory %s. Bitcoin is probably already running."), GetDataDir().string().c_str()), _("Bitcoin"), wxOK|wxMODAL);
- return false;
+ // Recover readable keypairs:
+ if (!CWalletDB::Recover(bitdb, "wallet.dat", true))
+ return false;
}
- std::ostringstream strErrors;
- //
- // Load data files
- //
- if (fDaemon)
- fprintf(stdout, "bitcoin server starting\n");
- int64 nStart;
+ if (filesystem::exists(GetDataDir() / "wallet.dat"))
+ {
+ CDBEnv::VerifyResult r = bitdb.Verify("wallet.dat", CWalletDB::Recover);
+ if (r == CDBEnv::RECOVER_OK)
+ {
+ string msg = strprintf(_("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."), strDataDir.c_str());
+ uiInterface.ThreadSafeMessageBox(msg, _("Bitcoin"), CClientUIInterface::OK | CClientUIInterface::ICON_EXCLAMATION | CClientUIInterface::MODAL);
+ }
+ if (r == CDBEnv::RECOVER_FAIL)
+ return InitError(_("wallet.dat corrupt, salvage failed"));
+ }
- InitMessage(_("Loading addresses..."));
- printf("Loading addresses...\n");
- nStart = GetTimeMillis();
- if (!LoadAddresses())
- strErrors << _("Error loading addr.dat") << "\n";
- printf(" addresses %15"PRI64d"ms\n", GetTimeMillis() - nStart);
+ // ********************************************************* Step 6: network initialization
+
+ int nSocksVersion = GetArg("-socks", 5);
+
+ if (nSocksVersion != 4 && nSocksVersion != 5)
+ return InitError(strprintf(_("Unknown -socks proxy version requested: %i"), nSocksVersion));
+
+ if (mapArgs.count("-onlynet")) {
+ std::set<enum Network> nets;
+ BOOST_FOREACH(std::string snet, mapMultiArgs["-onlynet"]) {
+ enum Network net = ParseNetwork(snet);
+ if (net == NET_UNROUTABLE)
+ return InitError(strprintf(_("Unknown network specified in -onlynet: '%s'"), snet.c_str()));
+ nets.insert(net);
+ }
+ for (int n = 0; n < NET_MAX; n++) {
+ enum Network net = (enum Network)n;
+ if (!nets.count(net))
+ SetLimited(net);
+ }
+ }
+#if defined(USE_IPV6)
+#if ! USE_IPV6
+ else
+ SetLimited(NET_IPV6);
+#endif
+#endif
+
+ CService addrProxy;
+ bool fProxy = false;
+ if (mapArgs.count("-proxy")) {
+ addrProxy = CService(mapArgs["-proxy"], 9050);
+ if (!addrProxy.IsValid())
+ return InitError(strprintf(_("Invalid -proxy address: '%s'"), mapArgs["-proxy"].c_str()));
+
+ if (!IsLimited(NET_IPV4))
+ SetProxy(NET_IPV4, addrProxy, nSocksVersion);
+ if (nSocksVersion > 4) {
+#ifdef USE_IPV6
+ if (!IsLimited(NET_IPV6))
+ SetProxy(NET_IPV6, addrProxy, nSocksVersion);
+#endif
+ SetNameProxy(addrProxy, nSocksVersion);
+ }
+ fProxy = true;
+ }
+
+ // -tor can override normal proxy, -notor disables tor entirely
+ if (!(mapArgs.count("-tor") && mapArgs["-tor"] == "0") && (fProxy || mapArgs.count("-tor"))) {
+ CService addrOnion;
+ if (!mapArgs.count("-tor"))
+ addrOnion = addrProxy;
+ else
+ addrOnion = CService(mapArgs["-tor"], 9050);
+ if (!addrOnion.IsValid())
+ return InitError(strprintf(_("Invalid -tor address: '%s'"), mapArgs["-tor"].c_str()));
+ SetProxy(NET_TOR, addrOnion, 5);
+ SetReachable(NET_TOR);
+ }
+
+ // see Step 2: parameter interactions for more information about these
+ fNoListen = !GetBoolArg("-listen", true);
+ fDiscover = GetBoolArg("-discover", true);
+ fNameLookup = GetBoolArg("-dns", true);
+#ifdef USE_UPNP
+ fUseUPnP = GetBoolArg("-upnp", USE_UPNP);
+#endif
+
+ bool fBound = false;
+ if (!fNoListen)
+ {
+ std::string strError;
+ if (mapArgs.count("-bind")) {
+ BOOST_FOREACH(std::string strBind, mapMultiArgs["-bind"]) {
+ CService addrBind;
+ if (!Lookup(strBind.c_str(), addrBind, GetListenPort(), false))
+ return InitError(strprintf(_("Cannot resolve -bind address: '%s'"), strBind.c_str()));
+ fBound |= Bind(addrBind);
+ }
+ } else {
+ struct in_addr inaddr_any;
+ inaddr_any.s_addr = INADDR_ANY;
+#ifdef USE_IPV6
+ if (!IsLimited(NET_IPV6))
+ fBound |= Bind(CService(in6addr_any, GetListenPort()), false);
+#endif
+ if (!IsLimited(NET_IPV4))
+ fBound |= Bind(CService(inaddr_any, GetListenPort()), !fBound);
+ }
+ if (!fBound)
+ return InitError(_("Failed to listen on any port. Use -listen=0 if you want this."));
+ }
+
+ if (mapArgs.count("-externalip"))
+ {
+ BOOST_FOREACH(string strAddr, mapMultiArgs["-externalip"]) {
+ CService addrLocal(strAddr, GetListenPort(), fNameLookup);
+ if (!addrLocal.IsValid())
+ return InitError(strprintf(_("Cannot resolve -externalip address: '%s'"), strAddr.c_str()));
+ AddLocal(CService(strAddr, GetListenPort(), fNameLookup), LOCAL_MANUAL);
+ }
+ }
- InitMessage(_("Loading block index..."));
+ BOOST_FOREACH(string strDest, mapMultiArgs["-seednode"])
+ AddOneShot(strDest);
+
+ // ********************************************************* Step 7: load blockchain
+
+ if (!bitdb.Open(GetDataDir()))
+ {
+ string msg = strprintf(_("Error initializing database environment %s!"
+ " To recover, BACKUP THAT DIRECTORY, then remove"
+ " everything from it except for wallet.dat."), strDataDir.c_str());
+ return InitError(msg);
+ }
+
+ if (GetBoolArg("-loadblockindextest"))
+ {
+ CTxDB txdb("r");
+ txdb.LoadBlockIndex();
+ PrintBlockTree();
+ return false;
+ }
+
+ uiInterface.InitMessage(_("Loading block index..."));
printf("Loading block index...\n");
nStart = GetTimeMillis();
if (!LoadBlockIndex())
- strErrors << _("Error loading blkindex.dat") << "\n";
+ return InitError(_("Error loading blkindex.dat"));
// as LoadBlockIndex can take several minutes, it's possible the user
// requested to kill bitcoin-qt during the last operation. If so, exit.
@@ -381,24 +662,60 @@ bool AppInit2(int argc, char* argv[])
}
printf(" block index %15"PRI64d"ms\n", GetTimeMillis() - nStart);
- InitMessage(_("Loading wallet..."));
+ if (GetBoolArg("-printblockindex") || GetBoolArg("-printblocktree"))
+ {
+ PrintBlockTree();
+ return false;
+ }
+
+ if (mapArgs.count("-printblock"))
+ {
+ string strMatch = mapArgs["-printblock"];
+ int nFound = 0;
+ for (map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.begin(); mi != mapBlockIndex.end(); ++mi)
+ {
+ uint256 hash = (*mi).first;
+ if (strncmp(hash.ToString().c_str(), strMatch.c_str(), strMatch.size()) == 0)
+ {
+ CBlockIndex* pindex = (*mi).second;
+ CBlock block;
+ block.ReadFromDisk(pindex);
+ block.BuildMerkleTree();
+ block.print();
+ printf("\n");
+ nFound++;
+ }
+ }
+ if (nFound == 0)
+ printf("No blocks matching %s were found\n", strMatch.c_str());
+ return false;
+ }
+
+ // ********************************************************* Step 8: load wallet
+
+ uiInterface.InitMessage(_("Loading wallet..."));
printf("Loading wallet...\n");
nStart = GetTimeMillis();
- bool fFirstRun;
+ bool fFirstRun = true;
pwalletMain = new CWallet("wallet.dat");
- int nLoadWalletRet = pwalletMain->LoadWallet(fFirstRun);
+ DBErrors nLoadWalletRet = pwalletMain->LoadWallet(fFirstRun);
if (nLoadWalletRet != DB_LOAD_OK)
{
if (nLoadWalletRet == DB_CORRUPT)
strErrors << _("Error loading wallet.dat: Wallet corrupted") << "\n";
+ else if (nLoadWalletRet == DB_NONCRITICAL_ERROR)
+ {
+ string msg(_("Warning: error reading wallet.dat! All keys read correctly, but transaction data"
+ " or address book entries might be missing or incorrect."));
+ uiInterface.ThreadSafeMessageBox(msg, _("Bitcoin"), CClientUIInterface::OK | CClientUIInterface::ICON_EXCLAMATION | CClientUIInterface::MODAL);
+ }
else if (nLoadWalletRet == DB_TOO_NEW)
strErrors << _("Error loading wallet.dat: Wallet requires newer version of Bitcoin") << "\n";
else if (nLoadWalletRet == DB_NEED_REWRITE)
{
strErrors << _("Wallet needed to be rewritten: restart Bitcoin to complete") << "\n";
printf("%s", strErrors.str().c_str());
- ThreadSafeMessageBox(strErrors.str(), _("Bitcoin"), wxOK | wxICON_ERROR | wxMODAL);
- return false;
+ return InitError(strErrors.str());
}
else
strErrors << _("Error loading wallet.dat") << "\n";
@@ -425,11 +742,11 @@ bool AppInit2(int argc, char* argv[])
// Create new keyUser and set as default key
RandAddSeedPerfmon();
- std::vector<unsigned char> newDefaultKey;
+ CPubKey newDefaultKey;
if (!pwalletMain->GetKeyFromPool(newDefaultKey, false))
strErrors << _("Cannot initialize keypool") << "\n";
pwalletMain->SetDefaultKey(newDefaultKey);
- if (!pwalletMain->SetAddressBookName(CBitcoinAddress(pwalletMain->vchDefaultKey), ""))
+ if (!pwalletMain->SetAddressBookName(pwalletMain->vchDefaultKey.GetID(), ""))
strErrors << _("Cannot write default address") << "\n";
}
@@ -450,163 +767,91 @@ bool AppInit2(int argc, char* argv[])
}
if (pindexBest != pindexRescan)
{
- InitMessage(_("Rescanning..."));
+ uiInterface.InitMessage(_("Rescanning..."));
printf("Rescanning last %i blocks (from block %i)...\n", pindexBest->nHeight - pindexRescan->nHeight, pindexRescan->nHeight);
nStart = GetTimeMillis();
pwalletMain->ScanForWalletTransactions(pindexRescan, true);
printf(" rescan %15"PRI64d"ms\n", GetTimeMillis() - nStart);
}
- InitMessage(_("Done loading"));
- printf("Done loading\n");
+ // ********************************************************* Step 9: import blocks
- //// debug print
- printf("mapBlockIndex.size() = %d\n", mapBlockIndex.size());
- printf("nBestHeight = %d\n", nBestHeight);
- printf("setKeyPool.size() = %d\n", pwalletMain->setKeyPool.size());
- printf("mapWallet.size() = %d\n", pwalletMain->mapWallet.size());
- printf("mapAddressBook.size() = %d\n", pwalletMain->mapAddressBook.size());
-
- if (!strErrors.str().empty())
+ if (mapArgs.count("-loadblock"))
{
- ThreadSafeMessageBox(strErrors.str(), _("Bitcoin"), wxOK | wxICON_ERROR | wxMODAL);
- return false;
- }
-
- // Add wallet transactions that aren't already in a block to mapTransactions
- pwalletMain->ReacceptWalletTransactions();
-
- // Note: Bitcoin-QT stores several settings in the wallet, so we want
- // to load the wallet BEFORE parsing command-line arguments, so
- // the command-line/bitcoin.conf settings override GUI setting.
-
- //
- // Parameters
- //
- if (GetBoolArg("-printblockindex") || GetBoolArg("-printblocktree"))
- {
- PrintBlockTree();
- return false;
- }
+ uiInterface.InitMessage(_("Importing blockchain data file."));
- if (mapArgs.count("-timeout"))
- {
- int nNewTimeout = GetArg("-timeout", 5000);
- if (nNewTimeout > 0 && nNewTimeout < 600000)
- nConnectTimeout = nNewTimeout;
- }
-
- if (mapArgs.count("-printblock"))
- {
- string strMatch = mapArgs["-printblock"];
- int nFound = 0;
- for (map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.begin(); mi != mapBlockIndex.end(); ++mi)
+ BOOST_FOREACH(string strFile, mapMultiArgs["-loadblock"])
{
- uint256 hash = (*mi).first;
- if (strncmp(hash.ToString().c_str(), strMatch.c_str(), strMatch.size()) == 0)
- {
- CBlockIndex* pindex = (*mi).second;
- CBlock block;
- block.ReadFromDisk(pindex);
- block.BuildMerkleTree();
- block.print();
- printf("\n");
- nFound++;
- }
+ FILE *file = fopen(strFile.c_str(), "rb");
+ if (file)
+ LoadExternalBlockFile(file);
}
- if (nFound == 0)
- printf("No blocks matching %s were found\n", strMatch.c_str());
- return false;
}
- if (mapArgs.count("-proxy"))
- {
- fUseProxy = true;
- addrProxy = CService(mapArgs["-proxy"], 9050);
- if (!addrProxy.IsValid())
- {
- ThreadSafeMessageBox(_("Invalid -proxy address"), _("Bitcoin"), wxOK | wxMODAL);
- return false;
- }
- }
+ filesystem::path pathBootstrap = GetDataDir() / "bootstrap.dat";
+ if (filesystem::exists(pathBootstrap)) {
+ uiInterface.InitMessage(_("Importing bootstrap blockchain data file."));
- bool fTor = (fUseProxy && addrProxy.GetPort() == 9050);
- if (fTor)
- {
- // Use SoftSetBoolArg here so user can override any of these if they wish.
- // Note: the GetBoolArg() calls for all of these must happen later.
- SoftSetBoolArg("-listen", false);
- SoftSetBoolArg("-irc", false);
- SoftSetBoolArg("-dnsseed", false);
- SoftSetBoolArg("-upnp", false);
- SoftSetBoolArg("-dns", false);
+ FILE *file = fopen(pathBootstrap.string().c_str(), "rb");
+ if (file) {
+ filesystem::path pathBootstrapOld = GetDataDir() / "bootstrap.dat.old";
+ LoadExternalBlockFile(file);
+ RenameOver(pathBootstrap, pathBootstrapOld);
+ }
}
- fAllowDNS = GetBoolArg("-dns");
- fNoListen = !GetBoolArg("-listen", true);
+ // ********************************************************* Step 10: load peers
- // Continue to put "/P2SH/" in the coinbase to monitor
- // BIP16 support.
- // This can be removed eventually...
- const char* pszP2SH = "/P2SH/";
- COINBASE_FLAGS << std::vector<unsigned char>(pszP2SH, pszP2SH+strlen(pszP2SH));
+ uiInterface.InitMessage(_("Loading addresses..."));
+ printf("Loading addresses...\n");
+ nStart = GetTimeMillis();
- if (!fNoListen)
{
- std::string strError;
- if (!BindListenPort(strError))
- {
- ThreadSafeMessageBox(strError, _("Bitcoin"), wxOK | wxMODAL);
- return false;
- }
+ CAddrDB adb;
+ if (!adb.Read(addrman))
+ printf("Invalid or missing peers.dat; recreating\n");
}
- if (mapArgs.count("-addnode"))
- {
- BOOST_FOREACH(string strAddr, mapMultiArgs["-addnode"])
- {
- CAddress addr(CService(strAddr, GetDefaultPort(), fAllowDNS));
- addr.nTime = 0; // so it won't relay unless successfully connected
- if (addr.IsValid())
- addrman.Add(addr, CNetAddr("127.0.0.1"));
- }
- }
+ printf("Loaded %i addresses from peers.dat %"PRI64d"ms\n",
+ addrman.size(), GetTimeMillis() - nStart);
- if (mapArgs.count("-paytxfee"))
- {
- if (!ParseMoney(mapArgs["-paytxfee"], nTransactionFee))
- {
- ThreadSafeMessageBox(_("Invalid amount for -paytxfee=<amount>"), _("Bitcoin"), wxOK | wxMODAL);
- return false;
- }
- if (nTransactionFee > 0.25 * COIN)
- ThreadSafeMessageBox(_("Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction."), _("Bitcoin"), wxOK | wxICON_EXCLAMATION | wxMODAL);
- }
+ // ********************************************************* Step 11: start node
- //
- // Start the node
- //
if (!CheckDiskSpace())
return false;
RandAddSeedPerfmon();
- if (!CreateThread(StartNode, NULL))
- ThreadSafeMessageBox(_("Error: CreateThread(StartNode) failed"), _("Bitcoin"), wxOK | wxMODAL);
+ //// debug print
+ printf("mapBlockIndex.size() = %"PRIszu"\n", mapBlockIndex.size());
+ printf("nBestHeight = %d\n", nBestHeight);
+ printf("setKeyPool.size() = %"PRIszu"\n", pwalletMain->setKeyPool.size());
+ 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"));
if (fServer)
- CreateThread(ThreadRPCServer, NULL);
+ NewThread(ThreadRPCServer, NULL);
-#ifdef QT_GUI
- if (GetStartOnSystemStartup())
- SetStartOnSystemStartup(true); // Remove startup links
-#endif
+ // ********************************************************* Step 12: finished
+
+ uiInterface.InitMessage(_("Done loading"));
+ printf("Done loading\n");
+
+ 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
return true;
}
-
diff --git a/src/init.h b/src/init.h
index cc276a2bf3..8308ee648b 100644
--- a/src/init.h
+++ b/src/init.h
@@ -11,7 +11,7 @@ extern CWallet* pwalletMain;
void StartShutdown();
void Shutdown(void* parg);
-bool AppInit(int argc, char* argv[]);
-bool AppInit2(int argc, char* argv[]);
+bool AppInit2();
+std::string HelpMessage();
#endif
diff --git a/src/irc.cpp b/src/irc.cpp
index a9f47350b7..ec7eea3cf4 100644
--- a/src/irc.cpp
+++ b/src/irc.cpp
@@ -12,7 +12,6 @@ using namespace std;
using namespace boost;
int nGotIRCAddresses = 0;
-bool fGotExternalIP = false;
void ThreadIRCSeed2(void* parg);
@@ -177,8 +176,6 @@ bool GetIPFromIRC(SOCKET hSocket, string strMyName, CNetAddr& ipRet)
// 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());
- if (fUseProxy)
- return false;
CNetAddr addr(strHost, true);
if (!addr.IsValid())
return false;
@@ -191,7 +188,9 @@ bool GetIPFromIRC(SOCKET hSocket, string strMyName, CNetAddr& ipRet)
void ThreadIRCSeed(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadIRCSeed(parg));
+ // Make this thread recognisable as the IRC seeding thread
+ RenameThread("bitcoin-ircseed");
+
try
{
ThreadIRCSeed2(parg);
@@ -201,22 +200,27 @@ void ThreadIRCSeed(void* parg)
} catch (...) {
PrintExceptionContinue(NULL, "ThreadIRCSeed()");
}
- printf("ThreadIRCSeed exiting\n");
+ printf("ThreadIRCSeed exited\n");
}
void ThreadIRCSeed2(void* parg)
{
- /* Don't advertise on IRC if we don't allow incoming connections */
- if (mapArgs.count("-connect") || fNoListen)
+ // 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 started\n");
int nErrorWait = 10;
int nRetryWait = 10;
- bool fNameInUse = false;
+ int nNameRetry = 0;
while (!fShutdown)
{
@@ -248,11 +252,15 @@ void ThreadIRCSeed2(void* parg)
return;
}
+ CNetAddr addrIPv4("1.2.3.4"); // arbitrary IPv4 address to make GetLocal prefer IPv4 addresses
+ CService addrLocal;
string strMyName;
- if (addrLocalHost.IsRoutable() && !fUseProxy && !fNameInUse)
- strMyName = EncodeAddress(addrLocalHost);
- else
- strMyName = strprintf("x%u", GetRand(1000000000));
+ // 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());
@@ -265,7 +273,7 @@ void ThreadIRCSeed2(void* parg)
if (nRet == 2)
{
printf("IRC name already in use\n");
- fNameInUse = true;
+ nNameRetry++;
Wait(10);
continue;
}
@@ -275,6 +283,7 @@ void ThreadIRCSeed2(void* parg)
else
return;
}
+ nNameRetry = 0;
Sleep(500);
// Get our external IP from the IRC server and re-nick before joining the channel
@@ -282,19 +291,19 @@ void ThreadIRCSeed2(void* parg)
if (GetIPFromIRC(hSocket, strMyName, addrFromIRC))
{
printf("GetIPFromIRC() returned %s\n", addrFromIRC.ToString().c_str());
- if (!fUseProxy && addrFromIRC.IsRoutable())
+ // Don't use our IP as our nick if we're not listening
+ if (!fNoListen && addrFromIRC.IsRoutable())
{
// IRC lets you to re-nick
- fGotExternalIP = true;
- addrLocalHost.SetIP(addrFromIRC);
- strMyName = EncodeAddress(addrLocalHost);
+ AddLocal(addrFromIRC, LOCAL_IRC);
+ strMyName = EncodeAddress(GetLocalAddress(&addrConnect));
Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str());
}
}
-
+
if (fTestNet) {
- Send(hSocket, "JOIN #bitcoinTEST\r");
- Send(hSocket, "WHO #bitcoinTEST\r");
+ Send(hSocket, "JOIN #bitcoinTEST3\r");
+ Send(hSocket, "WHO #bitcoinTEST3\r");
} else {
// randomly join #bitcoin00-#bitcoin99
int channel_number = GetRandInt(100);
diff --git a/src/irc.h b/src/irc.h
index 4a42f76512..119aeb3fda 100644
--- a/src/irc.h
+++ b/src/irc.h
@@ -8,6 +8,5 @@
void ThreadIRCSeed(void* parg);
extern int nGotIRCAddresses;
-extern bool fGotExternalIP;
#endif
diff --git a/src/key.cpp b/src/key.cpp
index 4bb141f701..23f315203e 100644
--- a/src/key.cpp
+++ b/src/key.cpp
@@ -8,7 +8,6 @@
#include <openssl/obj_mac.h>
#include "key.h"
-#include "util.h"
// Generate a private key from just the secret parameter
int EC_KEY_regenerate_key(EC_KEY *eckey, BIGNUM *priv_key)
@@ -187,10 +186,24 @@ void CKey::MakeNewKey(bool fCompressed)
bool CKey::SetPrivKey(const CPrivKey& vchPrivKey)
{
const unsigned char* pbegin = &vchPrivKey[0];
- if (!d2i_ECPrivateKey(&pkey, &pbegin, vchPrivKey.size()))
- return false;
- fSet = true;
- return true;
+ if (d2i_ECPrivateKey(&pkey, &pbegin, vchPrivKey.size()))
+ {
+ // In testing, d2i_ECPrivateKey can return true
+ // but fill in pkey with a key that fails
+ // EC_KEY_check_key, so:
+ if (EC_KEY_check_key(pkey))
+ {
+ fSet = true;
+ return true;
+ }
+ }
+ // If vchPrivKey data is bad d2i_ECPrivateKey() can
+ // leave pkey in a state where calling EC_KEY_free()
+ // crashes. To avoid that, set pkey to NULL and
+ // leak the memory (a leak is better than a crash)
+ pkey = NULL;
+ Reset();
+ return false;
}
bool CKey::SetSecret(const CSecret& vchSecret, bool fCompressed)
@@ -243,18 +256,22 @@ CPrivKey CKey::GetPrivKey() const
return vchPrivKey;
}
-bool CKey::SetPubKey(const std::vector<unsigned char>& vchPubKey)
+bool CKey::SetPubKey(const CPubKey& vchPubKey)
{
- const unsigned char* pbegin = &vchPubKey[0];
- if (!o2i_ECPublicKey(&pkey, &pbegin, vchPubKey.size()))
- return false;
- fSet = true;
- if (vchPubKey.size() == 33)
- SetCompressedPubKey();
- return true;
+ const unsigned char* pbegin = &vchPubKey.vchPubKey[0];
+ if (o2i_ECPublicKey(&pkey, &pbegin, vchPubKey.vchPubKey.size()))
+ {
+ fSet = true;
+ if (vchPubKey.vchPubKey.size() == 33)
+ SetCompressedPubKey();
+ return true;
+ }
+ pkey = NULL;
+ Reset();
+ return false;
}
-std::vector<unsigned char> CKey::GetPubKey() const
+CPubKey CKey::GetPubKey() const
{
int nSize = i2o_ECPublicKey(pkey, NULL);
if (!nSize)
@@ -263,7 +280,7 @@ std::vector<unsigned char> CKey::GetPubKey() const
unsigned char* pbegin = &vchPubKey[0];
if (i2o_ECPublicKey(pkey, &pbegin) != nSize)
throw key_error("CKey::GetPubKey() : i2o_ECPublicKey returned unexpected size");
- return vchPubKey;
+ return CPubKey(vchPubKey);
}
bool CKey::Sign(uint256 hash, std::vector<unsigned char>& vchSig)
@@ -378,6 +395,9 @@ bool CKey::IsValid()
if (!fSet)
return false;
+ if (!EC_KEY_check_key(pkey))
+ return false;
+
bool fCompr;
CSecret secret = GetSecret(fCompr);
CKey key2;
diff --git a/src/key.h b/src/key.h
index e465e23842..c98f52ed04 100644
--- a/src/key.h
+++ b/src/key.h
@@ -9,7 +9,9 @@
#include <vector>
#include "allocators.h"
+#include "serialize.h"
#include "uint256.h"
+#include "util.h"
#include <openssl/ec.h> // for EC_KEY definition
@@ -42,6 +44,60 @@ public:
explicit key_error(const std::string& str) : std::runtime_error(str) {}
};
+/** A reference to a CKey: the Hash160 of its serialized public key */
+class CKeyID : public uint160
+{
+public:
+ CKeyID() : uint160(0) { }
+ CKeyID(const uint160 &in) : uint160(in) { }
+};
+
+/** A reference to a CScript: the Hash160 of its serialization (see script.h) */
+class CScriptID : public uint160
+{
+public:
+ CScriptID() : uint160(0) { }
+ CScriptID(const uint160 &in) : uint160(in) { }
+};
+
+/** An encapsulated public key. */
+class CPubKey {
+private:
+ std::vector<unsigned char> vchPubKey;
+ friend class CKey;
+
+public:
+ CPubKey() { }
+ CPubKey(const std::vector<unsigned char> &vchPubKeyIn) : vchPubKey(vchPubKeyIn) { }
+ friend bool operator==(const CPubKey &a, const CPubKey &b) { return a.vchPubKey == b.vchPubKey; }
+ friend bool operator!=(const CPubKey &a, const CPubKey &b) { return a.vchPubKey != b.vchPubKey; }
+ friend bool operator<(const CPubKey &a, const CPubKey &b) { return a.vchPubKey < b.vchPubKey; }
+
+ IMPLEMENT_SERIALIZE(
+ READWRITE(vchPubKey);
+ )
+
+ CKeyID GetID() const {
+ return CKeyID(Hash160(vchPubKey));
+ }
+
+ uint256 GetHash() const {
+ return Hash(vchPubKey.begin(), vchPubKey.end());
+ }
+
+ bool IsValid() const {
+ return vchPubKey.size() == 33 || vchPubKey.size() == 65;
+ }
+
+ bool IsCompressed() const {
+ return vchPubKey.size() == 33;
+ }
+
+ std::vector<unsigned char> Raw() const {
+ return vchPubKey;
+ }
+};
+
// secure_allocator is defined in allocators.h
// CPrivKey is a serialized private key, with all parameters included (279 bytes)
@@ -78,8 +134,8 @@ public:
bool SetSecret(const CSecret& vchSecret, bool fCompressed = false);
CSecret GetSecret(bool &fCompressed) const;
CPrivKey GetPrivKey() const;
- bool SetPubKey(const std::vector<unsigned char>& vchPubKey);
- std::vector<unsigned char> GetPubKey() const;
+ bool SetPubKey(const CPubKey& vchPubKey);
+ CPubKey GetPubKey() const;
bool Sign(uint256 hash, std::vector<unsigned char>& vchSig);
diff --git a/src/keystore.cpp b/src/keystore.cpp
index 3cb95767bb..e0cf805a19 100644
--- a/src/keystore.cpp
+++ b/src/keystore.cpp
@@ -6,7 +6,7 @@
#include "keystore.h"
#include "script.h"
-bool CKeyStore::GetPubKey(const CBitcoinAddress &address, std::vector<unsigned char> &vchPubKeyOut) const
+bool CKeyStore::GetPubKey(const CKeyID &address, CPubKey &vchPubKeyOut) const
{
CKey key;
if (!GetKey(address, key))
@@ -21,7 +21,7 @@ bool CBasicKeyStore::AddKey(const CKey& key)
CSecret secret = key.GetSecret(fCompressed);
{
LOCK(cs_KeyStore);
- mapKeys[CBitcoinAddress(key.GetPubKey())] = make_pair(secret, fCompressed);
+ mapKeys[key.GetPubKey().GetID()] = make_pair(secret, fCompressed);
}
return true;
}
@@ -30,12 +30,12 @@ bool CBasicKeyStore::AddCScript(const CScript& redeemScript)
{
{
LOCK(cs_KeyStore);
- mapScripts[Hash160(redeemScript)] = redeemScript;
+ mapScripts[redeemScript.GetID()] = redeemScript;
}
return true;
}
-bool CBasicKeyStore::HaveCScript(const uint160& hash) const
+bool CBasicKeyStore::HaveCScript(const CScriptID& hash) const
{
bool result;
{
@@ -46,7 +46,7 @@ bool CBasicKeyStore::HaveCScript(const uint160& hash) const
}
-bool CBasicKeyStore::GetCScript(const uint160 &hash, CScript& redeemScriptOut) const
+bool CBasicKeyStore::GetCScript(const CScriptID &hash, CScript& redeemScriptOut) const
{
{
LOCK(cs_KeyStore);
@@ -73,6 +73,20 @@ bool CCryptoKeyStore::SetCrypted()
return true;
}
+bool CCryptoKeyStore::Lock()
+{
+ if (!SetCrypted())
+ return false;
+
+ {
+ LOCK(cs_KeyStore);
+ vMasterKey.clear();
+ }
+
+ NotifyStatusChanged(this);
+ return true;
+}
+
bool CCryptoKeyStore::Unlock(const CKeyingMaterial& vMasterKeyIn)
{
{
@@ -83,10 +97,10 @@ bool CCryptoKeyStore::Unlock(const CKeyingMaterial& vMasterKeyIn)
CryptedKeyMap::const_iterator mi = mapCryptedKeys.begin();
for (; mi != mapCryptedKeys.end(); ++mi)
{
- const std::vector<unsigned char> &vchPubKey = (*mi).second.first;
+ const CPubKey &vchPubKey = (*mi).second.first;
const std::vector<unsigned char> &vchCryptedSecret = (*mi).second.second;
CSecret vchSecret;
- if(!DecryptSecret(vMasterKeyIn, vchCryptedSecret, Hash(vchPubKey.begin(), vchPubKey.end()), vchSecret))
+ if(!DecryptSecret(vMasterKeyIn, vchCryptedSecret, vchPubKey.GetHash(), vchSecret))
return false;
if (vchSecret.size() != 32)
return false;
@@ -99,6 +113,7 @@ bool CCryptoKeyStore::Unlock(const CKeyingMaterial& vMasterKeyIn)
}
vMasterKey = vMasterKeyIn;
}
+ NotifyStatusChanged(this);
return true;
}
@@ -113,9 +128,9 @@ bool CCryptoKeyStore::AddKey(const CKey& key)
return false;
std::vector<unsigned char> vchCryptedSecret;
- std::vector<unsigned char> vchPubKey = key.GetPubKey();
+ CPubKey vchPubKey = key.GetPubKey();
bool fCompressed;
- if (!EncryptSecret(vMasterKey, key.GetSecret(fCompressed), Hash(vchPubKey.begin(), vchPubKey.end()), vchCryptedSecret))
+ if (!EncryptSecret(vMasterKey, key.GetSecret(fCompressed), vchPubKey.GetHash(), vchCryptedSecret))
return false;
if (!AddCryptedKey(key.GetPubKey(), vchCryptedSecret))
@@ -125,19 +140,19 @@ bool CCryptoKeyStore::AddKey(const CKey& key)
}
-bool CCryptoKeyStore::AddCryptedKey(const std::vector<unsigned char> &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret)
+bool CCryptoKeyStore::AddCryptedKey(const CPubKey &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret)
{
{
LOCK(cs_KeyStore);
if (!SetCrypted())
return false;
- mapCryptedKeys[CBitcoinAddress(vchPubKey)] = make_pair(vchPubKey, vchCryptedSecret);
+ mapCryptedKeys[vchPubKey.GetID()] = make_pair(vchPubKey, vchCryptedSecret);
}
return true;
}
-bool CCryptoKeyStore::GetKey(const CBitcoinAddress &address, CKey& keyOut) const
+bool CCryptoKeyStore::GetKey(const CKeyID &address, CKey& keyOut) const
{
{
LOCK(cs_KeyStore);
@@ -147,10 +162,10 @@ bool CCryptoKeyStore::GetKey(const CBitcoinAddress &address, CKey& keyOut) const
CryptedKeyMap::const_iterator mi = mapCryptedKeys.find(address);
if (mi != mapCryptedKeys.end())
{
- const std::vector<unsigned char> &vchPubKey = (*mi).second.first;
+ const CPubKey &vchPubKey = (*mi).second.first;
const std::vector<unsigned char> &vchCryptedSecret = (*mi).second.second;
CSecret vchSecret;
- if (!DecryptSecret(vMasterKey, vchCryptedSecret, Hash(vchPubKey.begin(), vchPubKey.end()), vchSecret))
+ if (!DecryptSecret(vMasterKey, vchCryptedSecret, vchPubKey.GetHash(), vchSecret))
return false;
if (vchSecret.size() != 32)
return false;
@@ -162,7 +177,7 @@ bool CCryptoKeyStore::GetKey(const CBitcoinAddress &address, CKey& keyOut) const
return false;
}
-bool CCryptoKeyStore::GetPubKey(const CBitcoinAddress &address, std::vector<unsigned char>& vchPubKeyOut) const
+bool CCryptoKeyStore::GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const
{
{
LOCK(cs_KeyStore);
@@ -192,10 +207,10 @@ bool CCryptoKeyStore::EncryptKeys(CKeyingMaterial& vMasterKeyIn)
CKey key;
if (!key.SetSecret(mKey.second.first, mKey.second.second))
return false;
- const std::vector<unsigned char> vchPubKey = key.GetPubKey();
+ const CPubKey vchPubKey = key.GetPubKey();
std::vector<unsigned char> vchCryptedSecret;
bool fCompressed;
- if (!EncryptSecret(vMasterKeyIn, key.GetSecret(fCompressed), Hash(vchPubKey.begin(), vchPubKey.end()), vchCryptedSecret))
+ if (!EncryptSecret(vMasterKeyIn, key.GetSecret(fCompressed), vchPubKey.GetHash(), vchCryptedSecret))
return false;
if (!AddCryptedKey(vchPubKey, vchCryptedSecret))
return false;
diff --git a/src/keystore.h b/src/keystore.h
index 3f1f0ce9dd..ab369bbf47 100644
--- a/src/keystore.h
+++ b/src/keystore.h
@@ -6,8 +6,8 @@
#define BITCOIN_KEYSTORE_H
#include "crypter.h"
-#include "util.h"
-#include "base58.h"
+#include "sync.h"
+#include <boost/signals2/signal.hpp>
class CScript;
@@ -24,17 +24,17 @@ public:
virtual bool AddKey(const CKey& key) =0;
// Check whether a key corresponding to a given address is present in the store.
- virtual bool HaveKey(const CBitcoinAddress &address) const =0;
- virtual bool GetKey(const CBitcoinAddress &address, CKey& keyOut) const =0;
- virtual void GetKeys(std::set<CBitcoinAddress> &setAddress) const =0;
- virtual bool GetPubKey(const CBitcoinAddress &address, std::vector<unsigned char>& vchPubKeyOut) const;
+ virtual bool HaveKey(const CKeyID &address) const =0;
+ virtual bool GetKey(const CKeyID &address, CKey& keyOut) const =0;
+ virtual void GetKeys(std::set<CKeyID> &setAddress) const =0;
+ virtual bool GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const;
// Support for BIP 0013 : see https://en.bitcoin.it/wiki/BIP_0013
virtual bool AddCScript(const CScript& redeemScript) =0;
- virtual bool HaveCScript(const uint160 &hash) const =0;
- virtual bool GetCScript(const uint160 &hash, CScript& redeemScriptOut) const =0;
+ virtual bool HaveCScript(const CScriptID &hash) const =0;
+ virtual bool GetCScript(const CScriptID &hash, CScript& redeemScriptOut) const =0;
- virtual bool GetSecret(const CBitcoinAddress &address, CSecret& vchSecret, bool &fCompressed) const
+ virtual bool GetSecret(const CKeyID &address, CSecret& vchSecret, bool &fCompressed) const
{
CKey key;
if (!GetKey(address, key))
@@ -44,8 +44,8 @@ public:
}
};
-typedef std::map<CBitcoinAddress, std::pair<CSecret, bool> > KeyMap;
-typedef std::map<uint160, CScript > ScriptMap;
+typedef std::map<CKeyID, std::pair<CSecret, bool> > KeyMap;
+typedef std::map<CScriptID, CScript > ScriptMap;
/** Basic key store, that keeps keys in an address->secret map */
class CBasicKeyStore : public CKeyStore
@@ -56,7 +56,7 @@ protected:
public:
bool AddKey(const CKey& key);
- bool HaveKey(const CBitcoinAddress &address) const
+ bool HaveKey(const CKeyID &address) const
{
bool result;
{
@@ -65,7 +65,7 @@ public:
}
return result;
}
- void GetKeys(std::set<CBitcoinAddress> &setAddress) const
+ void GetKeys(std::set<CKeyID> &setAddress) const
{
setAddress.clear();
{
@@ -78,7 +78,7 @@ public:
}
}
}
- bool GetKey(const CBitcoinAddress &address, CKey &keyOut) const
+ bool GetKey(const CKeyID &address, CKey &keyOut) const
{
{
LOCK(cs_KeyStore);
@@ -93,11 +93,11 @@ public:
return false;
}
virtual bool AddCScript(const CScript& redeemScript);
- virtual bool HaveCScript(const uint160 &hash) const;
- virtual bool GetCScript(const uint160 &hash, CScript& redeemScriptOut) const;
+ virtual bool HaveCScript(const CScriptID &hash) const;
+ virtual bool GetCScript(const CScriptID &hash, CScript& redeemScriptOut) const;
};
-typedef std::map<CBitcoinAddress, std::pair<std::vector<unsigned char>, std::vector<unsigned char> > > CryptedKeyMap;
+typedef std::map<CKeyID, std::pair<CPubKey, std::vector<unsigned char> > > CryptedKeyMap;
/** Keystore which keeps the private keys encrypted.
* It derives from the basic key store, which is used if no encryption is active.
@@ -143,22 +143,11 @@ public:
return result;
}
- bool Lock()
- {
- if (!SetCrypted())
- return false;
-
- {
- LOCK(cs_KeyStore);
- vMasterKey.clear();
- }
+ bool Lock();
- return true;
- }
-
- virtual bool AddCryptedKey(const std::vector<unsigned char> &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret);
+ virtual bool AddCryptedKey(const CPubKey &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret);
bool AddKey(const CKey& key);
- bool HaveKey(const CBitcoinAddress &address) const
+ bool HaveKey(const CKeyID &address) const
{
{
LOCK(cs_KeyStore);
@@ -168,9 +157,9 @@ public:
}
return false;
}
- bool GetKey(const CBitcoinAddress &address, CKey& keyOut) const;
- bool GetPubKey(const CBitcoinAddress &address, std::vector<unsigned char>& vchPubKeyOut) const;
- void GetKeys(std::set<CBitcoinAddress> &setAddress) const
+ bool GetKey(const CKeyID &address, CKey& keyOut) const;
+ bool GetPubKey(const CKeyID &address, CPubKey& vchPubKeyOut) const;
+ void GetKeys(std::set<CKeyID> &setAddress) const
{
if (!IsCrypted())
{
@@ -185,6 +174,11 @@ public:
mi++;
}
}
+
+ /* Wallet status (encrypted, locked) changed.
+ * Note: Called without locks held.
+ */
+ boost::signals2::signal<void (CCryptoKeyStore* wallet)> NotifyStatusChanged;
};
#endif
diff --git a/src/main.cpp b/src/main.cpp
index 76b355717e..b63d68187c 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3,6 +3,7 @@
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+#include "alert.h"
#include "checkpoints.h"
#include "db.h"
#include "net.h"
@@ -109,7 +110,7 @@ void static EraseFromWallets(uint256 hash)
}
// make sure all wallets know about the given transaction, in the given block
-void static SyncWithWallets(const CTransaction& tx, const CBlock* pblock = NULL, bool fUpdate = false)
+void SyncWithWallets(const CTransaction& tx, const CBlock* pblock, bool fUpdate)
{
BOOST_FOREACH(CWallet* pwallet, setpwalletRegistered)
pwallet->AddToWalletIfInvolvingMe(tx, pblock, fUpdate);
@@ -180,7 +181,7 @@ bool AddOrphanTx(const CDataStream& vMsg)
// at most 500 megabytes of orphans:
if (pvMsg->size() > 5000)
{
- printf("ignoring large orphan tx (size: %u, hash: %s)\n", pvMsg->size(), hash.ToString().substr(0,10).c_str());
+ printf("ignoring large orphan tx (size: %"PRIszu", hash: %s)\n", pvMsg->size(), hash.ToString().substr(0,10).c_str());
delete pvMsg;
return false;
}
@@ -189,7 +190,7 @@ bool AddOrphanTx(const CDataStream& vMsg)
BOOST_FOREACH(const CTxIn& txin, tx.vin)
mapOrphanTransactionsByPrev[txin.prevout.hash].insert(make_pair(hash, pvMsg));
- printf("stored orphan tx %s (mapsz %u)\n", hash.ToString().substr(0,10).c_str(),
+ printf("stored orphan tx %s (mapsz %"PRIszu")\n", hash.ToString().substr(0,10).c_str(),
mapOrphanTransactions.size());
return true;
}
@@ -268,6 +269,9 @@ bool CTransaction::ReadFromDisk(COutPoint prevout)
bool CTransaction::IsStandard() const
{
+ if (nVersion > CTransaction::CURRENT_VERSION)
+ return false;
+
BOOST_FOREACH(const CTxIn& txin, vin)
{
// Biggest 'standard' txin is a 3-signature 3-of-3 CHECKMULTISIG
@@ -278,9 +282,12 @@ bool CTransaction::IsStandard() const
if (!txin.scriptSig.IsPushOnly())
return false;
}
- BOOST_FOREACH(const CTxOut& txout, vout)
+ BOOST_FOREACH(const CTxOut& txout, vout) {
if (!::IsStandard(txout.scriptPubKey))
return false;
+ if (txout.nValue == 0)
+ return false;
+ }
return true;
}
@@ -470,6 +477,55 @@ bool CTransaction::CheckTransaction() const
return true;
}
+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;
+
+ unsigned int nBytes = ::GetSerializeSize(*this, SER_NETWORK, PROTOCOL_VERSION);
+ unsigned int nNewBlockSize = nBlockSize + nBytes;
+ int64 nMinFee = (1 + (int64)nBytes / 1000) * nBaseFee;
+
+ if (fAllowFree)
+ {
+ if (nBlockSize == 1)
+ {
+ // Transactions under 10K are free
+ // (about 4500 BTC if made of 50 BTC inputs)
+ if (nBytes < 10000)
+ nMinFee = 0;
+ }
+ else
+ {
+ // Free transaction area
+ if (nNewBlockSize < 27000)
+ nMinFee = 0;
+ }
+ }
+
+ // To limit dust spam, require MIN_TX_FEE/MIN_RELAY_TX_FEE if any output is less than 0.01
+ if (nMinFee < nBaseFee)
+ {
+ BOOST_FOREACH(const CTxOut& txout, vout)
+ if (txout.nValue < CENT)
+ nMinFee = nBaseFee;
+ }
+
+ // Raise the price as the block approaches full
+ if (nBlockSize != 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN/2)
+ {
+ if (nNewBlockSize >= MAX_BLOCK_SIZE_GEN)
+ return MAX_MONEY;
+ nMinFee *= MAX_BLOCK_SIZE_GEN / (MAX_BLOCK_SIZE_GEN - nNewBlockSize);
+ }
+
+ if (!MoneyRange(nMinFee))
+ nMinFee = MAX_MONEY;
+ return nMinFee;
+}
+
+
bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs,
bool* pfMissingInputs)
{
@@ -541,7 +597,7 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs,
return error("CTxMemPool::accept() : FetchInputs found invalid tx %s", hash.ToString().substr(0,10).c_str());
if (pfMissingInputs)
*pfMissingInputs = true;
- return error("CTxMemPool::accept() : FetchInputs failed %s", hash.ToString().substr(0,10).c_str());
+ return false;
}
// Check for non-standard pay-to-script-hash in inputs
@@ -556,8 +612,11 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs,
unsigned int nSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION);
// Don't accept it if it can't get into a block
- if (nFees < tx.GetMinFee(1000, true, GMF_RELAY))
- return error("CTxMemPool::accept() : not enough fees");
+ int64 txMinFee = tx.GetMinFee(1000, true, GMF_RELAY);
+ if (nFees < txMinFee)
+ return error("CTxMemPool::accept() : not enough fees %s, %"PRI64d" < %"PRI64d,
+ hash.ToString().c_str(),
+ nFees, txMinFee);
// Continuously rate-limit free transactions
// This mitigates 'penny-flooding' -- sending thousands of free transactions just to
@@ -600,7 +659,7 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs,
printf("CTxMemPool::accept() : replacing tx %s with new version\n", ptxOld->GetHash().ToString().c_str());
remove(*ptxOld);
}
- addUnchecked(tx);
+ addUnchecked(hash, tx);
}
///// are we sure this is ok when loading transactions or restoring block txes
@@ -608,7 +667,9 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs,
if (ptxOld)
EraseFromWallets(ptxOld->GetHash());
- printf("CTxMemPool::accept() : accepted %s\n", hash.ToString().substr(0,10).c_str());
+ printf("CTxMemPool::accept() : accepted %s (poolsz %"PRIszu")\n",
+ hash.ToString().substr(0,10).c_str(),
+ mapTx.size());
return true;
}
@@ -617,14 +678,11 @@ bool CTransaction::AcceptToMemoryPool(CTxDB& txdb, bool fCheckInputs, bool* pfMi
return mempool.accept(txdb, *this, fCheckInputs, pfMissingInputs);
}
-bool CTxMemPool::addUnchecked(CTransaction &tx)
+bool CTxMemPool::addUnchecked(const uint256& hash, CTransaction &tx)
{
- printf("addUnchecked(): size %lu\n", mapTx.size());
// Add to memory pool without checking anything. Don't call this directly,
// call CTxMemPool::accept to properly check the transaction first.
{
- LOCK(cs);
- uint256 hash = tx.GetHash();
mapTx[hash] = tx;
for (unsigned int i = 0; i < tx.vin.size(); i++)
mapNextTx[tx.vin[i].prevout] = CInPoint(&mapTx[hash], i);
@@ -651,7 +709,23 @@ bool CTxMemPool::remove(CTransaction &tx)
return true;
}
+void CTxMemPool::clear()
+{
+ LOCK(cs);
+ mapTx.clear();
+ mapNextTx.clear();
+ ++nTransactionsUpdated;
+}
+void CTxMemPool::queryHashes(std::vector<uint256>& vtxid)
+{
+ vtxid.clear();
+
+ LOCK(cs);
+ vtxid.reserve(mapTx.size());
+ for (map<uint256, CTransaction>::iterator mi = mapTx.begin(); mi != mapTx.end(); ++mi)
+ vtxid.push_back((*mi).first);
+}
@@ -754,7 +828,31 @@ int CTxIndex::GetDepthInMainChain() const
return 1 + nBestHeight - pindex->nHeight;
}
-
+// Return transaction in tx, and if it was found inside a block, its hash is placed in hashBlock
+bool GetTransaction(const uint256 &hash, CTransaction &tx, uint256 &hashBlock)
+{
+ {
+ LOCK(cs_main);
+ {
+ LOCK(mempool.cs);
+ if (mempool.exists(hash))
+ {
+ tx = mempool.lookup(hash);
+ return true;
+ }
+ }
+ CTxDB txdb("r");
+ CTxIndex txindex;
+ if (tx.ReadFromDisk(txdb, COutPoint(hash, 0), txindex))
+ {
+ CBlock block;
+ if (block.ReadFromDisk(txindex.pos.nFile, txindex.pos.nBlockPos, false))
+ hashBlock = block.GetHash();
+ return true;
+ }
+ }
+ return false;
+}
@@ -768,6 +866,24 @@ int CTxIndex::GetDepthInMainChain() const
// CBlock and CBlockIndex
//
+static CBlockIndex* pblockindexFBBHLast;
+CBlockIndex* FindBlockByHeight(int nHeight)
+{
+ CBlockIndex *pblockindex;
+ if (nHeight < nBestHeight / 2)
+ pblockindex = pindexGenesisBlock;
+ else
+ pblockindex = pindexBest;
+ if (pblockindexFBBHLast && abs(nHeight - pblockindex->nHeight) > abs(nHeight - pblockindexFBBHLast->nHeight))
+ pblockindex = pblockindexFBBHLast;
+ while (pblockindex->nHeight > nHeight)
+ pblockindex = pblockindex->pprev;
+ while (pblockindex->nHeight < nHeight)
+ pblockindex = pblockindex->pnext;
+ pblockindexFBBHLast = pblockindex;
+ return pblockindex;
+}
+
bool CBlock::ReadFromDisk(const CBlockIndex* pindex, bool fReadTransactions)
{
if (!fReadTransactions)
@@ -840,12 +956,12 @@ unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast, const CBl
// Only change once per interval
if ((pindexLast->nHeight+1) % nInterval != 0)
{
- // Special rules for testnet after 15 Feb 2012:
- if (fTestNet && pblock->nTime > 1329264000)
+ // Special difficulty rule for testnet:
+ if (fTestNet)
{
// If the new block's timestamp is more than 2* 10 minutes
// then allow mining of a min-difficulty block.
- if (pblock->nTime - pindexLast->nTime > nTargetSpacing*2)
+ if (pblock->nTime > pindexLast->nTime + nTargetSpacing*2)
return nProofOfWorkLimit;
else
{
@@ -935,12 +1051,17 @@ void static InvalidChainFound(CBlockIndex* pindexNew)
{
bnBestInvalidWork = pindexNew->bnChainWork;
CTxDB().WriteBestInvalidWork(bnBestInvalidWork);
- MainFrameRepaint();
- }
- printf("InvalidChainFound: invalid block=%s height=%d work=%s\n", pindexNew->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->nHeight, pindexNew->bnChainWork.ToString().c_str());
- printf("InvalidChainFound: current best=%s height=%d work=%s\n", hashBestChain.ToString().substr(0,20).c_str(), nBestHeight, bnBestChainWork.ToString().c_str());
+ uiInterface.NotifyBlocksChanged();
+ }
+ printf("InvalidChainFound: invalid block=%s height=%d work=%s date=%s\n",
+ pindexNew->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->nHeight,
+ pindexNew->bnChainWork.ToString().c_str(), DateTimeStrFormat("%x %H:%M:%S",
+ pindexNew->GetBlockTime()).c_str());
+ printf("InvalidChainFound: current best=%s height=%d work=%s date=%s\n",
+ hashBestChain.ToString().substr(0,20).c_str(), nBestHeight, bnBestChainWork.ToString().c_str(),
+ DateTimeStrFormat("%x %H:%M:%S", pindexBest->GetBlockTime()).c_str());
if (pindexBest && bnBestInvalidWork > bnBestChainWork + pindexBest->GetBlockWork() * 6)
- printf("InvalidChainFound: WARNING: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.\n");
+ printf("InvalidChainFound: Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.\n");
}
void CBlock::UpdateTime(const CBlockIndex* pindexPrev)
@@ -1066,7 +1187,7 @@ bool CTransaction::FetchInputs(CTxDB& txdb, const map<uint256, CTxIndex>& mapTes
// Revisit this if/when transaction replacement is implemented and allows
// adding inputs:
fInvalid = true;
- return DoS(100, error("FetchInputs() : %s prevout.n out of range %d %d %d prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str()));
+ return DoS(100, error("FetchInputs() : %s prevout.n out of range %d %"PRIszu" %"PRIszu" prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str()));
}
}
@@ -1135,7 +1256,7 @@ bool CTransaction::ConnectInputs(MapPrevTx inputs,
CTransaction& txPrev = inputs[prevout.hash].second;
if (prevout.n >= txPrev.vout.size() || prevout.n >= txindex.vSpent.size())
- return DoS(100, error("ConnectInputs() : %s prevout.n out of range %d %d %d prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str()));
+ return DoS(100, error("ConnectInputs() : %s prevout.n out of range %d %"PRIszu" %"PRIszu" prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str()));
// If prev is coinbase, check that it's matured
if (txPrev.IsCoinBase())
@@ -1277,10 +1398,10 @@ bool CBlock::DisconnectBlock(CTxDB& txdb, CBlockIndex* pindex)
return true;
}
-bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex)
+bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck)
{
// Check it again in case a previous version let a bad block in
- if (!CheckBlock())
+ if (!CheckBlock(!fJustCheck, !fJustCheck))
return false;
// Do not allow blocks that contain transactions which 'overwrite' older transactions,
@@ -1295,45 +1416,46 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex)
// Now that the whole chain is irreversibly beyond that time it is applied to all blocks except the
// two in the chain that violate it. This prevents exploiting the issue against nodes in their
// initial block download.
- // On testnet it is enabled as of februari 20, 2012, 0:00 UTC.
- bool fEnforceBIP30;
- if (fTestNet)
- fEnforceBIP30 = pindex->nTime > 1329696000;
- else
- fEnforceBIP30 = !((pindex->nHeight==91842 && pindex->GetBlockHash() == uint256("0x00000000000a4d0a398161ffc163c503763b1f4360639393e0e4c8e300e0caec")) ||
- (pindex->nHeight==91880 && pindex->GetBlockHash() == uint256("0x00000000000743f190a18c5577a3c2d2a1f610ae9601ac046a38084ccb7cd721")));
- if (fEnforceBIP30)
- {
- BOOST_FOREACH(CTransaction& tx, vtx)
- {
- CTxIndex txindexOld;
- if (txdb.ReadTxIndex(tx.GetHash(), txindexOld))
- {
- BOOST_FOREACH(CDiskTxPos &pos, txindexOld.vSpent)
- if (pos.IsNull())
- return false;
- }
- }
- }
+ bool fEnforceBIP30 = (!pindex->phashBlock) || // Enforce on CreateNewBlock invocations which don't have a hash.
+ !((pindex->nHeight==91842 && pindex->GetBlockHash() == uint256("0x00000000000a4d0a398161ffc163c503763b1f4360639393e0e4c8e300e0caec")) ||
+ (pindex->nHeight==91880 && pindex->GetBlockHash() == uint256("0x00000000000743f190a18c5577a3c2d2a1f610ae9601ac046a38084ccb7cd721")));
- // BIP16 didn't become active until Apr 1 2012 (Feb 15 on testnet)
- int64 nBIP16SwitchTime = fTestNet ? 1329264000 : 1333238400;
+ // BIP16 didn't become active until Apr 1 2012
+ int64 nBIP16SwitchTime = 1333238400;
bool fStrictPayToScriptHash = (pindex->nTime >= nBIP16SwitchTime);
//// issue here: it doesn't know the version
- unsigned int nTxPos = pindex->nBlockPos + ::GetSerializeSize(CBlock(), SER_DISK, CLIENT_VERSION) - 1 + GetSizeOfCompactSize(vtx.size());
+ unsigned int nTxPos;
+ if (fJustCheck)
+ // FetchInputs treats CDiskTxPos(1,1,1) as a special "refer to memorypool" indicator
+ // Since we're just checking the block and not actually connecting it, it might not (and probably shouldn't) be on the disk to get the transaction from
+ nTxPos = 1;
+ else
+ nTxPos = pindex->nBlockPos + ::GetSerializeSize(CBlock(), SER_DISK, CLIENT_VERSION) - 1 + GetSizeOfCompactSize(vtx.size());
map<uint256, CTxIndex> mapQueuedChanges;
int64 nFees = 0;
unsigned int nSigOps = 0;
BOOST_FOREACH(CTransaction& tx, vtx)
{
+ uint256 hashTx = tx.GetHash();
+
+ if (fEnforceBIP30) {
+ CTxIndex txindexOld;
+ if (txdb.ReadTxIndex(hashTx, txindexOld)) {
+ BOOST_FOREACH(CDiskTxPos &pos, txindexOld.vSpent)
+ if (pos.IsNull())
+ return false;
+ }
+ }
+
nSigOps += tx.GetLegacySigOpCount();
if (nSigOps > MAX_BLOCK_SIGOPS)
return DoS(100, error("ConnectBlock() : too many sigops"));
CDiskTxPos posThisTx(pindex->nFile, pindex->nBlockPos, nTxPos);
- nTxPos += ::GetSerializeSize(tx, SER_DISK, CLIENT_VERSION);
+ if (!fJustCheck)
+ nTxPos += ::GetSerializeSize(tx, SER_DISK, CLIENT_VERSION);
MapPrevTx mapInputs;
if (!tx.IsCoinBase())
@@ -1358,9 +1480,15 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex)
return false;
}
- mapQueuedChanges[tx.GetHash()] = CTxIndex(posThisTx, tx.vout.size());
+ mapQueuedChanges[hashTx] = CTxIndex(posThisTx, tx.vout.size());
}
+ if (vtx[0].GetValueOut() > GetBlockValue(pindex->nHeight, nFees))
+ return error("ConnectBlock() : coinbase pays too much (actual=%lld vs limit=%lld)", (long long)vtx[0].GetValueOut(), (long long)GetBlockValue(pindex->nHeight, nFees));
+
+ if (fJustCheck)
+ return true;
+
// Write queued txindex changes
for (map<uint256, CTxIndex>::iterator mi = mapQueuedChanges.begin(); mi != mapQueuedChanges.end(); ++mi)
{
@@ -1368,9 +1496,6 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex)
return error("ConnectBlock() : UpdateTxIndex failed");
}
- if (vtx[0].GetValueOut() > GetBlockValue(pindex->nHeight, nFees))
- return error("ConnectBlock() : coinbase pays too much (actual=%lld vs limit=%lld)", (long long)vtx[0].GetValueOut(), (long long)GetBlockValue(pindex->nHeight, nFees));
-
// Update block index on disk without changing it in memory.
// The memory index structure will be changed after the db commits.
if (pindex->pprev)
@@ -1417,8 +1542,8 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew)
vConnect.push_back(pindex);
reverse(vConnect.begin(), vConnect.end());
- printf("REORGANIZE: Disconnect %i blocks; %s..%s\n", vDisconnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexBest->GetBlockHash().ToString().substr(0,20).c_str());
- printf("REORGANIZE: Connect %i blocks; %s..%s\n", vConnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->GetBlockHash().ToString().substr(0,20).c_str());
+ printf("REORGANIZE: Disconnect %"PRIszu" blocks; %s..%s\n", vDisconnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexBest->GetBlockHash().ToString().substr(0,20).c_str());
+ printf("REORGANIZE: Connect %"PRIszu" blocks; %s..%s\n", vConnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->GetBlockHash().ToString().substr(0,20).c_str());
// Disconnect shorter branch
vector<CTransaction> vResurrect;
@@ -1447,7 +1572,6 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew)
if (!block.ConnectBlock(txdb, pindex))
{
// Invalid block
- txdb.TxnAbort();
return error("Reorganize() : ConnectBlock %s failed", pindex->GetBlockHash().ToString().substr(0,20).c_str());
}
@@ -1486,14 +1610,6 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew)
}
-static void
-runCommand(std::string strCommand)
-{
- int nErr = ::system(strCommand.c_str());
- if (nErr)
- printf("runCommand error: system(%s) returned %d\n", strCommand.c_str(), nErr);
-}
-
// Called from inside SetBestChain: attaches a block to the new best chain being built
bool CBlock::SetBestChainInner(CTxDB& txdb, CBlockIndex *pindexNew)
{
@@ -1555,7 +1671,7 @@ bool CBlock::SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew)
}
if (!vpindexSecondary.empty())
- printf("Postponing %i reconnects\n", vpindexSecondary.size());
+ printf("Postponing %"PRIszu" reconnects\n", vpindexSecondary.size());
// Switch to new best branch
if (!Reorganize(txdb, pindexIntermediate))
@@ -1595,11 +1711,32 @@ bool CBlock::SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew)
// New best block
hashBestChain = hash;
pindexBest = pindexNew;
+ pblockindexFBBHLast = NULL;
nBestHeight = pindexBest->nHeight;
bnBestChainWork = pindexNew->bnChainWork;
nTimeBestReceived = GetTime();
nTransactionsUpdated++;
- printf("SetBestChain: new best=%s height=%d work=%s\n", hashBestChain.ToString().substr(0,20).c_str(), nBestHeight, bnBestChainWork.ToString().c_str());
+ printf("SetBestChain: new best=%s height=%d work=%s date=%s\n",
+ hashBestChain.ToString().substr(0,20).c_str(), nBestHeight, bnBestChainWork.ToString().c_str(),
+ DateTimeStrFormat("%x %H:%M:%S", pindexBest->GetBlockTime()).c_str());
+
+ // Check the version of the last 100 blocks to see if we need to upgrade:
+ if (!fIsInitialDownload)
+ {
+ int nUpgraded = 0;
+ const CBlockIndex* pindex = pindexBest;
+ for (int i = 0; i < 100 && pindex != NULL; i++)
+ {
+ if (pindex->nVersion > CBlock::CURRENT_VERSION)
+ ++nUpgraded;
+ pindex = pindex->pprev;
+ }
+ if (nUpgraded > 0)
+ printf("SetBestChain: %d of last 100 blocks above version %d\n", nUpgraded, CBlock::CURRENT_VERSION);
+ if (nUpgraded > 100/2)
+ // strMiscWarning is read by GetWarnings(), called by Qt and the JSON-RPC code to warn the user:
+ strMiscWarning = _("Warning: This version is obsolete, upgrade required!");
+ }
std::string strCmd = GetArg("-blocknotify", "");
@@ -1656,14 +1793,14 @@ bool CBlock::AddToBlockIndex(unsigned int nFile, unsigned int nBlockPos)
hashPrevBestCoinBase = vtx[0].GetHash();
}
- MainFrameRepaint();
+ uiInterface.NotifyBlocksChanged();
return true;
}
-bool CBlock::CheckBlock() const
+bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const
{
// These are checks that are independent of context
// that can be verified before saving an orphan block.
@@ -1673,7 +1810,7 @@ bool CBlock::CheckBlock() const
return DoS(100, error("CheckBlock() : size limits failed"));
// Check proof of work matches claimed amount
- if (!CheckProofOfWork(GetHash(), nBits))
+ if (fCheckPOW && !CheckProofOfWork(GetHash(), nBits))
return DoS(50, error("CheckBlock() : proof of work failed"));
// Check timestamp
@@ -1711,7 +1848,7 @@ bool CBlock::CheckBlock() const
return DoS(100, error("CheckBlock() : out-of-bounds SigOpCount"));
// Check merkle root
- if (hashMerkleRoot != BuildMerkleTree())
+ if (fCheckMerkleRoot && hashMerkleRoot != BuildMerkleTree())
return DoS(100, error("CheckBlock() : hashMerkleRoot mismatch"));
return true;
@@ -1746,7 +1883,7 @@ bool CBlock::AcceptBlock()
// Check that the block chain matches the known block chain up to a checkpoint
if (!Checkpoints::CheckBlock(nHeight, hash))
- return DoS(100, error("AcceptBlock() : rejected by checkpoint lockin at %d", nHeight));
+ return DoS(100, error("AcceptBlock() : rejected by checkpoint lock-in at %d", nHeight));
// Reject block.nVersion=1 blocks when 95% (75% on testnet) of the network has upgraded:
if (nVersion < 2)
@@ -1766,7 +1903,7 @@ bool CBlock::AcceptBlock()
{
CScript expect = CScript() << nHeight;
if (!std::equal(expect.begin(), expect.end(), vtx[0].vin[0].scriptSig.begin()))
- return error("AcceptBlock() : block height mismatch in coinbase");
+ return DoS(100, error("AcceptBlock() : block height mismatch in coinbase"));
}
}
@@ -1842,17 +1979,20 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock)
}
- // If don't already have its previous block, shunt it off to holding area until we get it
+ // If we don't already have its previous block, shunt it off to holding area until we get it
if (!mapBlockIndex.count(pblock->hashPrevBlock))
{
printf("ProcessBlock: ORPHAN BLOCK, prev=%s\n", pblock->hashPrevBlock.ToString().substr(0,20).c_str());
- CBlock* pblock2 = new CBlock(*pblock);
- mapOrphanBlocks.insert(make_pair(hash, pblock2));
- mapOrphanBlocksByPrev.insert(make_pair(pblock2->hashPrevBlock, pblock2));
- // Ask this guy to fill in what we're missing
- if (pfrom)
+ // Accept orphans as long as there is a node to request its parents from
+ if (pfrom) {
+ CBlock* pblock2 = new CBlock(*pblock);
+ mapOrphanBlocks.insert(make_pair(hash, pblock2));
+ mapOrphanBlocksByPrev.insert(make_pair(pblock2->hashPrevBlock, pblock2));
+
+ // Ask this guy to fill in what we're missing
pfrom->PushGetBlocks(pindexBest, GetOrphanRoot(pblock2));
+ }
return true;
}
@@ -1894,25 +2034,31 @@ bool CheckDiskSpace(uint64 nAdditionalBytes)
{
uint64 nFreeBytesAvailable = filesystem::space(GetDataDir()).available;
- // Check for 15MB because database could create another 10MB log file at any time
- if (nFreeBytesAvailable < (uint64)15000000 + nAdditionalBytes)
+ // Check for nMinDiskSpace bytes (currently 50MB)
+ if (nFreeBytesAvailable < nMinDiskSpace + nAdditionalBytes)
{
fShutdown = true;
- string strMessage = _("Warning: Disk space is low");
+ string strMessage = _("Warning: Disk space is low!");
strMiscWarning = strMessage;
printf("*** %s\n", strMessage.c_str());
- ThreadSafeMessageBox(strMessage, "Bitcoin", wxOK | wxICON_EXCLAMATION | wxMODAL);
+ uiInterface.ThreadSafeMessageBox(strMessage, "Bitcoin", CClientUIInterface::OK | CClientUIInterface::ICON_EXCLAMATION | CClientUIInterface::MODAL);
StartShutdown();
return false;
}
return true;
}
+static filesystem::path BlockFilePath(unsigned int nFile)
+{
+ string strBlockFn = strprintf("blk%04u.dat", nFile);
+ return GetDataDir() / strBlockFn;
+}
+
FILE* OpenBlockFile(unsigned int nFile, unsigned int nBlockPos, const char* pszMode)
{
- if (nFile == -1)
+ if ((nFile < 1) || (nFile == (unsigned int) -1))
return NULL;
- FILE* file = fopen((GetDataDir() / strprintf("blk%04d.dat", nFile)).string().c_str(), pszMode);
+ FILE* file = fopen(BlockFilePath(nFile).string().c_str(), pszMode);
if (!file)
return NULL;
if (nBlockPos != 0 && !strchr(pszMode, 'a') && !strchr(pszMode, 'w'))
@@ -1953,12 +2099,11 @@ bool LoadBlockIndex(bool fAllowNew)
{
if (fTestNet)
{
- hashGenesisBlock = uint256("0x00000007199508e34a9ff81e6ec0c477a4cccff2a4767a8eee39c11db367b008");
- bnProofOfWorkLimit = CBigNum(~uint256(0) >> 28);
- pchMessageStart[0] = 0xfa;
- pchMessageStart[1] = 0xbf;
- pchMessageStart[2] = 0xb5;
- pchMessageStart[3] = 0xda;
+ pchMessageStart[0] = 0x0b;
+ pchMessageStart[1] = 0x11;
+ pchMessageStart[2] = 0x09;
+ pchMessageStart[3] = 0x07;
+ hashGenesisBlock = uint256("000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943");
}
//
@@ -2004,8 +2149,7 @@ bool LoadBlockIndex(bool fAllowNew)
if (fTestNet)
{
block.nTime = 1296688602;
- block.nBits = 0x1d07fff8;
- block.nNonce = 384568319;
+ block.nNonce = 414098458;
}
//// debug print
@@ -2075,7 +2219,7 @@ void PrintBlockTree()
// print item
CBlock block;
block.ReadFromDisk(pindex);
- printf("%d (%u,%u) %s %s tx %d",
+ printf("%d (%u,%u) %s %s tx %"PRIszu"",
pindex->nHeight,
pindex->nFile,
pindex->nBlockPos,
@@ -2102,6 +2246,65 @@ void PrintBlockTree()
}
}
+bool LoadExternalBlockFile(FILE* fileIn)
+{
+ int64 nStart = GetTimeMillis();
+
+ int nLoaded = 0;
+ {
+ LOCK(cs_main);
+ try {
+ CAutoFile blkdat(fileIn, SER_DISK, CLIENT_VERSION);
+ unsigned int nPos = 0;
+ while (nPos != (unsigned int)-1 && blkdat.good() && !fRequestShutdown)
+ {
+ unsigned char pchData[65536];
+ do {
+ fseek(blkdat, nPos, SEEK_SET);
+ int nRead = fread(pchData, 1, sizeof(pchData), blkdat);
+ if (nRead <= 8)
+ {
+ nPos = (unsigned int)-1;
+ break;
+ }
+ void* nFind = memchr(pchData, pchMessageStart[0], nRead+1-sizeof(pchMessageStart));
+ if (nFind)
+ {
+ if (memcmp(nFind, pchMessageStart, sizeof(pchMessageStart))==0)
+ {
+ nPos += ((unsigned char*)nFind - pchData) + sizeof(pchMessageStart);
+ break;
+ }
+ nPos += ((unsigned char*)nFind - pchData) + 1;
+ }
+ else
+ nPos += sizeof(pchData) - sizeof(pchMessageStart) + 1;
+ } while(!fRequestShutdown);
+ if (nPos == (unsigned int)-1)
+ break;
+ fseek(blkdat, nPos, SEEK_SET);
+ unsigned int nSize;
+ blkdat >> nSize;
+ if (nSize > 0 && nSize <= MAX_BLOCK_SIZE)
+ {
+ CBlock block;
+ blkdat >> block;
+ if (ProcessBlock(NULL,&block))
+ {
+ nLoaded++;
+ nPos += 4 + nSize;
+ }
+ }
+ }
+ }
+ catch (std::exception &e) {
+ printf("%s() : Deserialize or I/O error caught during load\n",
+ __PRETTY_FUNCTION__);
+ }
+ }
+ printf("Loaded %i blocks from external file in %"PRI64d"ms\n", nLoaded, GetTimeMillis() - nStart);
+ return nLoaded > 0;
+}
@@ -2116,8 +2319,8 @@ void PrintBlockTree()
// CAlert
//
-map<uint256, CAlert> mapAlerts;
-CCriticalSection cs_mapAlerts;
+extern map<uint256, CAlert> mapAlerts;
+extern CCriticalSection cs_mapAlerts;
string GetWarnings(string strFor)
{
@@ -2138,7 +2341,7 @@ string GetWarnings(string strFor)
if (pindexBest && bnBestInvalidWork > bnBestChainWork + pindexBest->GetBlockWork() * 6)
{
nPriority = 2000;
- strStatusBar = strRPC = "WARNING: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.";
+ strStatusBar = strRPC = _("Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.");
}
// Alerts
@@ -2163,75 +2366,6 @@ string GetWarnings(string strFor)
return "error";
}
-bool CAlert::ProcessAlert()
-{
- if (!CheckSignature())
- return false;
- if (!IsInEffect())
- return false;
-
- // alert.nID=max is reserved for if the alert key is
- // compromised. It must have a pre-defined message,
- // must never expire, must apply to all versions,
- // and must cancel all previous
- // alerts or it will be ignored (so an attacker can't
- // send an "everything is OK, don't panic" version that
- // cannot be overridden):
- int maxInt = std::numeric_limits<int>::max();
- if (nID == maxInt)
- {
- if (!(
- nExpiration == maxInt &&
- nCancel == (maxInt-1) &&
- nMinVer == 0 &&
- nMaxVer == maxInt &&
- setSubVer.empty() &&
- nPriority == maxInt &&
- strStatusBar == "URGENT: Alert key compromised, upgrade required"
- ))
- return false;
- }
-
- {
- LOCK(cs_mapAlerts);
- // Cancel previous alerts
- for (map<uint256, CAlert>::iterator mi = mapAlerts.begin(); mi != mapAlerts.end();)
- {
- const CAlert& alert = (*mi).second;
- if (Cancels(alert))
- {
- printf("cancelling alert %d\n", alert.nID);
- mapAlerts.erase(mi++);
- }
- else if (!alert.IsInEffect())
- {
- printf("expiring alert %d\n", alert.nID);
- mapAlerts.erase(mi++);
- }
- else
- mi++;
- }
-
- // Check if this alert has been cancelled
- BOOST_FOREACH(PAIRTYPE(const uint256, CAlert)& item, mapAlerts)
- {
- const CAlert& alert = item.second;
- if (alert.Cancels(*this))
- {
- printf("alert already cancelled by %d\n", alert.nID);
- return false;
- }
- }
-
- // Add to mapAlerts
- mapAlerts.insert(make_pair(GetHash(), *this));
- }
-
- printf("accepted alert %d, AppliesToMe()=%d\n", nID, AppliesToMe());
- MainFrameRepaint();
- return true;
-}
-
@@ -2280,12 +2414,10 @@ unsigned char pchMessageStart[4] = { 0xf9, 0xbe, 0xb4, 0xd9 };
bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
{
- static map<CService, vector<unsigned char> > mapReuseKey;
+ static map<CService, CPubKey> mapReuseKey;
RandAddSeedPerfmon();
- if (fDebug) {
- printf("%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str());
- printf("received: %s (%d bytes)\n", strCommand.c_str(), vRecv.size());
- }
+ if (fDebug)
+ printf("received: %s (%"PRIszu" bytes)\n", strCommand.c_str(), vRecv.size());
if (mapArgs.count("-dropmessagestest") && GetRand(atoi(mapArgs["-dropmessagestest"])) == 0)
{
printf("dropmessagestest DROPPING RECV MESSAGE\n");
@@ -2328,6 +2460,12 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
if (!vRecv.empty())
vRecv >> pfrom->nStartingHeight;
+ if (pfrom->fInbound && addrMe.IsRoutable())
+ {
+ pfrom->addrLocal = addrMe;
+ SeenLocal(addrMe);
+ }
+
// Disconnect if we connected to ourself
if (nNonce == nLocalHostNonce && nNonce > 1)
{
@@ -2351,16 +2489,15 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
if (!pfrom->fInbound)
{
// Advertise our address
- if (!fNoListen && !fUseProxy && addrLocalHost.IsRoutable() &&
- !IsInitialBlockDownload())
+ if (!fNoListen && !IsInitialBlockDownload())
{
- CAddress addr(addrLocalHost);
- addr.nTime = GetAdjustedTime();
- pfrom->PushAddress(addr);
+ CAddress addr = GetLocalAddress(&pfrom->addr);
+ if (addr.IsRoutable())
+ pfrom->PushAddress(addr);
}
// Get recent addresses
- if (pfrom->nVersion >= CADDR_TIME_VERSION || addrman.size() < 1000)
+ if (pfrom->fOneShot || pfrom->nVersion >= CADDR_TIME_VERSION || addrman.size() < 1000)
{
pfrom->PushMessage("getaddr");
pfrom->fGetAddr = true;
@@ -2376,7 +2513,8 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
// Ask the first connected node for block updates
static int nAskedForBlocks = 0;
- if (!pfrom->fClient &&
+ if (!pfrom->fClient && !pfrom->fOneShot &&
+ (pfrom->nStartingHeight > (nBestHeight - 144)) &&
(pfrom->nVersion < NOBLKS_VERSION_START ||
pfrom->nVersion >= NOBLKS_VERSION_END) &&
(nAskedForBlocks < 1 || vNodes.size() <= 1))
@@ -2394,7 +2532,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
pfrom->fSuccessfullyConnected = true;
- printf("version message: version %d, blocks=%d\n", pfrom->nVersion, pfrom->nStartingHeight);
+ printf("receive version message: version %d, blocks=%d, us=%s, them=%s, peer=%s\n", pfrom->nVersion, pfrom->nStartingHeight, addrMe.ToString().c_str(), addrFrom.ToString().c_str(), pfrom->addr.ToString().c_str());
cPeerBlockCounts.input(pfrom->nStartingHeight);
}
@@ -2425,22 +2563,21 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
if (vAddr.size() > 1000)
{
pfrom->Misbehaving(20);
- return error("message addr size() = %d", vAddr.size());
+ return error("message addr size() = %"PRIszu"", vAddr.size());
}
// Store the new addresses
+ vector<CAddress> vAddrOk;
int64 nNow = GetAdjustedTime();
int64 nSince = nNow - 10 * 60;
BOOST_FOREACH(CAddress& addr, vAddr)
{
if (fShutdown)
return true;
- // ignore IPv6 for now, since it isn't implemented anyway
- if (!addr.IsIPv4())
- continue;
if (addr.nTime <= 100000000 || addr.nTime > nNow + 10 * 60)
addr.nTime = nNow - 5 * 24 * 60 * 60;
pfrom->AddAddressKnown(addr);
+ bool fReachable = IsReachable(addr);
if (addr.nTime > nSince && !pfrom->fGetAddr && vAddr.size() <= 10 && addr.IsRoutable())
{
// Relay to a limited number of other nodes
@@ -2451,7 +2588,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
static uint256 hashSalt;
if (hashSalt == 0)
hashSalt = GetRandHash();
- int64 hashAddr = addr.GetHash();
+ uint64 hashAddr = addr.GetHash();
uint256 hashRand = hashSalt ^ (hashAddr<<32) ^ ((GetTime()+hashAddr)/(24*60*60));
hashRand = Hash(BEGIN(hashRand), END(hashRand));
multimap<uint256, CNode*> mapMix;
@@ -2465,15 +2602,20 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
hashKey = Hash(BEGIN(hashKey), END(hashKey));
mapMix.insert(make_pair(hashKey, pnode));
}
- int nRelayNodes = 2;
+ int nRelayNodes = fReachable ? 2 : 1; // limited relaying of addresses outside our network(s)
for (multimap<uint256, CNode*>::iterator mi = mapMix.begin(); mi != mapMix.end() && nRelayNodes-- > 0; ++mi)
((*mi).second)->PushAddress(addr);
}
}
+ // Do not store addresses outside our network
+ if (fReachable)
+ vAddrOk.push_back(addr);
}
- addrman.Add(vAddr, pfrom->addr, 2 * 60 * 60);
+ addrman.Add(vAddrOk, pfrom->addr, 2 * 60 * 60);
if (vAddr.size() < 1000)
pfrom->fGetAddr = false;
+ if (pfrom->fOneShot)
+ pfrom->fDisconnect = true;
}
@@ -2481,10 +2623,10 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
{
vector<CInv> vInv;
vRecv >> vInv;
- if (vInv.size() > 50000)
+ if (vInv.size() > MAX_INV_SZ)
{
pfrom->Misbehaving(20);
- return error("message inv size() = %d", vInv.size());
+ return error("message inv size() = %"PRIszu"", vInv.size());
}
// find last block in inv vector
@@ -2516,7 +2658,6 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
// In case we are on a very long side-chain, it is possible that we already have
// the last block in an inv bundle sent in response to getblocks. Try to detect
// this situation and push another getblocks to continue.
- std::vector<CInv> vGetData(1,inv);
pfrom->PushGetBlocks(mapBlockIndex[inv.hash], uint256(0));
if (fDebug)
printf("force request: %s\n", inv.ToString().c_str());
@@ -2532,17 +2673,21 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
{
vector<CInv> vInv;
vRecv >> vInv;
- if (vInv.size() > 50000)
+ if (vInv.size() > MAX_INV_SZ)
{
pfrom->Misbehaving(20);
- return error("message getdata size() = %d", vInv.size());
+ return error("message getdata size() = %"PRIszu"", vInv.size());
}
+ if (fDebugNet || (vInv.size() != 1))
+ printf("received getdata (%"PRIszu" invsz)\n", vInv.size());
+
BOOST_FOREACH(const CInv& inv, vInv)
{
if (fShutdown)
return true;
- printf("received getdata for: %s\n", inv.ToString().c_str());
+ if (fDebugNet || (vInv.size() == 1))
+ printf("received getdata for: %s\n", inv.ToString().c_str());
if (inv.type == MSG_BLOCK)
{
@@ -2570,11 +2715,24 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
else if (inv.IsKnownType())
{
// Send stream from relay memory
+ bool pushed = false;
{
LOCK(cs_mapRelay);
map<CInv, CDataStream>::iterator mi = mapRelay.find(inv);
- if (mi != mapRelay.end())
+ 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);
+ }
}
}
@@ -2596,25 +2754,21 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
// Send the rest of the chain
if (pindex)
pindex = pindex->pnext;
- int nLimit = 500 + locator.GetDistanceBack();
- unsigned int nBytes = 0;
+ int nLimit = 500;
printf("getblocks %d to %s limit %d\n", (pindex ? pindex->nHeight : -1), hashStop.ToString().substr(0,20).c_str(), nLimit);
for (; pindex; pindex = pindex->pnext)
{
if (pindex->GetBlockHash() == hashStop)
{
- printf(" getblocks stopping at %d %s (%u bytes)\n", pindex->nHeight, pindex->GetBlockHash().ToString().substr(0,20).c_str(), nBytes);
+ printf(" getblocks stopping at %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString().substr(0,20).c_str());
break;
}
pfrom->PushInventory(CInv(MSG_BLOCK, pindex->GetBlockHash()));
- CBlock block;
- block.ReadFromDisk(pindex, true);
- nBytes += block.GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION);
- if (--nLimit <= 0 || nBytes >= SendBufferSize()/2)
+ if (--nLimit <= 0)
{
// 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 (%u bytes)\n", pindex->nHeight, pindex->GetBlockHash().ToString().substr(0,20).c_str(), nBytes);
+ printf(" getblocks stopping at limit %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString().substr(0,20).c_str());
pfrom->hashContinue = pindex->GetBlockHash();
break;
}
@@ -2753,6 +2907,22 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
}
+ else if (strCommand == "mempool")
+ {
+ std::vector<uint256> vtxid;
+ mempool.queryHashes(vtxid);
+ vector<CInv> vInv;
+ for (unsigned int i = 0; i < vtxid.size(); i++) {
+ CInv inv(MSG_TX, vtxid[i]);
+ vInv.push_back(inv);
+ if (i == (MAX_INV_SZ - 1))
+ break;
+ }
+ if (vInv.size() > 0)
+ pfrom->PushMessage("inv", vInv);
+ }
+
+
else if (strCommand == "checkorder")
{
uint256 hashReply;
@@ -2887,6 +3057,10 @@ bool ProcessMessages(CNode* pfrom)
loop
{
+ // Don't bother if send buffer is too full to respond anyway
+ if (pfrom->vSend.size() >= SendBufferSize())
+ break;
+
// Scan for message start
CDataStream::iterator pstart = search(vRecv.begin(), vRecv.end(), BEGIN(pchMessageStart), END(pchMessageStart));
int nHeaderSize = vRecv.GetSerializeSize(CMessageHeader());
@@ -2900,7 +3074,7 @@ bool ProcessMessages(CNode* pfrom)
break;
}
if (pstart - vRecv.begin() > 0)
- printf("\n\nPROCESSMESSAGE SKIPPED %d BYTES\n\n", pstart - vRecv.begin());
+ printf("\n\nPROCESSMESSAGE SKIPPED %"PRIpdd" BYTES\n\n", pstart - vRecv.begin());
vRecv.erase(vRecv.begin(), pstart);
// Read header
@@ -3020,11 +3194,11 @@ bool SendMessages(CNode* pto, bool fSendTrickle)
pnode->setAddrKnown.clear();
// Rebroadcast our address
- if (!fNoListen && !fUseProxy && addrLocalHost.IsRoutable())
+ if (!fNoListen)
{
- CAddress addr(addrLocalHost);
- addr.nTime = GetAdjustedTime();
- pnode->PushAddress(addr);
+ CAddress addr = GetLocalAddress(&pnode->addr);
+ if (addr.IsRoutable())
+ pnode->PushAddress(addr);
}
}
}
@@ -3127,15 +3301,16 @@ bool SendMessages(CNode* pto, bool fSendTrickle)
const CInv& inv = (*pto->mapAskFor.begin()).second;
if (!AlreadyHave(txdb, inv))
{
- printf("sending getdata: %s\n", inv.ToString().c_str());
+ if (fDebugNet)
+ printf("sending getdata: %s\n", inv.ToString().c_str());
vGetData.push_back(inv);
if (vGetData.size() >= 1000)
{
pto->PushMessage("getdata", vGetData);
vGetData.clear();
}
+ mapAlreadyAskedFor[inv] = nNow;
}
- mapAlreadyAskedFor[inv] = nNow;
pto->mapAskFor.erase(pto->mapAskFor.begin());
}
if (!vGetData.empty())
@@ -3239,16 +3414,18 @@ public:
CTransaction* ptx;
set<uint256> setDependsOn;
double dPriority;
+ double dFeePerKb;
COrphan(CTransaction* ptxIn)
{
ptx = ptxIn;
- dPriority = 0;
+ dPriority = dFeePerKb = 0;
}
void print() const
{
- printf("COrphan(hash=%s, dPriority=%.1f)\n", ptx->GetHash().ToString().substr(0,10).c_str(), dPriority);
+ printf("COrphan(hash=%s, dPriority=%.1f, dFeePerKb=%.1f)\n",
+ ptx->GetHash().ToString().substr(0,10).c_str(), dPriority, dFeePerKb);
BOOST_FOREACH(uint256 hash, setDependsOn)
printf(" setDependsOn %s\n", hash.ToString().substr(0,10).c_str());
}
@@ -3258,10 +3435,32 @@ public:
uint64 nLastBlockTx = 0;
uint64 nLastBlockSize = 0;
-CBlock* CreateNewBlock(CReserveKey& reservekey)
+// We want to sort transactions by priority and fee, so:
+typedef boost::tuple<double, double, CTransaction*> TxPriority;
+class TxPriorityCompare
{
- CBlockIndex* pindexPrev;
+ bool byFee;
+public:
+ TxPriorityCompare(bool _byFee) : byFee(_byFee) { }
+ bool operator()(const TxPriority& a, const TxPriority& b)
+ {
+ if (byFee)
+ {
+ if (a.get<1>() == b.get<1>())
+ return a.get<0>() < b.get<0>();
+ return a.get<1>() < b.get<1>();
+ }
+ else
+ {
+ if (a.get<0>() == b.get<0>())
+ return a.get<1>() < b.get<1>();
+ return a.get<0>() < b.get<0>();
+ }
+ }
+};
+CBlock* CreateNewBlock(CReserveKey& reservekey)
+{
// Create new block
auto_ptr<CBlock> pblock(new CBlock());
if (!pblock.get())
@@ -3277,17 +3476,44 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
// Add our coinbase tx as first transaction
pblock->vtx.push_back(txNew);
+ // Largest block you're willing to create:
+ unsigned int nBlockMaxSize = GetArg("-blockmaxsize", MAX_BLOCK_SIZE_GEN/2);
+ // 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));
+
+ // 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);
+ nBlockPrioritySize = std::min(nBlockMaxSize, nBlockPrioritySize);
+
+ // Minimum block size you want to create; block will be filled with free transactions
+ // until there are no more or the block reaches this size:
+ 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;
{
LOCK2(cs_main, mempool.cs);
- pindexPrev = pindexBest;
+ CBlockIndex* pindexPrev = pindexBest;
CTxDB txdb("r");
// Priority order to process transactions
list<COrphan> vOrphan; // list memory doesn't move
map<uint256, vector<COrphan*> > mapDependers;
- multimap<double, CTransaction*> mapPriority;
+
+ // This vector will be sorted into a priority queue:
+ vector<TxPriority> vecPriority;
+ vecPriority.reserve(mempool.mapTx.size());
for (map<uint256, CTransaction>::iterator mi = mempool.mapTx.begin(); mi != mempool.mapTx.end(); ++mi)
{
CTransaction& tx = (*mi).second;
@@ -3296,6 +3522,8 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
COrphan* porphan = NULL;
double dPriority = 0;
+ int64 nTotalIn = 0;
+ bool fMissingInputs = false;
BOOST_FOREACH(const CTxIn& txin, tx.vin)
{
// Read prev transaction
@@ -3303,6 +3531,19 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
CTxIndex txindex;
if (!txPrev.ReadFromDisk(txdb, txin.prevout, txindex))
{
+ // This should never happen; all transactions in the memory
+ // pool should connect to either transactions in the chain
+ // or other transactions in the memory pool.
+ if (!mempool.mapTx.count(txin.prevout.hash))
+ {
+ printf("ERROR: mempool transaction missing input\n");
+ if (fDebug) assert("mempool transaction missing input" == 0);
+ fMissingInputs = true;
+ if (porphan)
+ vOrphan.pop_back();
+ break;
+ }
+
// Has to wait for dependencies
if (!porphan)
{
@@ -3312,34 +3553,33 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
}
mapDependers[txin.prevout.hash].push_back(porphan);
porphan->setDependsOn.insert(txin.prevout.hash);
+ nTotalIn += mempool.mapTx[txin.prevout.hash].vout[txin.prevout.n].nValue;
continue;
}
int64 nValueIn = txPrev.vout[txin.prevout.n].nValue;
+ nTotalIn += nValueIn;
- // Read block header
int nConf = txindex.GetDepthInMainChain();
-
dPriority += (double)nValueIn * nConf;
-
- if (fDebug && GetBoolArg("-printpriority"))
- printf("priority nValueIn=%-12"PRI64d" nConf=%-5d dPriority=%-20.1f\n", nValueIn, nConf, dPriority);
}
+ if (fMissingInputs) continue;
// Priority is sum(valuein * age) / txsize
- dPriority /= ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION);
+ unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION);
+ dPriority /= nTxSize;
- if (porphan)
- porphan->dPriority = dPriority;
- else
- mapPriority.insert(make_pair(-dPriority, &(*mi).second));
+ // This is a more accurate fee-per-kilobyte than is used by the client code, because the
+ // client code rounds up the size to the nearest 1K. That's good, because it gives an
+ // incentive to create smaller transactions.
+ double dFeePerKb = double(nTotalIn-tx.GetValueOut()) / (double(nTxSize)/1000.0);
- if (fDebug && GetBoolArg("-printpriority"))
+ if (porphan)
{
- printf("priority %-20.1f %s\n%s", dPriority, tx.GetHash().ToString().substr(0,10).c_str(), tx.ToString().c_str());
- if (porphan)
- porphan->print();
- printf("\n");
+ porphan->dPriority = dPriority;
+ porphan->dFeePerKb = dFeePerKb;
}
+ else
+ vecPriority.push_back(TxPriority(dPriority, dFeePerKb, &(*mi).second));
}
// Collect transactions into block
@@ -3347,16 +3587,24 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
uint64 nBlockSize = 1000;
uint64 nBlockTx = 0;
int nBlockSigOps = 100;
- while (!mapPriority.empty())
+ bool fSortedByFee = (nBlockPrioritySize <= 0);
+
+ TxPriorityCompare comparer(fSortedByFee);
+ std::make_heap(vecPriority.begin(), vecPriority.end(), comparer);
+
+ while (!vecPriority.empty())
{
- // Take highest priority transaction off priority queue
- double dPriority = -(*mapPriority.begin()).first;
- CTransaction& tx = *(*mapPriority.begin()).second;
- mapPriority.erase(mapPriority.begin());
+ // Take highest priority transaction off the priority queue:
+ double dPriority = vecPriority.front().get<0>();
+ double dFeePerKb = vecPriority.front().get<1>();
+ CTransaction& tx = *(vecPriority.front().get<2>());
+
+ std::pop_heap(vecPriority.begin(), vecPriority.end(), comparer);
+ vecPriority.pop_back();
// Size limits
unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION);
- if (nBlockSize + nTxSize >= MAX_BLOCK_SIZE_GEN)
+ if (nBlockSize + nTxSize >= nBlockMaxSize)
continue;
// Legacy limits on sigOps:
@@ -3364,9 +3612,19 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS)
continue;
- // Transaction fee required depends on block size
- bool fAllowFree = (nBlockSize + nTxSize < 4000 || CTransaction::AllowFree(dPriority));
- int64 nMinFee = tx.GetMinFee(nBlockSize, fAllowFree, GMF_BLOCK);
+ // Skip free transactions if we're past the minimum block size:
+ if (fSortedByFee && (dFeePerKb < nMinTxFee) && (nBlockSize + nTxSize >= nBlockMinSize))
+ continue;
+
+ // Prioritize by fee once past the priority size or we run out of high-priority
+ // transactions:
+ if (!fSortedByFee &&
+ ((nBlockSize + nTxSize >= nBlockPrioritySize) || (dPriority < COIN * 144 / 250)))
+ {
+ fSortedByFee = true;
+ comparer = TxPriorityCompare(fSortedByFee);
+ std::make_heap(vecPriority.begin(), vecPriority.end(), comparer);
+ }
// Connecting shouldn't fail due to dependency on other memory pool transactions
// because we're already processing them in order of dependency
@@ -3377,8 +3635,6 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
continue;
int64 nTxFees = tx.GetValueIn(mapInputs)-tx.GetValueOut();
- if (nTxFees < nMinFee)
- continue;
nTxSigOps += tx.GetP2SHSigOpCount(mapInputs);
if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS)
@@ -3396,6 +3652,12 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
nBlockSigOps += nTxSigOps;
nFees += nTxFees;
+ if (fDebug && GetBoolArg("-printpriority"))
+ {
+ printf("priority %.1f feeperkb %.1f txid %s\n",
+ dPriority, dFeePerKb, tx.GetHash().ToString().c_str());
+ }
+
// Add transactions that depend on this one to the priority queue
uint256 hash = tx.GetHash();
if (mapDependers.count(hash))
@@ -3406,7 +3668,10 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
{
porphan->setDependsOn.erase(hash);
if (porphan->setDependsOn.empty())
- mapPriority.insert(make_pair(-porphan->dPriority, porphan->ptx));
+ {
+ vecPriority.push_back(TxPriority(porphan->dPriority, porphan->dFeePerKb, porphan->ptx));
+ std::push_heap(vecPriority.begin(), vecPriority.end(), comparer);
+ }
}
}
}
@@ -3414,18 +3679,24 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
nLastBlockTx = nBlockTx;
nLastBlockSize = nBlockSize;
- printf("CreateNewBlock(): total size %lu\n", nBlockSize);
+ printf("CreateNewBlock(): total size %"PRI64u"\n", nBlockSize);
- }
pblock->vtx[0].vout[0].nValue = GetBlockValue(pindexPrev->nHeight+1, nFees);
// Fill in header
pblock->hashPrevBlock = pindexPrev->GetBlockHash();
- pblock->hashMerkleRoot = pblock->BuildMerkleTree();
pblock->UpdateTime(pindexPrev);
pblock->nBits = GetNextWorkRequired(pindexPrev, pblock.get());
pblock->nNonce = 0;
+ pblock->vtx[0].vin[0].scriptSig = CScript() << OP_0 << OP_0;
+ CBlockIndex indexDummy(1, 1, *pblock);
+ indexDummy.pprev = pindexPrev;
+ indexDummy.nHeight = pindexPrev->nHeight + 1;
+ if (!pblock->ConnectBlock(txdb, &indexDummy, true))
+ throw std::runtime_error("CreateNewBlock() : ConnectBlock failed");
+ }
+
return pblock.release();
}
@@ -3506,7 +3777,6 @@ bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey)
printf("BitcoinMiner:\n");
printf("proof-of-work found \n hash: %s \ntarget: %s\n", hash.GetHex().c_str(), hashTarget.GetHex().c_str());
pblock->print();
- printf("%s ", DateTimeStrFormat("%x %H:%M", GetTime()).c_str());
printf("generated %s\n", FormatMoney(pblock->vtx[0].vout[0].nValue).c_str());
// Found a solution
@@ -3543,6 +3813,9 @@ 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;
@@ -3572,7 +3845,8 @@ void static BitcoinMiner(CWallet *pwallet)
return;
IncrementExtraNonce(pblock.get(), pindexPrev, nExtraNonce);
- printf("Running BitcoinMiner with %d transactions in block\n", pblock->vtx.size());
+ printf("Running BitcoinMiner with %"PRIszu" transactions in block (%u bytes)\n", pblock->vtx.size(),
+ ::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION));
//
@@ -3647,7 +3921,6 @@ void static BitcoinMiner(CWallet *pwallet)
if (GetTime() - nLogTime > 30 * 60)
{
nLogTime = GetTime();
- printf("%s ", DateTimeStrFormat("%x %H:%M", GetTime()).c_str());
printf("hashmeter %3d CPUs %6.0f khash/s\n", vnThreadsRunning[THREAD_MINER], dHashesPerSec/1000.0);
}
}
@@ -3726,8 +3999,8 @@ void GenerateBitcoins(bool fGenerate, CWallet* pwallet)
printf("Starting %d BitcoinMiner threads\n", nAddThreads);
for (int i = 0; i < nAddThreads; i++)
{
- if (!CreateThread(ThreadBitcoinMiner, pwallet))
- printf("Error: CreateThread(ThreadBitcoinMiner) failed\n");
+ if (!NewThread(ThreadBitcoinMiner, pwallet))
+ printf("Error: NewThread(ThreadBitcoinMiner) failed\n");
Sleep(10);
}
}
diff --git a/src/main.h b/src/main.h
index e562cec7c4..68302b85ac 100644
--- a/src/main.h
+++ b/src/main.h
@@ -6,13 +6,10 @@
#define BITCOIN_MAIN_H
#include "bignum.h"
+#include "sync.h"
#include "net.h"
#include "script.h"
-#ifdef WIN32
-#include <io.h> /* for _commit */
-#endif
-
#include <list>
class CWallet;
@@ -30,13 +27,14 @@ static const unsigned int MAX_BLOCK_SIZE = 1000000;
static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2;
static const unsigned int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;
static const unsigned int MAX_ORPHAN_TRANSACTIONS = MAX_BLOCK_SIZE/100;
+static const unsigned int MAX_INV_SZ = 50000;
static const int64 MIN_TX_FEE = 50000;
static const int64 MIN_RELAY_TX_FEE = 10000;
static const int64 MAX_MONEY = 21000000 * COIN;
inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
static const int COINBASE_MATURITY = 100;
// Threshold for nLockTime: below this value it is interpreted as block number, otherwise as UNIX timestamp.
-static const int LOCKTIME_THRESHOLD = 500000000; // Tue Nov 5 00:53:20 1985 UTC
+static const unsigned int LOCKTIME_THRESHOLD = 500000000; // Tue Nov 5 00:53:20 1985 UTC
#ifdef USE_UPNP
static const int fHaveUPnP = true;
#else
@@ -69,12 +67,13 @@ extern int64 nHPSTimerStart;
extern int64 nTimeBestReceived;
extern CCriticalSection cs_setpwalletRegistered;
extern std::set<CWallet*> setpwalletRegistered;
+extern unsigned char pchMessageStart[4];
// Settings
extern int64 nTransactionFee;
-
-
+// Minimum disk space required - used in CheckDiskSpace()
+static const uint64 nMinDiskSpace = 52428800;
class CReserveKey;
@@ -83,14 +82,17 @@ class CTxIndex;
void RegisterWallet(CWallet* pwalletIn);
void UnregisterWallet(CWallet* pwalletIn);
+void SyncWithWallets(const CTransaction& tx, const CBlock* pblock = NULL, bool fUpdate = false);
bool ProcessBlock(CNode* pfrom, CBlock* pblock);
bool CheckDiskSpace(uint64 nAdditionalBytes=0);
FILE* OpenBlockFile(unsigned int nFile, unsigned int nBlockPos, const char* pszMode="rb");
FILE* AppendBlockFile(unsigned int& nFileRet);
bool LoadBlockIndex(bool fAllowNew=true);
void PrintBlockTree();
+CBlockIndex* FindBlockByHeight(int nHeight);
bool ProcessMessages(CNode* pfrom);
bool SendMessages(CNode* pto, bool fSendTrickle);
+bool LoadExternalBlockFile(FILE* fileIn);
void GenerateBitcoins(bool fGenerate, CWallet* pwallet);
CBlock* CreateNewBlock(CReserveKey& reservekey);
void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce);
@@ -101,7 +103,7 @@ unsigned int ComputeMinWork(unsigned int nBase, int64 nTime);
int GetNumBlocksOfPeers();
bool IsInitialBlockDownload();
std::string GetWarnings(std::string strFor);
-
+bool GetTransaction(const uint256 &hash, CTransaction &tx, uint256 &hashBlock);
@@ -136,8 +138,8 @@ public:
}
IMPLEMENT_SERIALIZE( READWRITE(FLATDATA(*this)); )
- void SetNull() { nFile = -1; nBlockPos = 0; nTxPos = 0; }
- bool IsNull() const { return (nFile == -1); }
+ void SetNull() { nFile = (unsigned int) -1; nBlockPos = 0; nTxPos = 0; }
+ bool IsNull() const { return (nFile == (unsigned int) -1); }
friend bool operator==(const CDiskTxPos& a, const CDiskTxPos& b)
{
@@ -156,7 +158,7 @@ public:
if (IsNull())
return "null";
else
- return strprintf("(nFile=%d, nBlockPos=%d, nTxPos=%d)", nFile, nBlockPos, nTxPos);
+ return strprintf("(nFile=%u, nBlockPos=%u, nTxPos=%u)", nFile, nBlockPos, nTxPos);
}
void print() const
@@ -176,8 +178,8 @@ public:
CInPoint() { SetNull(); }
CInPoint(CTransaction* ptxIn, unsigned int nIn) { ptx = ptxIn; n = nIn; }
- void SetNull() { ptx = NULL; n = -1; }
- bool IsNull() const { return (ptx == NULL && n == -1); }
+ void SetNull() { ptx = NULL; n = (unsigned int) -1; }
+ bool IsNull() const { return (ptx == NULL && n == (unsigned int) -1); }
};
@@ -192,8 +194,8 @@ public:
COutPoint() { SetNull(); }
COutPoint(uint256 hashIn, unsigned int nIn) { hash = hashIn; n = nIn; }
IMPLEMENT_SERIALIZE( READWRITE(FLATDATA(*this)); )
- void SetNull() { hash = 0; n = -1; }
- bool IsNull() const { return (hash == 0 && n == -1); }
+ void SetNull() { hash = 0; n = (unsigned int) -1; }
+ bool IsNull() const { return (hash == 0 && n == (unsigned int) -1); }
friend bool operator<(const COutPoint& a, const COutPoint& b)
{
@@ -212,7 +214,7 @@ public:
std::string ToString() const
{
- return strprintf("COutPoint(%s, %d)", hash.ToString().substr(0,10).c_str(), n);
+ return strprintf("COutPoint(%s, %u)", hash.ToString().substr(0,10).c_str(), n);
}
void print() const
@@ -538,53 +540,7 @@ public:
return dPriority > COIN * 144 / 250;
}
- int64 GetMinFee(unsigned int nBlockSize=1, bool fAllowFree=true, enum GetMinFee_mode mode=GMF_BLOCK) 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;
-
- unsigned int nBytes = ::GetSerializeSize(*this, SER_NETWORK, PROTOCOL_VERSION);
- unsigned int nNewBlockSize = nBlockSize + nBytes;
- int64 nMinFee = (1 + (int64)nBytes / 1000) * nBaseFee;
-
- if (fAllowFree)
- {
- if (nBlockSize == 1)
- {
- // Transactions under 10K are free
- // (about 4500 BTC if made of 50 BTC inputs)
- if (nBytes < 10000)
- nMinFee = 0;
- }
- else
- {
- // Free transaction area
- if (nNewBlockSize < 27000)
- nMinFee = 0;
- }
- }
-
- // To limit dust spam, require MIN_TX_FEE/MIN_RELAY_TX_FEE if any output is less than 0.01
- if (nMinFee < nBaseFee)
- {
- BOOST_FOREACH(const CTxOut& txout, vout)
- if (txout.nValue < CENT)
- nMinFee = nBaseFee;
- }
-
- // Raise the price as the block approaches full
- if (nBlockSize != 1 && nNewBlockSize >= MAX_BLOCK_SIZE_GEN/2)
- {
- if (nNewBlockSize >= MAX_BLOCK_SIZE_GEN)
- return MAX_MONEY;
- nMinFee *= MAX_BLOCK_SIZE_GEN / (MAX_BLOCK_SIZE_GEN - nNewBlockSize);
- }
-
- if (!MoneyRange(nMinFee))
- nMinFee = MAX_MONEY;
- return nMinFee;
- }
-
+ int64 GetMinFee(unsigned int nBlockSize=1, bool fAllowFree=true, enum GetMinFee_mode mode=GMF_BLOCK) const;
bool ReadFromDisk(CDiskTxPos pos, FILE** pfileRet=NULL)
{
@@ -630,7 +586,7 @@ public:
std::string ToString() const
{
std::string str;
- str += strprintf("CTransaction(hash=%s, ver=%d, vin.size=%d, vout.size=%d, nLockTime=%d)\n",
+ str += strprintf("CTransaction(hash=%s, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%u)\n",
GetHash().ToString().substr(0,10).c_str(),
nVersion,
vin.size(),
@@ -797,7 +753,7 @@ public:
return !(a == b);
}
int GetDepthInMainChain() const;
-
+
};
@@ -961,13 +917,7 @@ public:
// Flush stdio buffers and commit to disk before returning
fflush(fileout);
if (!IsInitialBlockDownload() || (nBestHeight+1) % 500 == 0)
- {
-#ifdef WIN32
- _commit(_fileno(fileout));
-#else
- fsync(fileno(fileout));
-#endif
- }
+ FileCommit(fileout);
return true;
}
@@ -1002,7 +952,7 @@ public:
void print() const
{
- printf("CBlock(hash=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%d)\n",
+ printf("CBlock(hash=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%"PRIszu")\n",
GetHash().ToString().substr(0,20).c_str(),
nVersion,
hashPrevBlock.ToString().substr(0,20).c_str(),
@@ -1022,11 +972,11 @@ public:
bool DisconnectBlock(CTxDB& txdb, CBlockIndex* pindex);
- bool ConnectBlock(CTxDB& txdb, CBlockIndex* pindex);
+ bool ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck=false);
bool ReadFromDisk(const CBlockIndex* pindex, bool fReadTransactions=true);
bool SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew);
bool AddToBlockIndex(unsigned int nFile, unsigned int nBlockPos);
- bool CheckBlock() const;
+ bool CheckBlock(bool fCheckPOW=true, bool fCheckMerkleRoot=true) const;
bool AcceptBlock();
private:
@@ -1140,21 +1090,6 @@ public:
return CheckProofOfWork(GetBlockHash(), nBits);
}
- bool EraseBlockFromDisk()
- {
- // Open history file
- CAutoFile fileout = CAutoFile(OpenBlockFile(nFile, nBlockPos, "rb+"), SER_DISK, CLIENT_VERSION);
- if (!fileout)
- return false;
-
- // Overwrite with empty null block
- CBlock block;
- block.SetNull();
- fileout << block;
-
- return true;
- }
-
enum { nMedianTimeSpan=11 };
int64 GetMedianTimePast() const
@@ -1193,7 +1128,7 @@ public:
std::string ToString() const
{
- return strprintf("CBlockIndex(nprev=%08x, pnext=%08x, nFile=%d, nBlockPos=%-6d nHeight=%d, merkle=%s, hashBlock=%s)",
+ return strprintf("CBlockIndex(pprev=%p, pnext=%p, nFile=%u, nBlockPos=%-6u nHeight=%d, merkle=%s, hashBlock=%s)",
pprev, pnext, nFile, nBlockPos, nHeight,
hashMerkleRoot.ToString().substr(0,10).c_str(),
GetBlockHash().ToString().substr(0,20).c_str());
@@ -1416,207 +1351,6 @@ public:
-
-/** Alerts are for notifying old versions if they become too obsolete and
- * need to upgrade. The message is displayed in the status bar.
- * Alert messages are broadcast as a vector of signed data. Unserializing may
- * not read the entire buffer if the alert is for a newer version, but older
- * versions can still relay the original data.
- */
-class CUnsignedAlert
-{
-public:
- int nVersion;
- int64 nRelayUntil; // when newer nodes stop relaying to newer nodes
- int64 nExpiration;
- int nID;
- int nCancel;
- std::set<int> setCancel;
- int nMinVer; // lowest version inclusive
- int nMaxVer; // highest version inclusive
- std::set<std::string> setSubVer; // empty matches all
- int nPriority;
-
- // Actions
- std::string strComment;
- std::string strStatusBar;
- std::string strReserved;
-
- IMPLEMENT_SERIALIZE
- (
- READWRITE(this->nVersion);
- nVersion = this->nVersion;
- READWRITE(nRelayUntil);
- READWRITE(nExpiration);
- READWRITE(nID);
- READWRITE(nCancel);
- READWRITE(setCancel);
- READWRITE(nMinVer);
- READWRITE(nMaxVer);
- READWRITE(setSubVer);
- READWRITE(nPriority);
-
- READWRITE(strComment);
- READWRITE(strStatusBar);
- READWRITE(strReserved);
- )
-
- void SetNull()
- {
- nVersion = 1;
- nRelayUntil = 0;
- nExpiration = 0;
- nID = 0;
- nCancel = 0;
- setCancel.clear();
- nMinVer = 0;
- nMaxVer = 0;
- setSubVer.clear();
- nPriority = 0;
-
- strComment.clear();
- strStatusBar.clear();
- strReserved.clear();
- }
-
- std::string ToString() const
- {
- std::string strSetCancel;
- BOOST_FOREACH(int n, setCancel)
- strSetCancel += strprintf("%d ", n);
- std::string strSetSubVer;
- BOOST_FOREACH(std::string str, setSubVer)
- strSetSubVer += "\"" + str + "\" ";
- return strprintf(
- "CAlert(\n"
- " nVersion = %d\n"
- " nRelayUntil = %"PRI64d"\n"
- " nExpiration = %"PRI64d"\n"
- " nID = %d\n"
- " nCancel = %d\n"
- " setCancel = %s\n"
- " nMinVer = %d\n"
- " nMaxVer = %d\n"
- " setSubVer = %s\n"
- " nPriority = %d\n"
- " strComment = \"%s\"\n"
- " strStatusBar = \"%s\"\n"
- ")\n",
- nVersion,
- nRelayUntil,
- nExpiration,
- nID,
- nCancel,
- strSetCancel.c_str(),
- nMinVer,
- nMaxVer,
- strSetSubVer.c_str(),
- nPriority,
- strComment.c_str(),
- strStatusBar.c_str());
- }
-
- void print() const
- {
- printf("%s", ToString().c_str());
- }
-};
-
-/** An alert is a combination of a serialized CUnsignedAlert and a signature. */
-class CAlert : public CUnsignedAlert
-{
-public:
- std::vector<unsigned char> vchMsg;
- std::vector<unsigned char> vchSig;
-
- CAlert()
- {
- SetNull();
- }
-
- IMPLEMENT_SERIALIZE
- (
- READWRITE(vchMsg);
- READWRITE(vchSig);
- )
-
- void SetNull()
- {
- CUnsignedAlert::SetNull();
- vchMsg.clear();
- vchSig.clear();
- }
-
- bool IsNull() const
- {
- return (nExpiration == 0);
- }
-
- uint256 GetHash() const
- {
- return Hash(this->vchMsg.begin(), this->vchMsg.end());
- }
-
- bool IsInEffect() const
- {
- return (GetAdjustedTime() < nExpiration);
- }
-
- bool Cancels(const CAlert& alert) const
- {
- if (!IsInEffect())
- return false; // this was a no-op before 31403
- return (alert.nID <= nCancel || setCancel.count(alert.nID));
- }
-
- bool AppliesTo(int nVersion, std::string strSubVerIn) const
- {
- // TODO: rework for client-version-embedded-in-strSubVer ?
- return (IsInEffect() &&
- nMinVer <= nVersion && nVersion <= nMaxVer &&
- (setSubVer.empty() || setSubVer.count(strSubVerIn)));
- }
-
- bool AppliesToMe() const
- {
- return AppliesTo(PROTOCOL_VERSION, FormatSubVersion(CLIENT_NAME, CLIENT_VERSION, std::vector<std::string>()));
- }
-
- bool RelayTo(CNode* pnode) const
- {
- if (!IsInEffect())
- return false;
- // returns true if wasn't already contained in the set
- if (pnode->setKnown.insert(GetHash()).second)
- {
- if (AppliesTo(pnode->nVersion, pnode->strSubVer) ||
- AppliesToMe() ||
- GetAdjustedTime() < nRelayUntil)
- {
- pnode->PushMessage("alert", *this);
- return true;
- }
- }
- return false;
- }
-
- bool CheckSignature()
- {
- CKey key;
- if (!key.SetPubKey(ParseHex("04fc9702847840aaf195de8442ebecedf5b095cdbb9bc716bda9110971b28a49e0ead8564ff0db22209e0374782c093bb899692d524e9d6a6956e7c5ecbcd68284")))
- return error("CAlert::CheckSignature() : SetPubKey failed");
- if (!key.Verify(Hash(vchMsg.begin(), vchMsg.end()), vchSig))
- return error("CAlert::CheckSignature() : verify signature failed");
-
- // Now unserialize the data
- CDataStream sMsg(vchMsg, SER_NETWORK, PROTOCOL_VERSION);
- sMsg >> *(CUnsignedAlert*)this;
- return true;
- }
-
- bool ProcessAlert();
-};
-
class CTxMemPool
{
public:
@@ -1626,8 +1360,10 @@ public:
bool accept(CTxDB& txdb, CTransaction &tx,
bool fCheckInputs, bool* pfMissingInputs);
- bool addUnchecked(CTransaction &tx);
+ bool addUnchecked(const uint256& hash, CTransaction &tx);
bool remove(CTransaction &tx);
+ void clear();
+ void queryHashes(std::vector<uint256>& vtxid);
unsigned long size()
{
diff --git a/src/makefile.linux-mingw b/src/makefile.linux-mingw
index a6f676af04..0970469a98 100644
--- a/src/makefile.linux-mingw
+++ b/src/makefile.linux-mingw
@@ -1,36 +1,39 @@
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
-# file license.txt or http://www.opensource.org/licenses/mit-license.php.
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
DEPSDIR:=/usr/i586-mingw32msvc
USE_UPNP:=0
+USE_IPV6:=1
INCLUDEPATHS= \
-I"$(CURDIR)" \
-I"$(CURDIR)"/obj \
- -I"$(DEPSDIR)/boost_1_47_0" \
+ -I"$(DEPSDIR)/boost_1_50_0" \
-I"$(DEPSDIR)/db-4.8.30.NC/build_unix" \
- -I"$(DEPSDIR)/openssl-1.0.1b/include" \
+ -I"$(DEPSDIR)/openssl-1.0.1c/include" \
-I"$(DEPSDIR)"
LIBPATHS= \
- -L"$(DEPSDIR)/boost_1_47_0/stage/lib" \
+ -L"$(DEPSDIR)/boost_1_50_0/stage/lib" \
-L"$(DEPSDIR)/db-4.8.30.NC/build_unix" \
- -L"$(DEPSDIR)/openssl-1.0.1b"
+ -L"$(DEPSDIR)/openssl-1.0.1c"
LIBS= \
-l boost_system-mt-s \
-l boost_filesystem-mt-s \
-l boost_program_options-mt-s \
-l boost_thread_win32-mt-s \
+ -l boost_chrono-mt-s \
-l db_cxx \
-l ssl \
-l crypto
DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
-CFLAGS=-O2 -w -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
+CFLAGS=-O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
+LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
@@ -43,12 +46,17 @@ ifneq (${USE_UPNP}, -)
DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
endif
-LIBS += -l mingwthrd -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l shlwapi
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
+LIBS += -l mingwthrd -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi
# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
HEADERS = $(wildcard *.h)
OBJS= \
+ obj/alert.o \
obj/version.o \
obj/checkpoints.o \
obj/netbase.o \
@@ -64,7 +72,13 @@ OBJS= \
obj/protocol.o \
obj/bitcoinrpc.o \
obj/rpcdump.o \
+ obj/rpcnet.o \
+ obj/rpcmining.o \
+ obj/rpcwallet.o \
+ obj/rpcblockchain.o \
+ obj/rpcrawtransaction.o \
obj/script.o \
+ obj/sync.o \
obj/util.o \
obj/wallet.o \
obj/walletdb.o \
@@ -81,7 +95,7 @@ obj/%.o: %.cpp $(HEADERS)
i586-mingw32msvc-g++ -c $(CFLAGS) -o $@ $<
bitcoind.exe: $(OBJS:obj/%=obj/%)
- i586-mingw32msvc-g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
+ i586-mingw32msvc-g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
@@ -89,7 +103,7 @@ obj-test/%.o: test/%.cpp $(HEADERS)
i586-mingw32msvc-g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $<
test_bitcoin.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
- i586-mingw32msvc-g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework-mt-s $(LIBS)
+ i586-mingw32msvc-g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework-mt-s $(LIBS)
clean:
diff --git a/src/makefile.mingw b/src/makefile.mingw
index 2addb0c2b2..54054c25f9 100644
--- a/src/makefile.mingw
+++ b/src/makefile.mingw
@@ -1,31 +1,34 @@
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
-# file license.txt or http://www.opensource.org/licenses/mit-license.php.
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
USE_UPNP:=0
+USE_IPV6:=1
INCLUDEPATHS= \
- -I"C:\boost-1.47.0-mgw" \
+ -I"C:\boost-1.50.0-mgw" \
-I"C:\db-4.8.30.NC-mgw\build_unix" \
- -I"C:\openssl-1.0.1b-mgw\include"
+ -I"C:\openssl-1.0.1c-mgw\include"
LIBPATHS= \
- -L"C:\boost-1.47.0-mgw\stage\lib" \
+ -L"C:\boost-1.50.0-mgw\stage\lib" \
-L"C:\db-4.8.30.NC-mgw\build_unix" \
- -L"C:\openssl-1.0.1b-mgw"
+ -L"C:\openssl-1.0.1c-mgw"
LIBS= \
- -l boost_system-mgw45-mt-s-1_47 \
- -l boost_filesystem-mgw45-mt-s-1_47 \
- -l boost_program_options-mgw45-mt-s-1_47 \
- -l boost_thread-mgw45-mt-s-1_47 \
+ -l boost_system-mgw45-mt-s-1_50 \
+ -l boost_filesystem-mgw45-mt-s-1_50 \
+ -l boost_program_options-mgw45-mt-s-1_50 \
+ -l boost_thread-mgw45-mt-s-1_50 \
+ -l boost_chrono-mgw45-mt-s-1_50 \
-l db_cxx \
-l ssl \
-l crypto
DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE
DEBUGFLAGS=-g
-CFLAGS=-mthreads -O2 -w -Wno-invalid-offsetof -Wformat $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
+CFLAGS=-mthreads -O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
+LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat
TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data)
@@ -39,12 +42,17 @@ ifneq (${USE_UPNP}, -)
DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
endif
-LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l shlwapi
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
+LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi
# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are
HEADERS = $(wildcard *.h)
OBJS= \
+ obj/alert.o \
obj/version.o \
obj/checkpoints.o \
obj/netbase.o \
@@ -60,7 +68,13 @@ OBJS= \
obj/protocol.o \
obj/bitcoinrpc.o \
obj/rpcdump.o \
+ obj/rpcnet.o \
+ obj/rpcmining.o \
+ obj/rpcwallet.o \
+ obj/rpcblockchain.o \
+ obj/rpcrawtransaction.o \
obj/script.o \
+ obj/sync.o \
obj/util.o \
obj/wallet.o \
obj/walletdb.o \
@@ -69,11 +83,14 @@ OBJS= \
all: bitcoind.exe
+test check: test_bitcoin.exe FORCE
+ test_bitcoin.exe
+
obj/%.o: %.cpp $(HEADERS)
g++ -c $(CFLAGS) -o $@ $<
bitcoind.exe: $(OBJS:obj/%=obj/%)
- g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
+ g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS)
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
@@ -81,9 +98,11 @@ obj-test/%.o: test/%.cpp $(HEADERS)
g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $<
test_bitcoin.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
- g++ $(CFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework $(LIBS)
+ g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework $(LIBS)
clean:
-del /Q bitcoind test_bitcoin
-del /Q obj\*
-del /Q obj-test\*
+
+FORCE:
diff --git a/src/makefile.osx b/src/makefile.osx
index 17cbce74ac..359739bd5e 100644
--- a/src/makefile.osx
+++ b/src/makefile.osx
@@ -1,7 +1,7 @@
# -*- mode: Makefile; -*-
# Copyright (c) 2011 Bitcoin Developers
# Distributed under the MIT/X11 software license, see the accompanying
-# file license.txt or http://www.opensource.org/licenses/mit-license.php.
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
# Mac OS X makefile for bitcoin
# Originally by Laszlo Hanyecz (solar@heliacal.net)
@@ -20,6 +20,7 @@ LIBPATHS= \
-L"$(DEPSDIR)/lib/db48"
USE_UPNP:=1
+USE_IPV6:=1
LIBS= -dead_strip
@@ -65,10 +66,11 @@ CFLAGS = -g
endif
# ppc doesn't work because we don't support big-endian
-CFLAGS += -Wextra -Wno-sign-compare -Wno-invalid-offsetof -Wformat-security \
+CFLAGS += -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
$(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS)
OBJS= \
+ obj/alert.o \
obj/version.o \
obj/checkpoints.o \
obj/netbase.o \
@@ -84,7 +86,13 @@ OBJS= \
obj/protocol.o \
obj/bitcoinrpc.o \
obj/rpcdump.o \
+ obj/rpcnet.o \
+ obj/rpcmining.o \
+ obj/rpcwallet.o \
+ obj/rpcblockchain.o \
+ obj/rpcrawtransaction.o \
obj/script.o \
+ obj/sync.o \
obj/util.o \
obj/wallet.o \
obj/walletdb.o \
@@ -102,8 +110,15 @@ else
endif
endif
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
all: bitcoind
+test check: test_bitcoin FORCE
+ ./test_bitcoin
+
# auto-generated dependencies:
-include obj/*.P
-include obj-test/*.P
diff --git a/src/makefile.unix b/src/makefile.unix
index 316cd19dd3..a41b57b4fc 100644
--- a/src/makefile.unix
+++ b/src/makefile.unix
@@ -1,8 +1,11 @@
# Copyright (c) 2009-2010 Satoshi Nakamoto
# Distributed under the MIT/X11 software license, see the accompanying
-# file license.txt or http://www.opensource.org/licenses/mit-license.php.
+# file COPYING or http://www.opensource.org/licenses/mit-license.php.
USE_UPNP:=0
+USE_IPV6:=1
+
+LINK:=$(CXX)
DEFS=-DBOOST_SPIRIT_THREADSAFE
@@ -41,6 +44,10 @@ ifneq (${USE_UPNP}, -)
DEFS += -DUSE_UPNP=$(USE_UPNP)
endif
+ifneq (${USE_IPV6}, -)
+ DEFS += -DUSE_IPV6=$(USE_IPV6)
+endif
+
LIBS+= \
-Wl,-B$(LMODE2) \
-l z \
@@ -66,13 +73,14 @@ LIBS+= \
# Make some important things such as the global offset table read only as soon as
# the dynamic linker is finished building it. This will prevent overwriting of addresses
# which would later be jumped to.
- HARDENING+=-Wl,-z,relro -Wl,-z,now
+ LDHARDENING+=-Wl,-z,relro -Wl,-z,now
# Build position independent code to take advantage of Address Space Layout Randomization
# offered by some kernels.
# see doc/build-unix.txt for more information.
ifdef PIE
- HARDENING+=-fPIE -pie
+ HARDENING+=-fPIE
+ LDHARDENING+=-pie
endif
# -D_FORTIFY_SOURCE=2 does some checking for potentially exploitable code patterns in
@@ -82,11 +90,18 @@ LIBS+= \
DEBUGFLAGS=-g
-CXXFLAGS=-O2
-xCXXFLAGS=-pthread -Wall -Wextra -Wno-sign-compare -Wno-invalid-offsetof -Wno-unused-parameter -Wformat -Wformat-security \
+
+# CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only
+# adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work.
+xCXXFLAGS=-O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \
$(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS)
+# LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only
+# adds some defaults in front. Unfortunately, LDFLAGS=... $(LDFLAGS) does not work.
+xLDFLAGS=$(LDHARDENING) $(LDFLAGS)
+
OBJS= \
+ obj/alert.o \
obj/version.o \
obj/checkpoints.o \
obj/netbase.o \
@@ -102,7 +117,13 @@ OBJS= \
obj/protocol.o \
obj/bitcoinrpc.o \
obj/rpcdump.o \
+ obj/rpcnet.o \
+ obj/rpcmining.o \
+ obj/rpcwallet.o \
+ obj/rpcblockchain.o \
+ obj/rpcrawtransaction.o \
obj/script.o \
+ obj/sync.o \
obj/util.o \
obj/wallet.o \
obj/walletdb.o \
@@ -111,6 +132,9 @@ OBJS= \
all: bitcoind
+test check: test_bitcoin FORCE
+ ./test_bitcoin
+
# auto-generated dependencies:
-include obj/*.P
-include obj-test/*.P
@@ -128,7 +152,7 @@ obj/%.o: %.cpp
rm -f $(@:%.o=%.d)
bitcoind: $(OBJS:obj/%=obj/%)
- $(CXX) $(xCXXFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS)
+ $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS)
TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp))
@@ -140,7 +164,7 @@ obj-test/%.o: test/%.cpp
rm -f $(@:%.o=%.d)
test_bitcoin: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%))
- $(CXX) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(LDFLAGS) $(LIBS)
+ $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(xLDFLAGS) $(LIBS)
clean:
-rm -f bitcoind test_bitcoin
diff --git a/src/mruset.h b/src/mruset.h
index ad2e160d3a..a52735182d 100644
--- a/src/mruset.h
+++ b/src/mruset.h
@@ -51,7 +51,7 @@ public:
size_type max_size(size_type s)
{
if (s)
- while (queue.size() >= s)
+ while (queue.size() > s)
{
set.erase(queue.front());
queue.pop_front();
diff --git a/src/net.cpp b/src/net.cpp
index 836f48e769..5b5510a5b2 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -35,22 +35,29 @@ void ThreadOpenAddedConnections2(void* parg);
void ThreadMapPort2(void* parg);
#endif
void ThreadDNSAddressSeed2(void* parg);
-bool OpenNetworkConnection(const CAddress& addrConnect, bool fUseGrant = true);
+bool OpenNetworkConnection(const CAddress& addrConnect, CSemaphoreGrant *grantOutbound = NULL, const char *strDest = NULL, bool fOneShot = false);
+struct LocalServiceInfo {
+ int nScore;
+ int nPort;
+};
//
// Global state variables
//
bool fClient = false;
-bool fAllowDNS = false;
-static bool fUseUPnP = false;
+bool fDiscover = true;
+bool fUseUPnP = false;
uint64 nLocalServices = (fClient ? 0 : NODE_NETWORK);
-CAddress addrLocalHost(CService("0.0.0.0", 0), nLocalServices);
+static CCriticalSection cs_mapLocalHost;
+static map<CNetAddr, LocalServiceInfo> mapLocalHost;
+static bool vfReachable[NET_MAX] = {};
+static bool vfLimited[NET_MAX] = {};
static CNode* pnodeLocalHost = NULL;
uint64 nLocalHostNonce = 0;
array<int, THREAD_MAX> vnThreadsRunning;
-static SOCKET hListenSocket = INVALID_SOCKET;
+static std::vector<SOCKET> vhListenSocket;
CAddrMan addrman;
vector<CNode*> vNodes;
@@ -60,12 +67,20 @@ deque<pair<int64, CInv> > vRelayExpiration;
CCriticalSection cs_mapRelay;
map<CInv, int64> mapAlreadyAskedFor;
+static deque<string> vOneShots;
+CCriticalSection cs_vOneShots;
set<CNetAddr> setservAddNodeAddresses;
CCriticalSection cs_setservAddNodeAddresses;
static CSemaphore *semOutbound = NULL;
+void AddOneShot(string strDest)
+{
+ LOCK(cs_vOneShots);
+ vOneShots.push_back(strDest);
+}
+
unsigned short GetListenPort()
{
return (unsigned short)(GetArg("-port", GetDefaultPort()));
@@ -82,7 +97,44 @@ void CNode::PushGetBlocks(CBlockIndex* pindexBegin, uint256 hashEnd)
PushMessage("getblocks", CBlockLocator(pindexBegin), hashEnd);
}
+// find 'best' local address for a particular peer
+bool GetLocal(CService& addr, const CNetAddr *paddrPeer)
+{
+ if (fNoListen)
+ return false;
+
+ int nBestScore = -1;
+ int nBestReachability = -1;
+ {
+ LOCK(cs_mapLocalHost);
+ for (map<CNetAddr, LocalServiceInfo>::iterator it = mapLocalHost.begin(); it != mapLocalHost.end(); it++)
+ {
+ int nScore = (*it).second.nScore;
+ int nReachability = (*it).first.GetReachabilityFrom(paddrPeer);
+ if (nReachability > nBestReachability || (nReachability == nBestReachability && nScore > nBestScore))
+ {
+ addr = CService((*it).first, (*it).second.nPort);
+ nBestReachability = nReachability;
+ nBestScore = nScore;
+ }
+ }
+ }
+ return nBestScore >= 0;
+}
+// get best local address for a particular peer as a CAddress
+CAddress GetLocalAddress(const CNetAddr *paddrPeer)
+{
+ CAddress ret(CService("0.0.0.0",0),0);
+ CService addr;
+ if (GetLocal(addr, paddrPeer))
+ {
+ ret = CAddress(addr);
+ ret.nServices = nLocalServices;
+ ret.nTime = GetAdjustedTime();
+ }
+ return ret;
+}
bool RecvLine(SOCKET hSocket, string& strLine)
{
@@ -135,7 +187,117 @@ bool RecvLine(SOCKET hSocket, string& strLine)
}
}
+// used when scores of local addresses may have changed
+// pushes better local address to peers
+void static AdvertizeLocal()
+{
+ LOCK(cs_vNodes);
+ BOOST_FOREACH(CNode* pnode, vNodes)
+ {
+ if (pnode->fSuccessfullyConnected)
+ {
+ CAddress addrLocal = GetLocalAddress(&pnode->addr);
+ if (addrLocal.IsRoutable() && (CService)addrLocal != (CService)pnode->addrLocal)
+ {
+ pnode->PushAddress(addrLocal);
+ pnode->addrLocal = addrLocal;
+ }
+ }
+ }
+}
+
+void SetReachable(enum Network net, bool fFlag)
+{
+ LOCK(cs_mapLocalHost);
+ vfReachable[net] = fFlag;
+ if (net == NET_IPV6 && fFlag)
+ vfReachable[NET_IPV4] = true;
+}
+
+// learn a new local address
+bool AddLocal(const CService& addr, int nScore)
+{
+ if (!addr.IsRoutable())
+ return false;
+
+ if (!fDiscover && nScore < LOCAL_MANUAL)
+ return false;
+
+ if (IsLimited(addr))
+ return false;
+
+ printf("AddLocal(%s,%i)\n", addr.ToString().c_str(), nScore);
+
+ {
+ LOCK(cs_mapLocalHost);
+ bool fAlready = mapLocalHost.count(addr) > 0;
+ LocalServiceInfo &info = mapLocalHost[addr];
+ if (!fAlready || nScore >= info.nScore) {
+ info.nScore = nScore + (fAlready ? 1 : 0);
+ info.nPort = addr.GetPort();
+ }
+ SetReachable(addr.GetNetwork());
+ }
+
+ AdvertizeLocal();
+
+ return true;
+}
+
+bool AddLocal(const CNetAddr &addr, int nScore)
+{
+ return AddLocal(CService(addr, GetListenPort()), nScore);
+}
+
+/** Make a particular network entirely off-limits (no automatic connects to it) */
+void SetLimited(enum Network net, bool fLimited)
+{
+ if (net == NET_UNROUTABLE)
+ return;
+ LOCK(cs_mapLocalHost);
+ vfLimited[net] = fLimited;
+}
+
+bool IsLimited(enum Network net)
+{
+ LOCK(cs_mapLocalHost);
+ return vfLimited[net];
+}
+
+bool IsLimited(const CNetAddr &addr)
+{
+ return IsLimited(addr.GetNetwork());
+}
+
+/** vote for a local address */
+bool SeenLocal(const CService& addr)
+{
+ {
+ LOCK(cs_mapLocalHost);
+ if (mapLocalHost.count(addr) == 0)
+ return false;
+ mapLocalHost[addr].nScore++;
+ }
+
+ AdvertizeLocal();
+
+ return true;
+}
+
+/** check whether a given address is potentially local */
+bool IsLocal(const CService& addr)
+{
+ LOCK(cs_mapLocalHost);
+ return mapLocalHost.count(addr) > 0;
+}
+/** check whether a given address is in a network we can probably connect to */
+bool IsReachable(const CNetAddr& addr)
+{
+ LOCK(cs_mapLocalHost);
+ enum Network net = addr.GetNetwork();
+ return vfReachable[net] && !vfLimited[net];
+}
bool GetMyExternalIP2(const CService& addrConnect, const char* pszGet, const char* pszKeyword, CNetAddr& ipRet)
{
@@ -190,9 +352,6 @@ bool GetMyExternalIP(CNetAddr& ipRet)
const char* pszGet;
const char* pszKeyword;
- if (fNoListen||fUseProxy)
- return false;
-
for (int nLookup = 0; nLookup <= 1; nLookup++)
for (int nHost = 1; nHost <= 2; nHost++)
{
@@ -248,33 +407,14 @@ bool GetMyExternalIP(CNetAddr& ipRet)
void ThreadGetMyExternalIP(void* parg)
{
- // Wait for IRC to get it first
- if (GetBoolArg("-irc", false))
- {
- for (int i = 0; i < 2 * 60; i++)
- {
- Sleep(1000);
- if (fGotExternalIP || fShutdown)
- return;
- }
- }
+ // Make this thread recognisable as the external IP detection thread
+ RenameThread("bitcoin-ext-ip");
- // Fallback in case IRC fails to get it
+ CNetAddr addrLocalHost;
if (GetMyExternalIP(addrLocalHost))
{
printf("GetMyExternalIP() returned %s\n", addrLocalHost.ToStringIP().c_str());
- if (addrLocalHost.IsRoutable())
- {
- // If we already connected to a few before we had our IP, go back and addr them.
- // setAddrKnown automatically filters any duplicate sends.
- CAddress addr(addrLocalHost);
- addr.nTime = GetAdjustedTime();
- {
- LOCK(cs_vNodes);
- BOOST_FOREACH(CNode* pnode, vNodes)
- pnode->PushAddress(addr);
- }
- }
+ AddLocal(addrLocalHost, LOCAL_HTTP);
}
}
@@ -304,6 +444,15 @@ CNode* FindNode(const CNetAddr& ip)
return NULL;
}
+CNode* FindNode(std::string addrName)
+{
+ LOCK(cs_vNodes);
+ BOOST_FOREACH(CNode* pnode, vNodes)
+ if (pnode->addrName == addrName)
+ return (pnode);
+ return NULL;
+}
+
CNode* FindNode(const CService& addr)
{
{
@@ -315,52 +464,56 @@ CNode* FindNode(const CService& addr)
return NULL;
}
-CNode* ConnectNode(CAddress addrConnect, int64 nTimeout)
+CNode* ConnectNode(CAddress addrConnect, const char *pszDest, int64 nTimeout)
{
- if ((CNetAddr)addrConnect == (CNetAddr)addrLocalHost)
- return NULL;
+ if (pszDest == NULL) {
+ if (IsLocal(addrConnect))
+ return NULL;
- // Look for an existing connection
- CNode* pnode = FindNode((CService)addrConnect);
- if (pnode)
- {
- if (nTimeout != 0)
- pnode->AddRef(nTimeout);
- else
- pnode->AddRef();
- return pnode;
+ // Look for an existing connection
+ CNode* pnode = FindNode((CService)addrConnect);
+ if (pnode)
+ {
+ if (nTimeout != 0)
+ pnode->AddRef(nTimeout);
+ else
+ pnode->AddRef();
+ return pnode;
+ }
}
+
/// debug print
printf("trying connection %s lastseen=%.1fhrs\n",
- addrConnect.ToString().c_str(),
- (double)(addrConnect.nTime - GetAdjustedTime())/3600.0);
-
- addrman.Attempt(addrConnect);
+ pszDest ? pszDest : addrConnect.ToString().c_str(),
+ pszDest ? 0 : (double)(GetAdjustedTime() - addrConnect.nTime)/3600.0);
// Connect
SOCKET hSocket;
- if (ConnectSocket(addrConnect, hSocket))
+ if (pszDest ? ConnectSocketByName(addrConnect, hSocket, pszDest, GetDefaultPort()) : ConnectSocket(addrConnect, hSocket))
{
+ addrman.Attempt(addrConnect);
+
/// debug print
- printf("connected %s\n", addrConnect.ToString().c_str());
+ printf("connected %s\n", pszDest ? pszDest : addrConnect.ToString().c_str());
// Set to non-blocking
#ifdef WIN32
u_long nOne = 1;
if (ioctlsocket(hSocket, FIONBIO, &nOne) == SOCKET_ERROR)
- printf("ConnectSocket() : ioctlsocket nonblocking setting failed, error %d\n", WSAGetLastError());
+ printf("ConnectSocket() : ioctlsocket non-blocking setting failed, error %d\n", WSAGetLastError());
#else
if (fcntl(hSocket, F_SETFL, O_NONBLOCK) == SOCKET_ERROR)
- printf("ConnectSocket() : fcntl nonblocking setting failed, error %d\n", errno);
+ printf("ConnectSocket() : fcntl non-blocking setting failed, error %d\n", errno);
#endif
// Add node
- CNode* pnode = new CNode(hSocket, addrConnect, false);
+ CNode* pnode = new CNode(hSocket, addrConnect, pszDest ? pszDest : "", false);
if (nTimeout != 0)
pnode->AddRef(nTimeout);
else
pnode->AddRef();
+
{
LOCK(cs_vNodes);
vNodes.push_back(pnode);
@@ -380,9 +533,7 @@ void CNode::CloseSocketDisconnect()
fDisconnect = true;
if (hSocket != INVALID_SOCKET)
{
- if (fDebug)
- printf("%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str());
- printf("disconnecting node %s\n", addr.ToString().c_str());
+ printf("disconnecting node %s\n", addrName.c_str());
closesocket(hSocket);
hSocket = INVALID_SOCKET;
vRecv.clear();
@@ -398,9 +549,10 @@ void CNode::PushVersion()
{
/// when NTP implemented, change to just nTime = GetAdjustedTime()
int64 nTime = (fInbound ? GetAdjustedTime() : GetTime());
- CAddress addrYou = (fUseProxy ? CAddress(CService("0.0.0.0",0)) : addr);
- CAddress addrMe = (fUseProxy || !addrLocalHost.IsRoutable() ? CAddress(CService("0.0.0.0",0)) : addrLocalHost);
+ CAddress addrYou = (addr.IsRoutable() && !IsProxy(addr) ? addr : CAddress(CService("0.0.0.0",0)));
+ CAddress addrMe = GetLocalAddress(&addr);
RAND_bytes((unsigned char*)&nLocalHostNonce, sizeof(nLocalHostNonce));
+ printf("send version message: version %d, blocks=%d, us=%s, them=%s, peer=%s\n", PROTOCOL_VERSION, nBestHeight, addrMe.ToString().c_str(), addrYou.ToString().c_str(), addr.ToString().c_str());
PushMessage("version", PROTOCOL_VERSION, nLocalServices, nTime, addrYou, addrMe,
nLocalHostNonce, FormatSubVersion(CLIENT_NAME, CLIENT_VERSION, std::vector<string>()), nBestHeight);
}
@@ -437,7 +589,7 @@ bool CNode::Misbehaving(int howmuch)
{
if (addr.IsLocal())
{
- printf("Warning: local node %s misbehaving\n", addr.ToString().c_str());
+ printf("Warning: Local node %s misbehaving (delta: %d)!\n", addrName.c_str(), howmuch);
return false;
}
@@ -445,19 +597,36 @@ bool CNode::Misbehaving(int howmuch)
if (nMisbehavior >= GetArg("-banscore", 100))
{
int64 banTime = GetTime()+GetArg("-bantime", 60*60*24); // Default 24-hour ban
+ printf("Misbehaving: %s (%d -> %d) DISCONNECTING\n", addr.ToString().c_str(), nMisbehavior-howmuch, nMisbehavior);
{
LOCK(cs_setBanned);
if (setBanned[addr] < banTime)
setBanned[addr] = banTime;
}
CloseSocketDisconnect();
- printf("Disconnected %s for misbehavior (score=%d)\n", addr.ToString().c_str(), nMisbehavior);
return true;
- }
+ } else
+ printf("Misbehaving: %s (%d -> %d)\n", addr.ToString().c_str(), nMisbehavior-howmuch, nMisbehavior);
return false;
}
-
+#undef X
+#define X(name) stats.name = name
+void CNode::copyStats(CNodeStats &stats)
+{
+ X(nServices);
+ X(nLastSend);
+ X(nLastRecv);
+ X(nTimeConnected);
+ X(addrName);
+ X(nVersion);
+ X(strSubVer);
+ X(fInbound);
+ X(nReleaseTime);
+ X(nStartingHeight);
+ X(nMisbehavior);
+}
+#undef X
@@ -470,7 +639,9 @@ bool CNode::Misbehaving(int howmuch)
void ThreadSocketHandler(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadSocketHandler(parg));
+ // Make this thread recognisable as the networking thread
+ RenameThread("bitcoin-net");
+
try
{
vnThreadsRunning[THREAD_SOCKETHANDLER]++;
@@ -484,7 +655,7 @@ void ThreadSocketHandler(void* parg)
vnThreadsRunning[THREAD_SOCKETHANDLER]--;
throw; // support pthread_cancel()
}
- printf("ThreadSocketHandler exiting\n");
+ printf("ThreadSocketHandler exited\n");
}
void ThreadSocketHandler2(void* parg)
@@ -510,9 +681,8 @@ void ThreadSocketHandler2(void* parg)
// remove from vNodes
vNodes.erase(remove(vNodes.begin(), vNodes.end(), pnode), vNodes.end());
- if (pnode->fHasGrant)
- semOutbound->post();
- pnode->fHasGrant = false;
+ // release outbound grant (if any)
+ pnode->grantOutbound.Release();
// close socket and cleanup
pnode->CloseSocketDisconnect();
@@ -562,7 +732,7 @@ void ThreadSocketHandler2(void* parg)
if (vNodes.size() != nPrevNodeCount)
{
nPrevNodeCount = vNodes.size();
- MainFrameRepaint();
+ uiInterface.NotifyNumConnectionsChanged(vNodes.size());
}
@@ -582,8 +752,7 @@ void ThreadSocketHandler2(void* parg)
SOCKET hSocketMax = 0;
bool have_fds = false;
- if(hListenSocket != INVALID_SOCKET)
- {
+ BOOST_FOREACH(SOCKET hListenSocket, vhListenSocket) {
FD_SET(hListenSocket, &fdsetRecv);
hSocketMax = max(hSocketMax, hListenSocket);
have_fds = true;
@@ -630,16 +799,22 @@ void ThreadSocketHandler2(void* parg)
//
// Accept new connections
//
+ BOOST_FOREACH(SOCKET hListenSocket, vhListenSocket)
if (hListenSocket != INVALID_SOCKET && FD_ISSET(hListenSocket, &fdsetRecv))
{
- struct sockaddr_in sockaddr;
+#ifdef USE_IPV6
+ struct sockaddr_storage sockaddr;
+#else
+ struct sockaddr sockaddr;
+#endif
socklen_t len = sizeof(sockaddr);
SOCKET hSocket = accept(hListenSocket, (struct sockaddr*)&sockaddr, &len);
CAddress addr;
int nInbound = 0;
if (hSocket != INVALID_SOCKET)
- addr = CAddress(sockaddr);
+ if (!addr.SetSockAddr((const struct sockaddr*)&sockaddr))
+ printf("Warning: Unknown socket family\n");
{
LOCK(cs_vNodes);
@@ -650,8 +825,9 @@ void ThreadSocketHandler2(void* parg)
if (hSocket == INVALID_SOCKET)
{
- if (WSAGetLastError() != WSAEWOULDBLOCK)
- printf("socket error accept failed: %d\n", WSAGetLastError());
+ int nErr = WSAGetLastError();
+ if (nErr != WSAEWOULDBLOCK)
+ printf("socket error accept failed: %d\n", nErr);
}
else if (nInbound >= GetArg("-maxconnections", 125) - MAX_OUTBOUND_CONNECTIONS)
{
@@ -669,7 +845,7 @@ void ThreadSocketHandler2(void* parg)
else
{
printf("accepted connection %s\n", addr.ToString().c_str());
- CNode* pnode = new CNode(hSocket, addr, true);
+ CNode* pnode = new CNode(hSocket, addr, "", true);
pnode->AddRef();
{
LOCK(cs_vNodes);
@@ -709,7 +885,7 @@ void ThreadSocketHandler2(void* parg)
if (nPos > ReceiveBufferSize()) {
if (!pnode->fDisconnect)
- printf("socket recv flood control disconnect (%d bytes)\n", vRecv.size());
+ printf("socket recv flood control disconnect (%"PRIszu" bytes)\n", vRecv.size());
pnode->CloseSocketDisconnect();
}
else {
@@ -773,11 +949,6 @@ void ThreadSocketHandler2(void* parg)
pnode->CloseSocketDisconnect();
}
}
- if (vSend.size() > SendBufferSize()) {
- if (!pnode->fDisconnect)
- printf("socket send flood control disconnect (%d bytes)\n", vSend.size());
- pnode->CloseSocketDisconnect();
- }
}
}
}
@@ -827,7 +998,9 @@ void ThreadSocketHandler2(void* parg)
#ifdef USE_UPNP
void ThreadMapPort(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadMapPort(parg));
+ // Make this thread recognisable as the UPnP thread
+ RenameThread("bitcoin-UPnP");
+
try
{
vnThreadsRunning[THREAD_UPNP]++;
@@ -841,16 +1014,14 @@ void ThreadMapPort(void* parg)
vnThreadsRunning[THREAD_UPNP]--;
PrintException(NULL, "ThreadMapPort()");
}
- printf("ThreadMapPort exiting\n");
+ printf("ThreadMapPort exited\n");
}
void ThreadMapPort2(void* parg)
{
printf("ThreadMapPort started\n");
- char port[6];
- sprintf(port, "%d", GetListenPort());
-
+ std::string port = strprintf("%u", GetListenPort());
const char * multicastif = 0;
const char * minissdpdpath = 0;
struct UPNPDev * devlist = 0;
@@ -872,8 +1043,7 @@ void ThreadMapPort2(void* parg)
r = UPNP_GetValidIGD(devlist, &urls, &data, lanaddr, sizeof(lanaddr));
if (r == 1)
{
- if (!addrLocalHost.IsRoutable())
- {
+ if (fDiscover) {
char externalIPAddress[40];
r = UPNP_GetExternalIPAddress(urls.controlURL, data.first.servicetype, externalIPAddress);
if(r != UPNPCOMMAND_SUCCESS)
@@ -883,9 +1053,7 @@ void ThreadMapPort2(void* parg)
if(externalIPAddress[0])
{
printf("UPnP: ExternalIPAddress = %s\n", externalIPAddress);
- CAddress addrExternalFromUPnP(CService(externalIPAddress, 0), nLocalServices);
- if (addrExternalFromUPnP.IsRoutable())
- addrLocalHost = addrExternalFromUPnP;
+ AddLocal(CNetAddr(externalIPAddress), LOCAL_UPNP);
}
else
printf("UPnP: GetExternalIPAddress failed.\n");
@@ -896,23 +1064,23 @@ void ThreadMapPort2(void* parg)
#ifndef UPNPDISCOVER_SUCCESS
/* miniupnpc 1.5 */
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
- port, port, lanaddr, strDesc.c_str(), "TCP", 0);
+ 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, port, lanaddr, strDesc.c_str(), "TCP", 0, "0");
+ 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, port, lanaddr, r, strupnperror(r));
+ 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, "TCP", 0);
+ 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);
@@ -923,16 +1091,16 @@ void ThreadMapPort2(void* parg)
#ifndef UPNPDISCOVER_SUCCESS
/* miniupnpc 1.5 */
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
- port, port, lanaddr, strDesc.c_str(), "TCP", 0);
+ 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, port, lanaddr, strDesc.c_str(), "TCP", 0, "0");
+ 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, port, lanaddr, r, strupnperror(r));
+ port.c_str(), port.c_str(), lanaddr, r, strupnperror(r));
else
printf("UPnP Port Mapping successful.\n");;
}
@@ -952,20 +1120,16 @@ void ThreadMapPort2(void* parg)
}
}
-void MapPort(bool fMapPort)
+void MapPort()
{
- if (fUseUPnP != fMapPort)
- {
- fUseUPnP = fMapPort;
- }
if (fUseUPnP && vnThreadsRunning[THREAD_UPNP] < 1)
{
- if (!CreateThread(ThreadMapPort, NULL))
+ if (!NewThread(ThreadMapPort, NULL))
printf("Error: ThreadMapPort(ThreadMapPort) failed\n");
}
}
#else
-void MapPort(bool /* unused fMapPort */)
+void MapPort()
{
// Intentionally left blank.
}
@@ -984,15 +1148,17 @@ void MapPort(bool /* unused fMapPort */)
// The first name is used as information source for addrman.
// The second name should resolve to a list of seed addresses.
static const char *strDNSSeed[][2] = {
- {"xf2.org", "bitseed.xf2.org"},
- {"bluematt.me", "dnsseed.bluematt.me"},
{"bitcoin.sipa.be", "seed.bitcoin.sipa.be"},
+ {"bluematt.me", "dnsseed.bluematt.me"},
{"dashjr.org", "dnsseed.bitcoin.dashjr.org"},
+ {"xf2.org", "bitseed.xf2.org"},
};
void ThreadDNSAddressSeed(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadDNSAddressSeed(parg));
+ // Make this thread recognisable as the DNS seeding thread
+ RenameThread("bitcoin-dnsseed");
+
try
{
vnThreadsRunning[THREAD_DNSSEED]++;
@@ -1006,7 +1172,7 @@ void ThreadDNSAddressSeed(void* parg)
vnThreadsRunning[THREAD_DNSSEED]--;
throw; // support pthread_cancel()
}
- printf("ThreadDNSAddressSeed exiting\n");
+ printf("ThreadDNSAddressSeed exited\n");
}
void ThreadDNSAddressSeed2(void* parg)
@@ -1019,20 +1185,24 @@ void ThreadDNSAddressSeed2(void* parg)
printf("Loading addresses from DNS seeds (could take a while)\n");
for (unsigned int seed_idx = 0; seed_idx < ARRAYLEN(strDNSSeed); seed_idx++) {
- vector<CNetAddr> vaddr;
- vector<CAddress> vAdd;
- if (LookupHost(strDNSSeed[seed_idx][1], vaddr))
- {
- BOOST_FOREACH(CNetAddr& ip, vaddr)
+ if (HaveNameProxy()) {
+ AddOneShot(strDNSSeed[seed_idx][1]);
+ } else {
+ vector<CNetAddr> vaddr;
+ vector<CAddress> vAdd;
+ if (LookupHost(strDNSSeed[seed_idx][1], vaddr))
{
- int nOneDay = 24*3600;
- CAddress addr = CAddress(CService(ip, GetDefaultPort()));
- addr.nTime = GetTime() - 3*nOneDay - GetRand(4*nOneDay); // use a random age between 3 and 7 days old
- vAdd.push_back(addr);
- found++;
+ BOOST_FOREACH(CNetAddr& ip, vaddr)
+ {
+ int nOneDay = 24*3600;
+ CAddress addr = CAddress(CService(ip, GetDefaultPort()));
+ addr.nTime = GetTime() - 3*nOneDay - GetRand(4*nOneDay); // use a random age between 3 and 7 days old
+ vAdd.push_back(addr);
+ found++;
+ }
}
+ addrman.Add(vAdd, CNetAddr(strDNSSeed[seed_idx][0], true));
}
- addrman.Add(vAdd, CNetAddr(strDNSSeed[seed_idx][0], true));
}
}
@@ -1133,8 +1303,13 @@ unsigned int pnSeed[] =
void DumpAddresses()
{
+ int64 nStart = GetTimeMillis();
+
CAddrDB adb;
- adb.WriteAddrman(addrman);
+ adb.Write(addrman);
+
+ printf("Flushed %d addresses to peers.dat %"PRI64d"ms\n",
+ addrman.size(), GetTimeMillis() - nStart);
}
void ThreadDumpAddress2(void* parg)
@@ -1152,7 +1327,9 @@ void ThreadDumpAddress2(void* parg)
void ThreadDumpAddress(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadDumpAddress(parg));
+ // Make this thread recognisable as the address dumping thread
+ RenameThread("bitcoin-adrdump");
+
try
{
ThreadDumpAddress2(parg);
@@ -1160,12 +1337,14 @@ void ThreadDumpAddress(void* parg)
catch (std::exception& e) {
PrintException(&e, "ThreadDumpAddress()");
}
- printf("ThreadDumpAddress exiting\n");
+ printf("ThreadDumpAddress exited\n");
}
void ThreadOpenConnections(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadOpenConnections(parg));
+ // Make this thread recognisable as the connection opening thread
+ RenameThread("bitcoin-opencon");
+
try
{
vnThreadsRunning[THREAD_OPENCONNECTIONS]++;
@@ -1179,7 +1358,25 @@ void ThreadOpenConnections(void* parg)
vnThreadsRunning[THREAD_OPENCONNECTIONS]--;
PrintException(NULL, "ThreadOpenConnections()");
}
- printf("ThreadOpenConnections exiting\n");
+ printf("ThreadOpenConnections exited\n");
+}
+
+void static ProcessOneShot()
+{
+ string strDest;
+ {
+ LOCK(cs_vOneShots);
+ if (vOneShots.empty())
+ return;
+ strDest = vOneShots.front();
+ vOneShots.pop_front();
+ }
+ CAddress addr;
+ CSemaphoreGrant grant(*semOutbound, true);
+ if (grant) {
+ if (!OpenNetworkConnection(addr, &grant, strDest.c_str(), true))
+ AddOneShot(strDest);
+ }
}
void ThreadOpenConnections2(void* parg)
@@ -1187,15 +1384,15 @@ void ThreadOpenConnections2(void* parg)
printf("ThreadOpenConnections started\n");
// Connect to specific addresses
- if (mapArgs.count("-connect"))
+ if (mapArgs.count("-connect") && mapMultiArgs["-connect"].size() > 0)
{
for (int64 nLoop = 0;; nLoop++)
{
+ ProcessOneShot();
BOOST_FOREACH(string strAddr, mapMultiArgs["-connect"])
{
- CAddress addr(CService(strAddr, GetDefaultPort(), fAllowDNS));
- if (addr.IsValid())
- OpenNetworkConnection(addr, false);
+ CAddress addr;
+ OpenNetworkConnection(addr, NULL, strAddr.c_str());
for (int i = 0; i < 10 && i < nLoop; i++)
{
Sleep(500);
@@ -1203,6 +1400,7 @@ void ThreadOpenConnections2(void* parg)
return;
}
}
+ Sleep(500);
}
}
@@ -1210,6 +1408,8 @@ void ThreadOpenConnections2(void* parg)
int64 nStart = GetTime();
loop
{
+ ProcessOneShot();
+
vnThreadsRunning[THREAD_OPENCONNECTIONS]--;
Sleep(500);
vnThreadsRunning[THREAD_OPENCONNECTIONS]++;
@@ -1218,14 +1418,13 @@ void ThreadOpenConnections2(void* parg)
vnThreadsRunning[THREAD_OPENCONNECTIONS]--;
- semOutbound->wait();
+ CSemaphoreGrant grant(*semOutbound);
vnThreadsRunning[THREAD_OPENCONNECTIONS]++;
if (fShutdown)
return;
// Add seed nodes if IRC isn't working
- bool fTOR = (fUseProxy && addrProxy.GetPort() == 9050);
- if (addrman.size()==0 && (GetTime() - nStart > 60 || fTOR) && !fTestNet)
+ if (addrman.size()==0 && (GetTime() - nStart > 60) && !fTestNet)
{
std::vector<CAddress> vAdd;
for (unsigned int i = 0; i < ARRAYLEN(pnSeed); i++)
@@ -1272,10 +1471,18 @@ void ThreadOpenConnections2(void* parg)
CAddress addr = addrman.Select(10 + min(nOutbound,8)*10);
// if we selected an invalid address, restart
- if (!addr.IsIPv4() || !addr.IsValid() || setConnected.count(addr.GetGroup()) || addr == addrLocalHost)
+ if (!addr.IsValid() || setConnected.count(addr.GetGroup()) || IsLocal(addr))
break;
+ // If we didn't find an appropriate destination after trying 100 addresses fetched from addrman,
+ // stop this loop, and let the outer loop run again (which sleeps, adds seed nodes, recalculates
+ // already-connected network ranges, ...) before trying new addrman addresses.
nTries++;
+ if (nTries > 100)
+ break;
+
+ if (IsLimited(addr))
+ continue;
// only consider very recently tried nodes after 30 failed attempts
if (nANow - addr.nLastTry < 600 && nTries < 30)
@@ -1290,15 +1497,15 @@ void ThreadOpenConnections2(void* parg)
}
if (addrConnect.IsValid())
- OpenNetworkConnection(addrConnect);
- else
- semOutbound->post();
+ OpenNetworkConnection(addrConnect, &grant);
}
}
void ThreadOpenAddedConnections(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadOpenAddedConnections(parg));
+ // Make this thread recognisable as the connection opening thread
+ RenameThread("bitcoin-opencon");
+
try
{
vnThreadsRunning[THREAD_ADDEDCONNECTIONS]++;
@@ -1312,7 +1519,7 @@ void ThreadOpenAddedConnections(void* parg)
vnThreadsRunning[THREAD_ADDEDCONNECTIONS]--;
PrintException(NULL, "ThreadOpenAddedConnections()");
}
- printf("ThreadOpenAddedConnections exiting\n");
+ printf("ThreadOpenAddedConnections exited\n");
}
void ThreadOpenAddedConnections2(void* parg)
@@ -1322,11 +1529,26 @@ void ThreadOpenAddedConnections2(void* parg)
if (mapArgs.count("-addnode") == 0)
return;
+ if (HaveNameProxy()) {
+ while(!fShutdown) {
+ BOOST_FOREACH(string& strAddNode, mapMultiArgs["-addnode"]) {
+ CAddress addr;
+ CSemaphoreGrant grant(*semOutbound);
+ OpenNetworkConnection(addr, &grant, strAddNode.c_str());
+ Sleep(500);
+ }
+ vnThreadsRunning[THREAD_ADDEDCONNECTIONS]--;
+ Sleep(120000); // Retry every 2 minutes
+ vnThreadsRunning[THREAD_ADDEDCONNECTIONS]++;
+ }
+ return;
+ }
+
vector<vector<CService> > vservAddressesToAdd(0);
BOOST_FOREACH(string& strAddNode, mapMultiArgs["-addnode"])
{
vector<CService> vservNode(0);
- if(Lookup(strAddNode.c_str(), vservNode, GetDefaultPort(), fAllowDNS, 0))
+ if(Lookup(strAddNode.c_str(), vservNode, GetDefaultPort(), fNameLookup, 0))
{
vservAddressesToAdd.push_back(vservNode);
{
@@ -1340,7 +1562,7 @@ void ThreadOpenAddedConnections2(void* parg)
{
vector<vector<CService> > vservConnectAddresses = vservAddressesToAdd;
// Attempt to connect to each IP for each addnode entry until at least one is successful per addnode entry
- // (keeping in mind that addnode entries can have many IPs if fAllowDNS)
+ // (keeping in mind that addnode entries can have many IPs if fNameLookup)
{
LOCK(cs_vNodes);
BOOST_FOREACH(CNode* pnode, vNodes)
@@ -1355,8 +1577,8 @@ void ThreadOpenAddedConnections2(void* parg)
}
BOOST_FOREACH(vector<CService>& vserv, vservConnectAddresses)
{
- semOutbound->wait();
- OpenNetworkConnection(CAddress(*(vserv.begin())));
+ CSemaphoreGrant grant(*semOutbound);
+ OpenNetworkConnection(CAddress(*(vserv.begin())), &grant);
Sleep(500);
if (fShutdown)
return;
@@ -1371,38 +1593,34 @@ void ThreadOpenAddedConnections2(void* parg)
}
}
-bool static ReleaseGrant(bool fUseGrant) {
- if (fUseGrant)
- semOutbound->post();
- return false;
-}
-
-// only call this function when semOutbound has been waited for
-bool OpenNetworkConnection(const CAddress& addrConnect, bool fUseGrant)
+// if successful, this moves the passed grant to the constructed node
+bool OpenNetworkConnection(const CAddress& addrConnect, CSemaphoreGrant *grantOutbound, const char *strDest, bool fOneShot)
{
//
// Initiate outbound network connection
//
if (fShutdown)
return false;
- if ((CNetAddr)addrConnect == (CNetAddr)addrLocalHost || !addrConnect.IsIPv4() ||
- FindNode((CNetAddr)addrConnect) || CNode::IsBanned(addrConnect))
- return ReleaseGrant(fUseGrant);
+ if (!strDest)
+ if (IsLocal(addrConnect) ||
+ FindNode((CNetAddr)addrConnect) || CNode::IsBanned(addrConnect) ||
+ FindNode(addrConnect.ToStringIPPort().c_str()))
+ return false;
+ if (strDest && FindNode(strDest))
+ return false;
vnThreadsRunning[THREAD_OPENCONNECTIONS]--;
- CNode* pnode = ConnectNode(addrConnect);
+ CNode* pnode = ConnectNode(addrConnect, strDest);
vnThreadsRunning[THREAD_OPENCONNECTIONS]++;
if (fShutdown)
return false;
if (!pnode)
- return ReleaseGrant(fUseGrant);
- if (pnode->fHasGrant) {
- // node already has connection grant, release the one that was passed to us
- ReleaseGrant(fUseGrant);
- } else {
- pnode->fHasGrant = fUseGrant;
- }
+ return false;
+ if (grantOutbound)
+ grantOutbound->MoveTo(pnode->grantOutbound);
pnode->fNetworkNode = true;
+ if (fOneShot)
+ pnode->fOneShot = true;
return true;
}
@@ -1416,7 +1634,9 @@ bool OpenNetworkConnection(const CAddress& addrConnect, bool fUseGrant)
void ThreadMessageHandler(void* parg)
{
- IMPLEMENT_RANDOMIZE_STACK(ThreadMessageHandler(parg));
+ // Make this thread recognisable as the message handling thread
+ RenameThread("bitcoin-msghand");
+
try
{
vnThreadsRunning[THREAD_MESSAGEHANDLER]++;
@@ -1430,7 +1650,7 @@ void ThreadMessageHandler(void* parg)
vnThreadsRunning[THREAD_MESSAGEHANDLER]--;
PrintException(NULL, "ThreadMessageHandler()");
}
- printf("ThreadMessageHandler exiting\n");
+ printf("ThreadMessageHandler exited\n");
}
void ThreadMessageHandler2(void* parg)
@@ -1496,11 +1716,10 @@ void ThreadMessageHandler2(void* parg)
-bool BindListenPort(string& strError)
+bool BindListenPort(const CService &addrBind, string& strError)
{
strError = "";
int nOne = 1;
- addrLocalHost.SetPort(GetListenPort());
#ifdef WIN32
// Initialize Windows Sockets
@@ -1515,7 +1734,20 @@ bool BindListenPort(string& strError)
#endif
// Create socket for listening for incoming connections
- hListenSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+#ifdef USE_IPV6
+ struct sockaddr_storage sockaddr;
+#else
+ struct sockaddr sockaddr;
+#endif
+ socklen_t len = sizeof(sockaddr);
+ if (!addrBind.GetSockAddr((struct sockaddr*)&sockaddr, &len))
+ {
+ strError = strprintf("Error: bind address family for %s not supported", addrBind.ToString().c_str());
+ printf("%s\n", strError.c_str());
+ return false;
+ }
+
+ SOCKET hListenSocket = socket(((struct sockaddr*)&sockaddr)->sa_family, SOCK_STREAM, IPPROTO_TCP);
if (hListenSocket == INVALID_SOCKET)
{
strError = strprintf("Error: Couldn't open socket for incoming connections (socket returned error %d)", WSAGetLastError());
@@ -1534,6 +1766,7 @@ bool BindListenPort(string& strError)
setsockopt(hListenSocket, SOL_SOCKET, SO_REUSEADDR, (void*)&nOne, sizeof(int));
#endif
+
#ifdef WIN32
// Set to non-blocking, incoming connections will also inherit this
if (ioctlsocket(hListenSocket, FIONBIO, (u_long*)&nOne) == SOCKET_ERROR)
@@ -1546,24 +1779,33 @@ bool BindListenPort(string& strError)
return false;
}
- // The sockaddr_in structure specifies the address family,
- // IP address, and port for the socket that is being bound
- struct sockaddr_in sockaddr;
- memset(&sockaddr, 0, sizeof(sockaddr));
- sockaddr.sin_family = AF_INET;
- sockaddr.sin_addr.s_addr = INADDR_ANY; // bind to all IPs on this computer
- sockaddr.sin_port = htons(GetListenPort());
- if (::bind(hListenSocket, (struct sockaddr*)&sockaddr, sizeof(sockaddr)) == SOCKET_ERROR)
+#ifdef USE_IPV6
+ // some systems don't have IPV6_V6ONLY but are always v6only; others do have the option
+ // and enable it by default or not. Try to enable it, if possible.
+ if (addrBind.IsIPv6()) {
+#ifdef IPV6_V6ONLY
+ setsockopt(hListenSocket, IPPROTO_IPV6, IPV6_V6ONLY, (void*)&nOne, sizeof(int));
+#endif
+#ifdef WIN32
+ int nProtLevel = 10 /* PROTECTION_LEVEL_UNRESTRICTED */;
+ int nParameterId = 23 /* IPV6_PROTECTION_LEVEl */;
+ // this call is allowed to fail
+ setsockopt(hListenSocket, IPPROTO_IPV6, nParameterId, (const char*)&nProtLevel, sizeof(int));
+#endif
+ }
+#endif
+
+ if (::bind(hListenSocket, (struct sockaddr*)&sockaddr, len) == SOCKET_ERROR)
{
int nErr = WSAGetLastError();
if (nErr == WSAEADDRINUSE)
- strError = strprintf(_("Unable to bind to port %d on this computer. Bitcoin is probably already running."), ntohs(sockaddr.sin_port));
+ strError = strprintf(_("Unable to bind to %s on this computer. Bitcoin is probably already running."), addrBind.ToString().c_str());
else
- strError = strprintf("Error: Unable to bind to port %d on this computer (bind returned error %d)", ntohs(sockaddr.sin_port), nErr);
+ strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %d, %s)"), addrBind.ToString().c_str(), nErr, strerror(nErr));
printf("%s\n", strError.c_str());
return false;
}
- printf("Bound to port %d\n", ntohs(sockaddr.sin_port));
+ printf("Bound to %s\n", addrBind.ToString().c_str());
// Listen for incoming connections
if (listen(hListenSocket, SOMAXCONN) == SOCKET_ERROR)
@@ -1573,27 +1815,18 @@ bool BindListenPort(string& strError)
return false;
}
+ vhListenSocket.push_back(hListenSocket);
+
+ if (addrBind.IsRoutable() && fDiscover)
+ AddLocal(addrBind, LOCAL_BIND);
+
return true;
}
-void StartNode(void* parg)
+void static Discover()
{
- if (semOutbound == NULL) {
- // initialize semaphore
- int nMaxOutbound = min(MAX_OUTBOUND_CONNECTIONS, (int)GetArg("-maxconnections", 125));
- semOutbound = new CSemaphore(nMaxOutbound);
- }
-
-#ifdef USE_UPNP
-#if USE_UPNP
- fUseUPnP = GetBoolArg("-upnp", true);
-#else
- fUseUPnP = GetBoolArg("-upnp", false);
-#endif
-#endif
-
- if (pnodeLocalHost == NULL)
- pnodeLocalHost = new CNode(INVALID_SOCKET, CAddress(CService("127.0.0.1", 0), nLocalServices));
+ if (!fDiscover)
+ return;
#ifdef WIN32
// Get local host IP
@@ -1605,16 +1838,12 @@ void StartNode(void* parg)
{
BOOST_FOREACH (const CNetAddr &addr, vaddr)
{
- if (!addr.IsLocal())
- {
- addrLocalHost.SetIP(addr);
- break;
- }
+ AddLocal(addr, LOCAL_IF);
}
}
}
#else
- // Get local host IP
+ // Get local host ip
struct ifaddrs* myaddrs;
if (getifaddrs(&myaddrs) == 0)
{
@@ -1624,44 +1853,48 @@ void StartNode(void* parg)
if ((ifa->ifa_flags & IFF_UP) == 0) continue;
if (strcmp(ifa->ifa_name, "lo") == 0) continue;
if (strcmp(ifa->ifa_name, "lo0") == 0) continue;
- char pszIP[100];
if (ifa->ifa_addr->sa_family == AF_INET)
{
struct sockaddr_in* s4 = (struct sockaddr_in*)(ifa->ifa_addr);
- if (inet_ntop(ifa->ifa_addr->sa_family, (void*)&(s4->sin_addr), pszIP, sizeof(pszIP)) != NULL)
- printf("ipv4 %s: %s\n", ifa->ifa_name, pszIP);
-
- // Take the first IP that isn't loopback 127.x.x.x
- CAddress addr(CService(s4->sin_addr, GetListenPort()), nLocalServices);
- if (addr.IsValid() && !addr.IsLocal())
- {
- addrLocalHost = addr;
- break;
- }
+ CNetAddr addr(s4->sin_addr);
+ if (AddLocal(addr, LOCAL_IF))
+ printf("IPv4 %s: %s\n", ifa->ifa_name, addr.ToString().c_str());
}
+#ifdef USE_IPV6
else if (ifa->ifa_addr->sa_family == AF_INET6)
{
struct sockaddr_in6* s6 = (struct sockaddr_in6*)(ifa->ifa_addr);
- if (inet_ntop(ifa->ifa_addr->sa_family, (void*)&(s6->sin6_addr), pszIP, sizeof(pszIP)) != NULL)
- printf("ipv6 %s: %s\n", ifa->ifa_name, pszIP);
+ CNetAddr addr(s6->sin6_addr);
+ if (AddLocal(addr, LOCAL_IF))
+ printf("IPv6 %s: %s\n", ifa->ifa_name, addr.ToString().c_str());
}
+#endif
}
freeifaddrs(myaddrs);
}
#endif
- printf("addrLocalHost = %s\n", addrLocalHost.ToString().c_str());
- if (fUseProxy || mapArgs.count("-connect") || fNoListen)
- {
- // Proxies can't take incoming connections
- addrLocalHost.SetIP(CNetAddr("0.0.0.0"));
- printf("addrLocalHost = %s\n", addrLocalHost.ToString().c_str());
- }
- else
- {
- CreateThread(ThreadGetMyExternalIP, NULL);
+ // Don't use external IPv4 discovery, when -onlynet="IPv6"
+ if (!IsLimited(NET_IPV4))
+ NewThread(ThreadGetMyExternalIP, NULL);
+}
+
+void StartNode(void* parg)
+{
+ // 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));
+ semOutbound = new CSemaphore(nMaxOutbound);
}
+ if (pnodeLocalHost == NULL)
+ pnodeLocalHost = new CNode(INVALID_SOCKET, CAddress(CService("127.0.0.1", 0), nLocalServices));
+
+ Discover();
+
//
// Start threads
//
@@ -1669,36 +1902,36 @@ void StartNode(void* parg)
if (!GetBoolArg("-dnsseed", true))
printf("DNS seeding disabled\n");
else
- if (!CreateThread(ThreadDNSAddressSeed, NULL))
- printf("Error: CreateThread(ThreadDNSAddressSeed) failed\n");
+ if (!NewThread(ThreadDNSAddressSeed, NULL))
+ printf("Error: NewThread(ThreadDNSAddressSeed) failed\n");
// Map ports with UPnP
- if (fHaveUPnP)
- MapPort(fUseUPnP);
+ if (fUseUPnP)
+ MapPort();
// Get addresses from IRC and advertise ours
- if (!CreateThread(ThreadIRCSeed, NULL))
- printf("Error: CreateThread(ThreadIRCSeed) failed\n");
+ if (!NewThread(ThreadIRCSeed, NULL))
+ printf("Error: NewThread(ThreadIRCSeed) failed\n");
// Send and receive from sockets, accept connections
- if (!CreateThread(ThreadSocketHandler, NULL))
- printf("Error: CreateThread(ThreadSocketHandler) failed\n");
+ if (!NewThread(ThreadSocketHandler, NULL))
+ printf("Error: NewThread(ThreadSocketHandler) failed\n");
// Initiate outbound connections from -addnode
- if (!CreateThread(ThreadOpenAddedConnections, NULL))
- printf("Error: CreateThread(ThreadOpenAddedConnections) failed\n");
+ if (!NewThread(ThreadOpenAddedConnections, NULL))
+ printf("Error: NewThread(ThreadOpenAddedConnections) failed\n");
// Initiate outbound connections
- if (!CreateThread(ThreadOpenConnections, NULL))
- printf("Error: CreateThread(ThreadOpenConnections) failed\n");
+ if (!NewThread(ThreadOpenConnections, NULL))
+ printf("Error: NewThread(ThreadOpenConnections) failed\n");
// Process messages
- if (!CreateThread(ThreadMessageHandler, NULL))
- printf("Error: CreateThread(ThreadMessageHandler) failed\n");
+ if (!NewThread(ThreadMessageHandler, NULL))
+ printf("Error: NewThread(ThreadMessageHandler) failed\n");
// Dump network addresses
- if (!CreateThread(ThreadDumpAddress, NULL))
- printf("Error; CreateThread(ThreadDumpAddress) failed\n");
+ if (!NewThread(ThreadDumpAddress, NULL))
+ printf("Error; NewThread(ThreadDumpAddress) failed\n");
// Generate coins in the background
GenerateBitcoins(GetBoolArg("-gen", false), pwalletMain);
@@ -1728,12 +1961,15 @@ bool StopNode()
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_RPCSERVER] > 0) printf("ThreadRPCServer still running\n");
- if (fHaveUPnP && vnThreadsRunning[THREAD_UPNP] > 0) printf("ThreadMapPort 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_RPCSERVER] > 0)
+ while (vnThreadsRunning[THREAD_MESSAGEHANDLER] > 0 || vnThreadsRunning[THREAD_RPCHANDLER] > 0)
Sleep(20);
Sleep(50);
DumpAddresses();
@@ -1752,9 +1988,10 @@ public:
BOOST_FOREACH(CNode* pnode, vNodes)
if (pnode->hSocket != INVALID_SOCKET)
closesocket(pnode->hSocket);
- if (hListenSocket != INVALID_SOCKET)
- if (closesocket(hListenSocket) == SOCKET_ERROR)
- printf("closesocket(hListenSocket) failed with error %d\n", WSAGetLastError());
+ BOOST_FOREACH(SOCKET hListenSocket, vhListenSocket)
+ if (hListenSocket != INVALID_SOCKET)
+ if (closesocket(hListenSocket) == SOCKET_ERROR)
+ printf("closesocket(hListenSocket) failed with error %d\n", WSAGetLastError());
#ifdef WIN32
// Shutdown Windows Sockets
diff --git a/src/net.h b/src/net.h
index 6af8fc0daf..3717c4e634 100644
--- a/src/net.h
+++ b/src/net.h
@@ -19,7 +19,6 @@
#include "protocol.h"
#include "addrman.h"
-class CAddrDB;
class CRequestTracker;
class CNode;
class CBlockIndex;
@@ -27,22 +26,50 @@ extern int nBestHeight;
-inline unsigned int ReceiveBufferSize() { return 1000*GetArg("-maxreceivebuffer", 10*1000); }
-inline unsigned int SendBufferSize() { return 1000*GetArg("-maxsendbuffer", 10*1000); }
+inline unsigned int ReceiveBufferSize() { return 1000*GetArg("-maxreceivebuffer", 5*1000); }
+inline unsigned int SendBufferSize() { return 1000*GetArg("-maxsendbuffer", 1*1000); }
+void AddOneShot(std::string strDest);
bool RecvLine(SOCKET hSocket, std::string& strLine);
bool GetMyExternalIP(CNetAddr& ipRet);
void AddressCurrentlyConnected(const CService& addr);
CNode* FindNode(const CNetAddr& ip);
CNode* FindNode(const CService& ip);
-CNode* ConnectNode(CAddress addrConnect, int64 nTimeout=0);
-void MapPort(bool fMapPort);
-bool BindListenPort(std::string& strError=REF(std::string()));
+CNode* ConnectNode(CAddress addrConnect, const char *strDest = NULL, int64 nTimeout=0);
+void MapPort();
+unsigned short GetListenPort();
+bool BindListenPort(const CService &bindAddr, std::string& strError=REF(std::string()));
void StartNode(void* parg);
bool StopNode();
enum
{
+ LOCAL_NONE, // unknown
+ 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=)
+
+ LOCAL_MAX
+};
+
+void SetLimited(enum Network net, bool fLimited = true);
+bool IsLimited(enum Network net);
+bool IsLimited(const CNetAddr& addr);
+bool AddLocal(const CService& addr, int nScore = LOCAL_NONE);
+bool AddLocal(const CNetAddr& addr, int nScore = LOCAL_NONE);
+bool SeenLocal(const CService& addr);
+bool IsLocal(const CService& addr);
+bool GetLocal(CService &addr, const CNetAddr *paddrPeer = NULL);
+bool IsReachable(const CNetAddr &addr);
+void SetReachable(enum Network net, bool fFlag = true);
+CAddress GetLocalAddress(const CNetAddr *paddrPeer = NULL);
+
+
+enum
+{
MSG_TX = 1,
MSG_BLOCK,
};
@@ -73,19 +100,20 @@ enum threadId
THREAD_OPENCONNECTIONS,
THREAD_MESSAGEHANDLER,
THREAD_MINER,
- THREAD_RPCSERVER,
+ THREAD_RPCLISTENER,
THREAD_UPNP,
THREAD_DNSSEED,
THREAD_ADDEDCONNECTIONS,
THREAD_DUMPADDRESS,
+ THREAD_RPCHANDLER,
THREAD_MAX
};
extern bool fClient;
-extern bool fAllowDNS;
+extern bool fDiscover;
+extern bool fUseUPnP;
extern uint64 nLocalServices;
-extern CAddress addrLocalHost;
extern uint64 nLocalHostNonce;
extern boost::array<int, THREAD_MAX> vnThreadsRunning;
extern CAddrMan addrman;
@@ -100,6 +128,24 @@ extern std::map<CInv, int64> mapAlreadyAskedFor;
+class CNodeStats
+{
+public:
+ uint64 nServices;
+ int64 nLastSend;
+ int64 nLastRecv;
+ int64 nTimeConnected;
+ std::string addrName;
+ int nVersion;
+ std::string strSubVer;
+ bool fInbound;
+ int64 nReleaseTime;
+ int nStartingHeight;
+ int nMisbehavior;
+};
+
+
+
/** Information about a peer */
@@ -120,14 +166,17 @@ public:
int nHeaderStart;
unsigned int nMessageStart;
CAddress addr;
+ std::string addrName;
+ CService addrLocal;
int nVersion;
std::string strSubVer;
+ bool fOneShot;
bool fClient;
bool fInbound;
bool fNetworkNode;
bool fSuccessfullyConnected;
bool fDisconnect;
- bool fHasGrant; // whether to call semOutbound.post() at disconnect
+ CSemaphoreGrant grantOutbound;
protected:
int nRefCount;
@@ -158,7 +207,7 @@ public:
CCriticalSection cs_inventory;
std::multimap<int64, CInv> mapAskFor;
- CNode(SOCKET hSocketIn, CAddress addrIn, 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) : vSend(SER_NETWORK, MIN_PROTO_VERSION), vRecv(SER_NETWORK, MIN_PROTO_VERSION)
{
nServices = 0;
hSocket = hSocketIn;
@@ -169,10 +218,11 @@ public:
nHeaderStart = -1;
nMessageStart = -1;
addr = addrIn;
+ addrName = addrNameIn == "" ? addr.ToStringIPPort() : addrNameIn;
nVersion = 0;
strSubVer = "";
+ fOneShot = false;
fClient = false; // set by version message
- fHasGrant = false;
fInbound = fInboundIn;
fNetworkNode = false;
fSuccessfullyConnected = false;
@@ -265,7 +315,8 @@ public:
// We're using mapAskFor as a priority queue,
// the key is the earliest time the request can be sent
int64& nRequestTime = mapAlreadyAskedFor[inv];
- printf("askfor %s %"PRI64d"\n", inv.ToString().c_str(), nRequestTime);
+ if (fDebugNet)
+ printf("askfor %s %"PRI64d" (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str());
// Make sure not to reuse time indexes to keep things in the same order
int64 nNow = (GetTime() - 1) * 1000000;
@@ -289,10 +340,8 @@ public:
nHeaderStart = vSend.size();
vSend << CMessageHeader(pszCommand, 0);
nMessageStart = vSend.size();
- if (fDebug) {
- printf("%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str());
+ if (fDebug)
printf("sending: %s ", pszCommand);
- }
}
void AbortMessage()
@@ -322,14 +371,14 @@ public:
// Set the size
unsigned int nSize = vSend.size() - nMessageStart;
- memcpy((char*)&vSend[nHeaderStart] + offsetof(CMessageHeader, nMessageSize), &nSize, sizeof(nSize));
+ memcpy((char*)&vSend[nHeaderStart] + CMessageHeader::MESSAGE_SIZE_OFFSET, &nSize, sizeof(nSize));
// Set the checksum
uint256 hash = Hash(vSend.begin() + nMessageStart, vSend.end());
unsigned int nChecksum = 0;
memcpy(&nChecksum, &hash, sizeof(nChecksum));
- assert(nMessageStart - nHeaderStart >= offsetof(CMessageHeader, nChecksum) + sizeof(nChecksum));
- memcpy((char*)&vSend[nHeaderStart] + offsetof(CMessageHeader, nChecksum), &nChecksum, sizeof(nChecksum));
+ assert(nMessageStart - nHeaderStart >= CMessageHeader::CHECKSUM_OFFSET + sizeof(nChecksum));
+ memcpy((char*)&vSend[nHeaderStart] + CMessageHeader::CHECKSUM_OFFSET, &nChecksum, sizeof(nChecksum));
if (fDebug) {
printf("(%d bytes)\n", nSize);
@@ -586,6 +635,7 @@ public:
static void ClearBanned(); // needed for unit testing
static bool IsBanned(CNetAddr ip);
bool Misbehaving(int howmuch); // 1 == a little, 100 == a lot
+ void copyStats(CNodeStats &stats);
};
diff --git a/src/netbase.cpp b/src/netbase.cpp
index 81866ad1bc..f8efacbb1c 100644
--- a/src/netbase.cpp
+++ b/src/netbase.cpp
@@ -5,26 +5,68 @@
#include "netbase.h"
#include "util.h"
+#include "sync.h"
#ifndef WIN32
#include <sys/fcntl.h>
#endif
#include "strlcpy.h"
+#include <boost/algorithm/string/case_conv.hpp> // for to_lower()
using namespace std;
// Settings
-int fUseProxy = false;
-CService addrProxy("127.0.0.1",9050);
+static proxyType proxyInfo[NET_MAX];
+static proxyType nameproxyInfo;
+static CCriticalSection cs_proxyInfos;
int nConnectTimeout = 5000;
-
+bool fNameLookup = false;
static const unsigned char pchIPv4[12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff };
+enum Network ParseNetwork(std::string net) {
+ boost::to_lower(net);
+ if (net == "ipv4") return NET_IPV4;
+ if (net == "ipv6") return NET_IPV6;
+ if (net == "tor") return NET_TOR;
+ if (net == "i2p") return NET_I2P;
+ return NET_UNROUTABLE;
+}
+
+void SplitHostPort(std::string in, int &portOut, std::string &hostOut) {
+ size_t colon = in.find_last_of(':');
+ // if a : is found, and it either follows a [...], or no other : is in the string, treat it as port separator
+ bool fHaveColon = colon != in.npos;
+ bool fBracketed = fHaveColon && (in[0]=='[' && in[colon-1]==']'); // if there is a colon, and in[0]=='[', colon is not 0, so in[colon-1] is safe
+ bool fMultiColon = fHaveColon && (in.find_last_of(':',colon-1) != in.npos);
+ if (fHaveColon && (colon==0 || fBracketed || !fMultiColon)) {
+ char *endp = NULL;
+ int n = strtol(in.c_str() + colon + 1, &endp, 10);
+ if (endp && *endp == 0 && n >= 0) {
+ in = in.substr(0, colon);
+ if (n > 0 && n < 0x10000)
+ portOut = n;
+ }
+ }
+ if (in.size()>0 && in[0] == '[' && in[in.size()-1] == ']')
+ hostOut = in.substr(1, in.size()-2);
+ else
+ hostOut = in;
+}
+
bool static LookupIntern(const char *pszName, std::vector<CNetAddr>& vIP, unsigned int nMaxSolutions, bool fAllowLookup)
{
vIP.clear();
+
+ {
+ CNetAddr addr;
+ if (addr.SetSpecial(std::string(pszName))) {
+ vIP.push_back(addr);
+ return true;
+ }
+ }
+
struct addrinfo aiHint;
memset(&aiHint, 0, sizeof(struct addrinfo));
@@ -33,19 +75,17 @@ bool static LookupIntern(const char *pszName, std::vector<CNetAddr>& vIP, unsign
#ifdef WIN32
# ifdef USE_IPV6
aiHint.ai_family = AF_UNSPEC;
- aiHint.ai_flags = fAllowLookup ? 0 : AI_NUMERICHOST;
# else
aiHint.ai_family = AF_INET;
- aiHint.ai_flags = fAllowLookup ? 0 : AI_NUMERICHOST;
# endif
+ aiHint.ai_flags = fAllowLookup ? 0 : AI_NUMERICHOST;
#else
# ifdef USE_IPV6
aiHint.ai_family = AF_UNSPEC;
- aiHint.ai_flags = AI_ADDRCONFIG | (fAllowLookup ? 0 : AI_NUMERICHOST);
# else
aiHint.ai_family = AF_INET;
- aiHint.ai_flags = AI_ADDRCONFIG | (fAllowLookup ? 0 : AI_NUMERICHOST);
# endif
+ aiHint.ai_flags = fAllowLookup ? AI_ADDRCONFIG : AI_NUMERICHOST;
#endif
struct addrinfo *aiRes = NULL;
int nErr = getaddrinfo(pszName, NULL, &aiHint, &aiRes);
@@ -103,36 +143,11 @@ bool Lookup(const char *pszName, std::vector<CService>& vAddr, int portDefault,
if (pszName[0] == 0)
return false;
int port = portDefault;
- char psz[256];
- char *pszHost = psz;
- strlcpy(psz, pszName, sizeof(psz));
- char* pszColon = strrchr(psz+1,':');
- char *pszPortEnd = NULL;
- int portParsed = pszColon ? strtoul(pszColon+1, &pszPortEnd, 10) : 0;
- if (pszColon && pszPortEnd && pszPortEnd[0] == 0)
- {
- if (psz[0] == '[' && pszColon[-1] == ']')
- {
- pszHost = psz+1;
- pszColon[-1] = 0;
- }
- else
- pszColon[0] = 0;
- if (port >= 0 && port <= USHRT_MAX)
- port = portParsed;
- }
- else
- {
- if (psz[0] == '[' && psz[strlen(psz)-1] == ']')
- {
- pszHost = psz+1;
- psz[strlen(psz)-1] = 0;
- }
-
- }
+ std::string hostname = "";
+ SplitHostPort(std::string(pszName), port, hostname);
std::vector<CNetAddr> vIP;
- bool fRet = LookupIntern(pszHost, vIP, nMaxSolutions, fAllowLookup);
+ bool fRet = LookupIntern(hostname.c_str(), vIP, nMaxSolutions, fAllowLookup);
if (!fRet)
return false;
vAddr.resize(vIP.size());
@@ -156,11 +171,169 @@ bool LookupNumeric(const char *pszName, CService& addr, int portDefault)
return Lookup(pszName, addr, portDefault, false);
}
-bool ConnectSocket(const CService &addrDest, SOCKET& hSocketRet, int nTimeout)
+bool static Socks4(const CService &addrDest, SOCKET& hSocket)
+{
+ printf("SOCKS4 connecting %s\n", addrDest.ToString().c_str());
+ if (!addrDest.IsIPv4())
+ {
+ closesocket(hSocket);
+ return error("Proxy destination is not IPv4");
+ }
+ char pszSocks4IP[] = "\4\1\0\0\0\0\0\0user";
+ struct sockaddr_in addr;
+ socklen_t len = sizeof(addr);
+ if (!addrDest.GetSockAddr((struct sockaddr*)&addr, &len) || addr.sin_family != AF_INET)
+ {
+ closesocket(hSocket);
+ return error("Cannot get proxy destination address");
+ }
+ memcpy(pszSocks4IP + 2, &addr.sin_port, 2);
+ memcpy(pszSocks4IP + 4, &addr.sin_addr, 4);
+ char* pszSocks4 = pszSocks4IP;
+ int nSize = sizeof(pszSocks4IP);
+
+ int ret = send(hSocket, pszSocks4, nSize, MSG_NOSIGNAL);
+ if (ret != nSize)
+ {
+ closesocket(hSocket);
+ return error("Error sending to proxy");
+ }
+ char pchRet[8];
+ if (recv(hSocket, pchRet, 8, 0) != 8)
+ {
+ closesocket(hSocket);
+ return error("Error reading proxy response");
+ }
+ if (pchRet[1] != 0x5a)
+ {
+ closesocket(hSocket);
+ if (pchRet[1] != 0x5b)
+ printf("ERROR: Proxy returned error %d\n", pchRet[1]);
+ return false;
+ }
+ printf("SOCKS4 connected %s\n", addrDest.ToString().c_str());
+ return true;
+}
+
+bool static Socks5(string strDest, int port, SOCKET& hSocket)
+{
+ printf("SOCKS5 connecting %s\n", strDest.c_str());
+ if (strDest.size() > 255)
+ {
+ closesocket(hSocket);
+ 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);
+ if (ret != nSize)
+ {
+ closesocket(hSocket);
+ return error("Error sending to proxy");
+ }
+ char pchRet1[2];
+ if (recv(hSocket, pchRet1, 2, 0) != 2)
+ {
+ closesocket(hSocket);
+ return error("Error reading proxy response");
+ }
+ if (pchRet1[0] != 0x05 || pchRet1[1] != 0x00)
+ {
+ closesocket(hSocket);
+ return error("Proxy failed to initialize");
+ }
+ string strSocks5("\5\1");
+ strSocks5 += '\000'; strSocks5 += '\003';
+ strSocks5 += static_cast<char>(std::min((int)strDest.size(), 255));
+ strSocks5 += strDest;
+ strSocks5 += static_cast<char>((port >> 8) & 0xFF);
+ strSocks5 += static_cast<char>((port >> 0) & 0xFF);
+ ret = send(hSocket, strSocks5.c_str(), strSocks5.size(), MSG_NOSIGNAL);
+ if (ret != (ssize_t)strSocks5.size())
+ {
+ closesocket(hSocket);
+ return error("Error sending to proxy");
+ }
+ char pchRet2[4];
+ if (recv(hSocket, pchRet2, 4, 0) != 4)
+ {
+ closesocket(hSocket);
+ return error("Error reading proxy response");
+ }
+ if (pchRet2[0] != 0x05)
+ {
+ closesocket(hSocket);
+ return error("Proxy failed to accept request");
+ }
+ if (pchRet2[1] != 0x00)
+ {
+ closesocket(hSocket);
+ switch (pchRet2[1])
+ {
+ case 0x01: return error("Proxy error: general failure");
+ case 0x02: return error("Proxy error: connection not allowed");
+ case 0x03: return error("Proxy error: network unreachable");
+ case 0x04: return error("Proxy error: host unreachable");
+ case 0x05: return error("Proxy error: connection refused");
+ case 0x06: return error("Proxy error: TTL expired");
+ case 0x07: return error("Proxy error: protocol error");
+ case 0x08: return error("Proxy error: address type not supported");
+ default: return error("Proxy error: unknown");
+ }
+ }
+ if (pchRet2[2] != 0x00)
+ {
+ closesocket(hSocket);
+ return error("Error: malformed proxy response");
+ }
+ char pchRet3[256];
+ switch (pchRet2[3])
+ {
+ case 0x01: ret = recv(hSocket, pchRet3, 4, 0) != 4; break;
+ case 0x04: ret = recv(hSocket, pchRet3, 16, 0) != 16; break;
+ case 0x03:
+ {
+ ret = recv(hSocket, pchRet3, 1, 0) != 1;
+ if (ret)
+ return error("Error reading from proxy");
+ int nRecv = pchRet3[0];
+ ret = recv(hSocket, pchRet3, nRecv, 0) != nRecv;
+ break;
+ }
+ default: closesocket(hSocket); return error("Error: malformed proxy response");
+ }
+ if (ret)
+ {
+ closesocket(hSocket);
+ return error("Error reading from proxy");
+ }
+ if (recv(hSocket, pchRet3, 2, 0) != 2)
+ {
+ closesocket(hSocket);
+ return error("Error reading from proxy");
+ }
+ printf("SOCKS5 connected %s\n", strDest.c_str());
+ return true;
+}
+
+bool static ConnectSocketDirectly(const CService &addrConnect, SOCKET& hSocketRet, int nTimeout)
{
hSocketRet = INVALID_SOCKET;
- SOCKET hSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+#ifdef USE_IPV6
+ struct sockaddr_storage sockaddr;
+#else
+ struct sockaddr sockaddr;
+#endif
+ socklen_t len = sizeof(sockaddr);
+ if (!addrConnect.GetSockAddr((struct sockaddr*)&sockaddr, &len)) {
+ printf("Cannot connect to %s: unsupported network\n", addrConnect.ToString().c_str());
+ return false;
+ }
+
+ SOCKET hSocket = socket(((struct sockaddr*)&sockaddr)->sa_family, SOCK_STREAM, IPPROTO_TCP);
if (hSocket == INVALID_SOCKET)
return false;
#ifdef SO_NOSIGPIPE
@@ -168,13 +341,6 @@ bool ConnectSocket(const CService &addrDest, SOCKET& hSocketRet, int nTimeout)
setsockopt(hSocket, SOL_SOCKET, SO_NOSIGPIPE, (void*)&set, sizeof(int));
#endif
- bool fProxy = (fUseProxy && addrDest.IsRoutable());
- struct sockaddr_in sockaddr;
- if (fProxy)
- addrProxy.GetSockAddr(&sockaddr);
- else
- addrDest.GetSockAddr(&sockaddr);
-
#ifdef WIN32
u_long fNonblock = 1;
if (ioctlsocket(hSocket, FIONBIO, &fNonblock) == SOCKET_ERROR)
@@ -187,8 +353,7 @@ bool ConnectSocket(const CService &addrDest, SOCKET& hSocketRet, int nTimeout)
return false;
}
-
- if (connect(hSocket, (struct sockaddr*)&sockaddr, sizeof(sockaddr)) == SOCKET_ERROR)
+ if (connect(hSocket, (struct sockaddr*)&sockaddr, len) == SOCKET_ERROR)
{
// WSAEINVAL is here because some legacy version of winsock uses it
if (WSAGetLastError() == WSAEINPROGRESS || WSAGetLastError() == WSAEWOULDBLOCK || WSAGetLastError() == WSAEINVAL)
@@ -258,37 +423,123 @@ bool ConnectSocket(const CService &addrDest, SOCKET& hSocketRet, int nTimeout)
return false;
}
- if (fProxy)
- {
- printf("proxy connecting %s\n", addrDest.ToString().c_str());
- char pszSocks4IP[] = "\4\1\0\0\0\0\0\0user";
- struct sockaddr_in addr;
- addrDest.GetSockAddr(&addr);
- memcpy(pszSocks4IP + 2, &addr.sin_port, 2);
- memcpy(pszSocks4IP + 4, &addr.sin_addr, 4);
- char* pszSocks4 = pszSocks4IP;
- int nSize = sizeof(pszSocks4IP);
+ hSocketRet = hSocket;
+ return true;
+}
- int ret = send(hSocket, pszSocks4, nSize, MSG_NOSIGNAL);
- if (ret != nSize)
- {
- closesocket(hSocket);
- return error("Error sending to proxy");
- }
- char pchRet[8];
- if (recv(hSocket, pchRet, 8, 0) != 8)
- {
- closesocket(hSocket);
- return error("Error reading proxy response");
- }
- if (pchRet[1] != 0x5a)
- {
- closesocket(hSocket);
- if (pchRet[1] != 0x5b)
- printf("ERROR: Proxy returned error %d\n", pchRet[1]);
+bool SetProxy(enum Network net, CService addrProxy, int nSocksVersion) {
+ assert(net >= 0 && net < NET_MAX);
+ if (nSocksVersion != 0 && nSocksVersion != 4 && nSocksVersion != 5)
+ return false;
+ if (nSocksVersion != 0 && !addrProxy.IsValid())
+ return false;
+ LOCK(cs_proxyInfos);
+ proxyInfo[net] = std::make_pair(addrProxy, nSocksVersion);
+ return true;
+}
+
+bool GetProxy(enum Network net, proxyType &proxyInfoOut) {
+ assert(net >= 0 && net < NET_MAX);
+ LOCK(cs_proxyInfos);
+ if (!proxyInfo[net].second)
+ return false;
+ proxyInfoOut = proxyInfo[net];
+ return true;
+}
+
+bool SetNameProxy(CService addrProxy, int nSocksVersion) {
+ if (nSocksVersion != 0 && nSocksVersion != 5)
+ return false;
+ if (nSocksVersion != 0 && !addrProxy.IsValid())
+ return false;
+ LOCK(cs_proxyInfos);
+ nameproxyInfo = std::make_pair(addrProxy, nSocksVersion);
+ return true;
+}
+
+bool GetNameProxy(proxyType &nameproxyInfoOut) {
+ LOCK(cs_proxyInfos);
+ if (!nameproxyInfo.second)
+ return false;
+ nameproxyInfoOut = nameproxyInfo;
+ return true;
+}
+
+bool HaveNameProxy() {
+ LOCK(cs_proxyInfos);
+ return nameproxyInfo.second != 0;
+}
+
+bool IsProxy(const CNetAddr &addr) {
+ LOCK(cs_proxyInfos);
+ for (int i = 0; i < NET_MAX; i++) {
+ if (proxyInfo[i].second && (addr == (CNetAddr)proxyInfo[i].first))
+ return true;
+ }
+ return false;
+}
+
+bool ConnectSocket(const CService &addrDest, SOCKET& hSocketRet, int nTimeout)
+{
+ proxyType proxy;
+
+ // no proxy needed
+ if (!GetProxy(addrDest.GetNetwork(), proxy))
+ return ConnectSocketDirectly(addrDest, hSocketRet, nTimeout);
+
+ SOCKET hSocket = INVALID_SOCKET;
+
+ // first connect to proxy server
+ if (!ConnectSocketDirectly(proxy.first, hSocket, nTimeout))
+ return false;
+
+ // do socks negotiation
+ switch (proxy.second) {
+ case 4:
+ if (!Socks4(addrDest, hSocket))
return false;
- }
- printf("proxy connected %s\n", addrDest.ToString().c_str());
+ break;
+ case 5:
+ if (!Socks5(addrDest.ToStringIP(), addrDest.GetPort(), hSocket))
+ return false;
+ break;
+ default:
+ return false;
+ }
+
+ hSocketRet = hSocket;
+ return true;
+}
+
+bool ConnectSocketByName(CService &addr, SOCKET& hSocketRet, const char *pszDest, int portDefault, int nTimeout)
+{
+ string strDest;
+ int port = portDefault;
+ SplitHostPort(string(pszDest), port, strDest);
+
+ SOCKET hSocket = INVALID_SOCKET;
+
+ proxyType nameproxy;
+ GetNameProxy(nameproxy);
+
+ CService addrResolved(CNetAddr(strDest, fNameLookup && !nameproxy.second), port);
+ if (addrResolved.IsValid()) {
+ addr = addrResolved;
+ return ConnectSocket(addr, hSocketRet, nTimeout);
+ }
+ addr = CService("0.0.0.0:0");
+ if (!nameproxy.second)
+ return false;
+ if (!ConnectSocketDirectly(nameproxy.first, hSocket, nTimeout))
+ return false;
+
+ switch(nameproxy.second) {
+ default:
+ case 4: return false;
+ case 5:
+ if (!Socks5(strDest, port, hSocket))
+ return false;
+ break;
}
hSocketRet = hSocket;
@@ -305,6 +556,32 @@ void CNetAddr::SetIP(const CNetAddr& ipIn)
memcpy(ip, ipIn.ip, sizeof(ip));
}
+static const unsigned char pchOnionCat[] = {0xFD,0x87,0xD8,0x7E,0xEB,0x43};
+static const unsigned char pchGarliCat[] = {0xFD,0x60,0xDB,0x4D,0xDD,0xB5};
+
+bool CNetAddr::SetSpecial(const std::string &strName)
+{
+ if (strName.size()>6 && strName.substr(strName.size() - 6, 6) == ".onion") {
+ std::vector<unsigned char> vchAddr = DecodeBase32(strName.substr(0, strName.size() - 6).c_str());
+ if (vchAddr.size() != 16-sizeof(pchOnionCat))
+ return false;
+ memcpy(ip, pchOnionCat, sizeof(pchOnionCat));
+ for (unsigned int i=0; i<16-sizeof(pchOnionCat); i++)
+ ip[i + sizeof(pchOnionCat)] = vchAddr[i];
+ return true;
+ }
+ if (strName.size()>11 && strName.substr(strName.size() - 11, 11) == ".oc.b32.i2p") {
+ std::vector<unsigned char> vchAddr = DecodeBase32(strName.substr(0, strName.size() - 11).c_str());
+ if (vchAddr.size() != 16-sizeof(pchGarliCat))
+ return false;
+ memcpy(ip, pchOnionCat, sizeof(pchGarliCat));
+ for (unsigned int i=0; i<16-sizeof(pchGarliCat); i++)
+ ip[i + sizeof(pchGarliCat)] = vchAddr[i];
+ return true;
+ }
+ return false;
+}
+
CNetAddr::CNetAddr()
{
Init();
@@ -339,7 +616,7 @@ CNetAddr::CNetAddr(const std::string &strIp, bool fAllowLookup)
*this = vIP[0];
}
-int CNetAddr::GetByte(int n) const
+unsigned int CNetAddr::GetByte(int n) const
{
return ip[15-n];
}
@@ -349,11 +626,16 @@ bool CNetAddr::IsIPv4() const
return (memcmp(ip, pchIPv4, sizeof(pchIPv4)) == 0);
}
+bool CNetAddr::IsIPv6() const
+{
+ return (!IsIPv4() && !IsTor() && !IsI2P());
+}
+
bool CNetAddr::IsRFC1918() const
{
return IsIPv4() && (
- GetByte(3) == 10 ||
- (GetByte(3) == 192 && GetByte(2) == 168) ||
+ GetByte(3) == 10 ||
+ (GetByte(3) == 192 && GetByte(2) == 168) ||
(GetByte(3) == 172 && (GetByte(2) >= 16 && GetByte(2) <= 31)));
}
@@ -405,6 +687,16 @@ bool CNetAddr::IsRFC4843() const
return (GetByte(15) == 0x20 && GetByte(14) == 0x01 && GetByte(13) == 0x00 && (GetByte(12) & 0xF0) == 0x10);
}
+bool CNetAddr::IsTor() const
+{
+ return (memcmp(ip, pchOnionCat, sizeof(pchOnionCat)) == 0);
+}
+
+bool CNetAddr::IsI2P() const
+{
+ return (memcmp(ip, pchGarliCat, sizeof(pchGarliCat)) == 0);
+}
+
bool CNetAddr::IsLocal() const
{
// IPv4 loopback
@@ -463,11 +755,44 @@ bool CNetAddr::IsValid() const
bool CNetAddr::IsRoutable() const
{
- return IsValid() && !(IsRFC1918() || IsRFC3927() || IsRFC4862() || IsRFC4193() || IsRFC4843() || IsLocal());
+ return IsValid() && !(IsRFC1918() || IsRFC3927() || IsRFC4862() || (IsRFC4193() && !IsTor() && !IsI2P()) || IsRFC4843() || IsLocal());
+}
+
+enum Network CNetAddr::GetNetwork() const
+{
+ if (!IsRoutable())
+ return NET_UNROUTABLE;
+
+ if (IsIPv4())
+ return NET_IPV4;
+
+ if (IsTor())
+ return NET_TOR;
+
+ if (IsI2P())
+ return NET_I2P;
+
+ return NET_IPV6;
}
std::string CNetAddr::ToStringIP() const
{
+ if (IsTor())
+ return EncodeBase32(&ip[6], 10) + ".onion";
+ if (IsI2P())
+ return EncodeBase32(&ip[6], 10) + ".oc.b32.i2p";
+ CService serv(*this, 0);
+#ifdef USE_IPV6
+ struct sockaddr_storage sockaddr;
+#else
+ struct sockaddr sockaddr;
+#endif
+ socklen_t socklen = sizeof(sockaddr);
+ if (serv.GetSockAddr((struct sockaddr*)&sockaddr, &socklen)) {
+ char name[1025] = "";
+ if (!getnameinfo((const struct sockaddr*)&sockaddr, socklen, name, sizeof(name), NULL, 0, NI_NUMERICHOST))
+ return std::string(name);
+ }
if (IsIPv4())
return strprintf("%u.%u.%u.%u", GetByte(3), GetByte(2), GetByte(1), GetByte(0));
else
@@ -519,44 +844,56 @@ bool CNetAddr::GetIn6Addr(struct in6_addr* pipv6Addr) const
std::vector<unsigned char> CNetAddr::GetGroup() const
{
std::vector<unsigned char> vchRet;
- int nClass = 0; // 0=IPv6, 1=IPv4, 254=local, 255=unroutable
+ int nClass = NET_IPV6;
int nStartByte = 0;
int nBits = 16;
// all local addresses belong to the same group
if (IsLocal())
{
- nClass = 254;
+ nClass = 255;
nBits = 0;
}
// all unroutable addresses belong to the same group
if (!IsRoutable())
{
- nClass = 255;
+ nClass = NET_UNROUTABLE;
nBits = 0;
}
// for IPv4 addresses, '1' + the 16 higher-order bits of the IP
// includes mapped IPv4, SIIT translated IPv4, and the well-known prefix
else if (IsIPv4() || IsRFC6145() || IsRFC6052())
{
- nClass = 1;
+ nClass = NET_IPV4;
nStartByte = 12;
}
// for 6to4 tunnelled addresses, use the encapsulated IPv4 address
else if (IsRFC3964())
{
- nClass = 1;
+ nClass = NET_IPV4;
nStartByte = 2;
}
// for Teredo-tunnelled IPv6 addresses, use the encapsulated IPv4 address
else if (IsRFC4380())
{
- vchRet.push_back(1);
+ vchRet.push_back(NET_IPV4);
vchRet.push_back(GetByte(3) ^ 0xFF);
vchRet.push_back(GetByte(2) ^ 0xFF);
return vchRet;
}
+ else if (IsTor())
+ {
+ nClass = NET_TOR;
+ nStartByte = 6;
+ nBits = 4;
+ }
+ else if (IsI2P())
+ {
+ nClass = NET_I2P;
+ nStartByte = 6;
+ nBits = 4;
+ }
// for he.net, use /36 groups
else if (GetByte(15) == 0x20 && GetByte(14) == 0x11 && GetByte(13) == 0x04 && GetByte(12) == 0x70)
nBits = 36;
@@ -577,10 +914,10 @@ std::vector<unsigned char> CNetAddr::GetGroup() const
return vchRet;
}
-int64 CNetAddr::GetHash() const
+uint64 CNetAddr::GetHash() const
{
uint256 hash = Hash(&ip[0], &ip[16]);
- int64 nRet;
+ uint64 nRet;
memcpy(&nRet, &hash, sizeof(nRet));
return nRet;
}
@@ -590,6 +927,84 @@ void CNetAddr::print() const
printf("CNetAddr(%s)\n", ToString().c_str());
}
+// private extensions to enum Network, only returned by GetExtNetwork,
+// and only used in GetReachabilityFrom
+static const int NET_UNKNOWN = NET_MAX + 0;
+static const int NET_TEREDO = NET_MAX + 1;
+int static GetExtNetwork(const CNetAddr *addr)
+{
+ if (addr == NULL)
+ return NET_UNKNOWN;
+ if (addr->IsRFC4380())
+ return NET_TEREDO;
+ return addr->GetNetwork();
+}
+
+/** Calculates a metric for how reachable (*this) is from a given partner */
+int CNetAddr::GetReachabilityFrom(const CNetAddr *paddrPartner) const
+{
+ enum Reachability {
+ REACH_UNREACHABLE,
+ REACH_DEFAULT,
+ REACH_TEREDO,
+ REACH_IPV6_WEAK,
+ REACH_IPV4,
+ REACH_IPV6_STRONG,
+ REACH_PRIVATE
+ };
+
+ if (!IsRoutable())
+ return REACH_UNREACHABLE;
+
+ int ourNet = GetExtNetwork(this);
+ int theirNet = GetExtNetwork(paddrPartner);
+ bool fTunnel = IsRFC3964() || IsRFC6052() || IsRFC6145();
+
+ switch(theirNet) {
+ case NET_IPV4:
+ switch(ourNet) {
+ default: return REACH_DEFAULT;
+ case NET_IPV4: return REACH_IPV4;
+ }
+ case NET_IPV6:
+ switch(ourNet) {
+ default: return REACH_DEFAULT;
+ case NET_TEREDO: return REACH_TEREDO;
+ case NET_IPV4: return REACH_IPV4;
+ case NET_IPV6: return fTunnel ? REACH_IPV6_WEAK : REACH_IPV6_STRONG; // only prefer giving our IPv6 address if it's not tunnelled
+ }
+ case NET_TOR:
+ switch(ourNet) {
+ default: return REACH_DEFAULT;
+ case NET_IPV4: return REACH_IPV4; // Tor users can connect to IPv4 as well
+ case NET_TOR: return REACH_PRIVATE;
+ }
+ case NET_I2P:
+ switch(ourNet) {
+ default: return REACH_DEFAULT;
+ case NET_I2P: return REACH_PRIVATE;
+ }
+ case NET_TEREDO:
+ switch(ourNet) {
+ default: return REACH_DEFAULT;
+ case NET_TEREDO: return REACH_TEREDO;
+ case NET_IPV6: return REACH_IPV6_WEAK;
+ case NET_IPV4: return REACH_IPV4;
+ }
+ case NET_UNKNOWN:
+ case NET_UNROUTABLE:
+ default:
+ switch(ourNet) {
+ default: return REACH_DEFAULT;
+ case NET_TEREDO: return REACH_TEREDO;
+ case NET_IPV6: return REACH_IPV6_WEAK;
+ case NET_IPV4: return REACH_IPV4;
+ case NET_I2P: return REACH_PRIVATE; // assume connections from unroutable addresses are
+ case NET_TOR: return REACH_PRIVATE; // either from Tor/I2P, or don't care about our address
+ }
+ }
+}
+
void CService::Init()
{
port = 0;
@@ -626,6 +1041,22 @@ CService::CService(const struct sockaddr_in6 &addr) : CNetAddr(addr.sin6_addr),
}
#endif
+bool CService::SetSockAddr(const struct sockaddr *paddr)
+{
+ switch (paddr->sa_family) {
+ case AF_INET:
+ *this = CService(*(const struct sockaddr_in*)paddr);
+ return true;
+#ifdef USE_IPV6
+ case AF_INET6:
+ *this = CService(*(const struct sockaddr_in6*)paddr);
+ return true;
+#endif
+ default:
+ return false;
+ }
+}
+
CService::CService(const char *pszIpPort, bool fAllowLookup)
{
Init();
@@ -678,29 +1109,36 @@ bool operator<(const CService& a, const CService& b)
return (CNetAddr)a < (CNetAddr)b || ((CNetAddr)a == (CNetAddr)b && a.port < b.port);
}
-bool CService::GetSockAddr(struct sockaddr_in* paddr) const
+bool CService::GetSockAddr(struct sockaddr* paddr, socklen_t *addrlen) const
{
- if (!IsIPv4())
- return false;
- memset(paddr, 0, sizeof(struct sockaddr_in));
- if (!GetInAddr(&paddr->sin_addr))
- return false;
- paddr->sin_family = AF_INET;
- paddr->sin_port = htons(port);
- return true;
-}
-
+ if (IsIPv4()) {
+ if (*addrlen < (socklen_t)sizeof(struct sockaddr_in))
+ return false;
+ *addrlen = sizeof(struct sockaddr_in);
+ struct sockaddr_in *paddrin = (struct sockaddr_in*)paddr;
+ memset(paddrin, 0, *addrlen);
+ if (!GetInAddr(&paddrin->sin_addr))
+ return false;
+ paddrin->sin_family = AF_INET;
+ paddrin->sin_port = htons(port);
+ return true;
+ }
#ifdef USE_IPV6
-bool CService::GetSockAddr6(struct sockaddr_in6* paddr) const
-{
- memset(paddr, 0, sizeof(struct sockaddr_in6));
- if (!GetIn6Addr(&paddr->sin6_addr))
- return false;
- paddr->sin6_family = AF_INET6;
- paddr->sin6_port = htons(port);
- return true;
-}
+ if (IsIPv6()) {
+ if (*addrlen < (socklen_t)sizeof(struct sockaddr_in6))
+ return false;
+ *addrlen = sizeof(struct sockaddr_in6);
+ struct sockaddr_in6 *paddrin6 = (struct sockaddr_in6*)paddr;
+ memset(paddrin6, 0, *addrlen);
+ if (!GetIn6Addr(&paddrin6->sin6_addr))
+ return false;
+ paddrin6->sin6_family = AF_INET6;
+ paddrin6->sin6_port = htons(port);
+ return true;
+ }
#endif
+ return false;
+}
std::vector<unsigned char> CService::GetKey() const
{
@@ -714,12 +1152,16 @@ std::vector<unsigned char> CService::GetKey() const
std::string CService::ToStringPort() const
{
- return strprintf(":%i", port);
+ return strprintf("%u", port);
}
std::string CService::ToStringIPPort() const
{
- return ToStringIP() + ToStringPort();
+ if (IsIPv4() || IsTor() || IsI2P()) {
+ return ToStringIP() + ":" + ToStringPort();
+ } else {
+ return "[" + ToStringIP() + "]:" + ToStringPort();
+ }
}
std::string CService::ToString() const
diff --git a/src/netbase.h b/src/netbase.h
index bc35f7da14..0a29d4ff0c 100644
--- a/src/netbase.h
+++ b/src/netbase.h
@@ -17,6 +17,20 @@ extern int nConnectTimeout;
#undef SetPort
#endif
+enum Network
+{
+ NET_UNROUTABLE,
+ NET_IPV4,
+ NET_IPV6,
+ NET_TOR,
+ NET_I2P,
+
+ NET_MAX,
+};
+
+extern int nConnectTimeout;
+extern bool fNameLookup;
+
/** IP address (IPv6, or IPv4 using mapped IPv6 range (::FFFF:0:0/96)) */
class CNetAddr
{
@@ -30,7 +44,9 @@ class CNetAddr
explicit CNetAddr(const std::string &strIp, bool fAllowLookup = false);
void Init();
void SetIP(const CNetAddr& ip);
+ bool SetSpecial(const std::string &strName); // for Tor and I2P addresses
bool IsIPv4() const; // IPv4 mapped address (::FFFF:0:0/96, 0.0.0.0/0)
+ bool IsIPv6() const; // IPv6 address (not mapped IPv4, not Tor/I2P)
bool IsRFC1918() const; // IPv4 private networks (10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12)
bool IsRFC3849() const; // IPv6 documentation address (2001:0DB8::/32)
bool IsRFC3927() const; // IPv4 autoconfig (169.254.0.0/16)
@@ -41,16 +57,20 @@ class CNetAddr
bool IsRFC4862() const; // IPv6 autoconfig (FE80::/64)
bool IsRFC6052() const; // IPv6 well-known prefix (64:FF9B::/96)
bool IsRFC6145() const; // IPv6 IPv4-translated address (::FFFF:0:0:0/96)
+ bool IsTor() const;
+ bool IsI2P() const;
bool IsLocal() const;
bool IsRoutable() const;
bool IsValid() const;
bool IsMulticast() const;
+ enum Network GetNetwork() const;
std::string ToString() const;
std::string ToStringIP() const;
- int GetByte(int n) const;
- int64 GetHash() const;
+ unsigned int GetByte(int n) const;
+ uint64 GetHash() const;
bool GetInAddr(struct in_addr* pipv4Addr) const;
std::vector<unsigned char> GetGroup() const;
+ int GetReachabilityFrom(const CNetAddr *paddrPartner = NULL) const;
void print() const;
#ifdef USE_IPV6
@@ -86,7 +106,8 @@ class CService : public CNetAddr
void Init();
void SetPort(unsigned short portIn);
unsigned short GetPort() const;
- bool GetSockAddr(struct sockaddr_in* paddr) const;
+ bool GetSockAddr(struct sockaddr* paddr, socklen_t *addrlen) const;
+ bool SetSockAddr(const struct sockaddr* paddr);
friend bool operator==(const CService& a, const CService& b);
friend bool operator!=(const CService& a, const CService& b);
friend bool operator<(const CService& a, const CService& b);
@@ -98,7 +119,6 @@ class CService : public CNetAddr
#ifdef USE_IPV6
CService(const struct in6_addr& ipv6Addr, unsigned short port);
- bool GetSockAddr6(struct sockaddr_in6* paddr) const;
CService(const struct sockaddr_in6& addr);
#endif
@@ -113,15 +133,21 @@ class CService : public CNetAddr
)
};
+typedef std::pair<CService, int> proxyType;
+
+enum Network ParseNetwork(std::string net);
+void SplitHostPort(std::string in, int &portOut, std::string &hostOut);
+bool SetProxy(enum Network net, CService addrProxy, int nSocksVersion = 5);
+bool GetProxy(enum Network net, proxyType &proxyInfoOut);
+bool IsProxy(const CNetAddr &addr);
+bool SetNameProxy(CService addrProxy, int nSocksVersion = 5);
+bool HaveNameProxy();
bool LookupHost(const char *pszName, std::vector<CNetAddr>& vIP, unsigned int nMaxSolutions = 0, bool fAllowLookup = true);
bool LookupHostNumeric(const char *pszName, std::vector<CNetAddr>& vIP, unsigned int nMaxSolutions = 0);
bool Lookup(const char *pszName, CService& addr, int portDefault = 0, bool fAllowLookup = true);
bool Lookup(const char *pszName, std::vector<CService>& vAddr, int portDefault = 0, bool fAllowLookup = true, unsigned int nMaxSolutions = 0);
bool LookupNumeric(const char *pszName, CService& addr, int portDefault = 0);
bool ConnectSocket(const CService &addr, SOCKET& hSocketRet, int nTimeout = nConnectTimeout);
-
-// Settings
-extern int fUseProxy;
-extern CService addrProxy;
+bool ConnectSocketByName(CService &addr, SOCKET& hSocketRet, const char *pszDest, int portDefault = 0, int nTimeout = nConnectTimeout);
#endif
diff --git a/src/noui.cpp b/src/noui.cpp
index 6d984680b1..db25f2d285 100644
--- a/src/noui.cpp
+++ b/src/noui.cpp
@@ -3,42 +3,26 @@
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "ui_interface.h"
+#include "init.h"
+#include "bitcoinrpc.h"
#include <string>
-#include "init.h"
-int ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style)
+static int noui_ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style)
{
printf("%s: %s\n", caption.c_str(), message.c_str());
fprintf(stderr, "%s: %s\n", caption.c_str(), message.c_str());
return 4;
}
-bool ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption)
+static bool noui_ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption)
{
return true;
}
-void MainFrameRepaint()
-{
-}
-
-void AddressBookRepaint()
-{
-}
-
-void InitMessage(const std::string &message)
+void noui_connect()
{
+ // Connect bitcoind signal handlers
+ uiInterface.ThreadSafeMessageBox.connect(noui_ThreadSafeMessageBox);
+ uiInterface.ThreadSafeAskFee.connect(noui_ThreadSafeAskFee);
}
-
-std::string _(const char* psz)
-{
- return psz;
-}
-
-void QueueShutdown()
-{
- // Without UI, Shutdown can simply be started in a new thread
- CreateThread(Shutdown, NULL);
-}
-
diff --git a/src/protocol.h b/src/protocol.h
index b516f1b897..36f8b144cd 100644
--- a/src/protocol.h
+++ b/src/protocol.h
@@ -49,8 +49,16 @@ class CMessageHeader
// TODO: make private (improves encapsulation)
public:
- enum { COMMAND_SIZE=12 };
- char pchMessageStart[sizeof(::pchMessageStart)];
+ enum {
+ MESSAGE_START_SIZE=sizeof(::pchMessageStart),
+ COMMAND_SIZE=12,
+ MESSAGE_SIZE_SIZE=sizeof(int),
+ CHECKSUM_SIZE=sizeof(int),
+
+ MESSAGE_SIZE_OFFSET=MESSAGE_START_SIZE+COMMAND_SIZE,
+ CHECKSUM_OFFSET=MESSAGE_SIZE_OFFSET+MESSAGE_SIZE_SIZE
+ };
+ char pchMessageStart[MESSAGE_START_SIZE];
char pchCommand[COMMAND_SIZE];
unsigned int nMessageSize;
unsigned int nChecksum;
diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp
index 2893580e5c..e20358c70e 100644
--- a/src/qt/addressbookpage.cpp
+++ b/src/qt/addressbookpage.cpp
@@ -2,6 +2,7 @@
#include "ui_addressbookpage.h"
#include "addresstablemodel.h"
+#include "optionsmodel.h"
#include "bitcoingui.h"
#include "editaddressdialog.h"
#include "csvmodelwriter.h"
@@ -20,12 +21,13 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
QDialog(parent),
ui(new Ui::AddressBookPage),
model(0),
+ optionsModel(0),
mode(mode),
tab(tab)
{
ui->setupUi(this);
-#ifdef Q_WS_MAC // Icons on push buttons are very uncommon on Mac
+#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());
@@ -58,25 +60,38 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) :
ui->signMessage->setVisible(true);
break;
}
- ui->tableView->setTabKeyNavigation(false);
- ui->tableView->setContextMenuPolicy(Qt::CustomContextMenu);
// Context menu actions
- QAction *copyAddressAction = new QAction(tr("Copy address"), this);
- QAction *copyLabelAction = new QAction(tr("Copy label"), this);
- QAction *editAction = new QAction(tr("Edit"), this);
- deleteAction = new QAction(tr("Delete"), this);
-
+ QAction *copyLabelAction = new QAction(tr("Copy &Label"), this);
+ QAction *copyAddressAction = new QAction(ui->copyToClipboard->text(), this);
+ QAction *editAction = new QAction(tr("&Edit"), 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);
+
+ // Build context menu
contextMenu = new QMenu();
contextMenu->addAction(copyAddressAction);
contextMenu->addAction(copyLabelAction);
contextMenu->addAction(editAction);
- contextMenu->addAction(deleteAction);
-
+ if(tab == SendingTab)
+ contextMenu->addAction(deleteAction);
+ contextMenu->addSeparator();
+ contextMenu->addAction(showQRCodeAction);
+ if(tab == ReceivingTab)
+ contextMenu->addAction(signMessageAction);
+ else if(tab == SendingTab)
+ contextMenu->addAction(verifyMessageAction);
+
+ // Connect signals for context menu actions
connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyToClipboard_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(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()));
connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint)));
@@ -125,9 +140,18 @@ void AddressBookPage::setModel(AddressTableModel *model)
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)));
+
selectionChanged();
}
+void AddressBookPage::setOptionsModel(OptionsModel *optionsModel)
+{
+ this->optionsModel = optionsModel;
+}
+
void AddressBookPage::on_copyToClipboard_clicked()
{
GUIUtil::copyEntryData(ui->tableView, AddressTableModel::Address);
@@ -168,10 +192,22 @@ void AddressBookPage::on_signMessage_clicked()
addr = address.toString();
}
- QObject *qoGUI = parent()->parent();
- BitcoinGUI *gui = qobject_cast<BitcoinGUI *>(qoGUI);
- if (gui)
- gui->gotoMessagePage(addr);
+ emit signMessage(addr);
+}
+
+void AddressBookPage::on_verifyMessage_clicked()
+{
+ QTableView *table = ui->tableView;
+ QModelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address);
+ QString addr;
+
+ foreach (QModelIndex index, indexes)
+ {
+ QVariant address = index.data();
+ addr = address.toString();
+ }
+
+ emit verifyMessage(addr);
}
void AddressBookPage::on_newAddressButton_clicked()
@@ -181,20 +217,11 @@ void AddressBookPage::on_newAddressButton_clicked()
EditAddressDialog dlg(
tab == SendingTab ?
EditAddressDialog::NewSendingAddress :
- EditAddressDialog::NewReceivingAddress);
+ EditAddressDialog::NewReceivingAddress, this);
dlg.setModel(model);
if(dlg.exec())
{
- // Select row for newly created address
- QString address = dlg.getAddress();
- QModelIndexList lst = proxyModel->match(proxyModel->index(0,
- AddressTableModel::Address, QModelIndex()),
- Qt::EditRole, address, 1, Qt::MatchExactly);
- if(!lst.isEmpty())
- {
- ui->tableView->setFocus();
- ui->tableView->selectRow(lst.at(0).row());
- }
+ newAddressToSelect = dlg.getAddress();
}
}
@@ -228,6 +255,8 @@ void AddressBookPage::selectionChanged()
deleteAction->setEnabled(true);
ui->signMessage->setEnabled(false);
ui->signMessage->setVisible(false);
+ ui->verifyMessage->setEnabled(true);
+ ui->verifyMessage->setVisible(true);
break;
case ReceivingTab:
// Deleting receiving addresses, however, is not allowed
@@ -236,6 +265,8 @@ void AddressBookPage::selectionChanged()
deleteAction->setEnabled(false);
ui->signMessage->setEnabled(true);
ui->signMessage->setVisible(true);
+ ui->verifyMessage->setEnabled(false);
+ ui->verifyMessage->setVisible(false);
break;
}
ui->copyToClipboard->setEnabled(true);
@@ -247,6 +278,7 @@ void AddressBookPage::selectionChanged()
ui->showQRCode->setEnabled(false);
ui->copyToClipboard->setEnabled(false);
ui->signMessage->setEnabled(false);
+ ui->verifyMessage->setEnabled(false);
}
}
@@ -312,6 +344,9 @@ void AddressBookPage::on_showQRCode_clicked()
QString address = index.data().toString(), label = index.sibling(index.row(), 0).data(Qt::EditRole).toString();
QRCodeDialog *dialog = new QRCodeDialog(address, label, tab == ReceivingTab, this);
+ if(optionsModel)
+ dialog->setModel(optionsModel);
+ dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->show();
}
#endif
@@ -325,3 +360,15 @@ void AddressBookPage::contextualMenu(const QPoint &point)
contextMenu->exec(QCursor::pos());
}
}
+
+void AddressBookPage::selectNewAddress(const QModelIndex &parent, int begin, int end)
+{
+ QModelIndex idx = proxyModel->mapFromSource(model->index(begin, AddressTableModel::Address, parent));
+ if(idx.isValid() && (idx.data(Qt::EditRole).toString() == newAddressToSelect))
+ {
+ // Select row of newly created address, once
+ ui->tableView->setFocus();
+ ui->tableView->selectRow(idx.row());
+ newAddressToSelect.clear();
+ }
+}
diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h
index 125ba8559d..f7d177c513 100644
--- a/src/qt/addressbookpage.h
+++ b/src/qt/addressbookpage.h
@@ -7,12 +7,14 @@ namespace Ui {
class AddressBookPage;
}
class AddressTableModel;
+class OptionsModel;
QT_BEGIN_NAMESPACE
class QTableView;
class QItemSelection;
class QSortFilterProxyModel;
class QMenu;
+class QModelIndex;
QT_END_NAMESPACE
/** Widget that shows a list of sending or receiving addresses.
@@ -36,6 +38,7 @@ public:
~AddressBookPage();
void setModel(AddressTableModel *model);
+ void setOptionsModel(OptionsModel *optionsModel);
const QString &getReturnValue() const { return returnValue; }
public slots:
@@ -45,12 +48,14 @@ public slots:
private:
Ui::AddressBookPage *ui;
AddressTableModel *model;
+ OptionsModel *optionsModel;
Mode mode;
Tabs tab;
QString returnValue;
QSortFilterProxyModel *proxyModel;
QMenu *contextMenu;
QAction *deleteAction;
+ QString newAddressToSelect;
private slots:
void on_deleteButton_clicked();
@@ -58,6 +63,7 @@ private slots:
/** Copy address of currently selected address entry to clipboard */
void on_copyToClipboard_clicked();
void on_signMessage_clicked();
+ void on_verifyMessage_clicked();
void selectionChanged();
void on_showQRCode_clicked();
/** Spawn contextual menu (right mouse menu) for address book entry */
@@ -67,6 +73,13 @@ private slots:
void onCopyLabelAction();
/** Edit currently selected address entry */
void onEditAction();
+
+ /** New entry/entries were added to address table */
+ void selectNewAddress(const QModelIndex &parent, int begin, int end);
+
+signals:
+ void signMessage(QString addr);
+ void verifyMessage(QString addr);
};
#endif // ADDRESSBOOKPAGE_H
diff --git a/src/qt/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp
index 7b95f51c04..e65d3915ec 100644
--- a/src/qt/addresstablemodel.cpp
+++ b/src/qt/addresstablemodel.cpp
@@ -3,6 +3,7 @@
#include "walletmodel.h"
#include "wallet.h"
+#include "base58.h"
#include <QFont>
#include <QColor>
@@ -26,27 +27,43 @@ struct AddressTableEntry
type(type), label(label), address(address) {}
};
+struct AddressTableEntryLessThan
+{
+ bool operator()(const AddressTableEntry &a, const AddressTableEntry &b) const
+ {
+ return a.address < b.address;
+ }
+ bool operator()(const AddressTableEntry &a, const QString &b) const
+ {
+ return a.address < b;
+ }
+ bool operator()(const QString &a, const AddressTableEntry &b) const
+ {
+ return a < b.address;
+ }
+};
+
// Private implementation
class AddressTablePriv
{
public:
CWallet *wallet;
QList<AddressTableEntry> cachedAddressTable;
+ AddressTableModel *parent;
- AddressTablePriv(CWallet *wallet):
- wallet(wallet) {}
+ AddressTablePriv(CWallet *wallet, AddressTableModel *parent):
+ wallet(wallet), parent(parent) {}
void refreshAddressTable()
{
cachedAddressTable.clear();
-
{
LOCK(wallet->cs_wallet);
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, std::string)& item, wallet->mapAddressBook)
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination, std::string)& item, wallet->mapAddressBook)
{
const CBitcoinAddress& address = item.first;
const std::string& strName = item.second;
- bool fMine = wallet->HaveKey(address);
+ bool fMine = IsMine(*wallet, address.Get());
cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
QString::fromStdString(strName),
QString::fromStdString(address.ToString())));
@@ -54,6 +71,53 @@ public:
}
}
+ void updateEntry(const QString &address, const QString &label, bool isMine, int status)
+ {
+ // Find address / label in model
+ QList<AddressTableEntry>::iterator lower = qLowerBound(
+ cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
+ QList<AddressTableEntry>::iterator upper = qUpperBound(
+ cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
+ int lowerIndex = (lower - cachedAddressTable.begin());
+ int upperIndex = (upper - cachedAddressTable.begin());
+ bool inModel = (lower != upper);
+ AddressTableEntry::Type newEntryType = isMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending;
+
+ switch(status)
+ {
+ case CT_NEW:
+ if(inModel)
+ {
+ OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_NOW, but entry is already in model\n");
+ break;
+ }
+ parent->beginInsertRows(QModelIndex(), lowerIndex, lowerIndex);
+ cachedAddressTable.insert(lowerIndex, AddressTableEntry(newEntryType, label, address));
+ parent->endInsertRows();
+ break;
+ case CT_UPDATED:
+ if(!inModel)
+ {
+ OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_UPDATED, but entry is not in model\n");
+ break;
+ }
+ lower->type = newEntryType;
+ lower->label = label;
+ parent->emitDataChanged(lowerIndex);
+ break;
+ case CT_DELETED:
+ if(!inModel)
+ {
+ OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_DELETED, but entry is not in model\n");
+ break;
+ }
+ parent->beginRemoveRows(QModelIndex(), lowerIndex, upperIndex-1);
+ cachedAddressTable.erase(lower, upper);
+ parent->endRemoveRows();
+ break;
+ }
+ }
+
int size()
{
return cachedAddressTable.size();
@@ -76,7 +140,7 @@ AddressTableModel::AddressTableModel(CWallet *wallet, WalletModel *parent) :
QAbstractTableModel(parent),walletModel(parent),wallet(wallet),priv(0)
{
columns << tr("Label") << tr("Address");
- priv = new AddressTablePriv(wallet);
+ priv = new AddressTablePriv(wallet, this);
priv->refreshAddressTable();
}
@@ -157,7 +221,7 @@ bool AddressTableModel::setData(const QModelIndex & index, const QVariant & valu
switch(index.column())
{
case Label:
- wallet->SetAddressBookName(rec->address.toStdString(), value.toString().toStdString());
+ wallet->SetAddressBookName(CBitcoinAddress(rec->address.toStdString()).Get(), value.toString().toStdString());
rec->label = value.toString();
break;
case Address:
@@ -173,16 +237,13 @@ bool AddressTableModel::setData(const QModelIndex & index, const QVariant & valu
{
LOCK(wallet->cs_wallet);
// Remove old entry
- wallet->DelAddressBookName(rec->address.toStdString());
+ wallet->DelAddressBookName(CBitcoinAddress(rec->address.toStdString()).Get());
// Add new entry with new address
- wallet->SetAddressBookName(value.toString().toStdString(), rec->label.toStdString());
+ wallet->SetAddressBookName(CBitcoinAddress(value.toString().toStdString()).Get(), rec->label.toStdString());
}
-
- rec->address = value.toString();
}
break;
}
- emit dataChanged(index, index);
return true;
}
@@ -232,12 +293,10 @@ QModelIndex AddressTableModel::index(int row, int column, const QModelIndex & pa
}
}
-void AddressTableModel::update()
+void AddressTableModel::updateEntry(const QString &address, const QString &label, bool isMine, int status)
{
// Update address book model from Bitcoin core
- beginResetModel();
- priv->refreshAddressTable();
- endResetModel();
+ priv->updateEntry(address, label, isMine, status);
}
QString AddressTableModel::addRow(const QString &type, const QString &label, const QString &address)
@@ -257,7 +316,7 @@ QString AddressTableModel::addRow(const QString &type, const QString &label, con
// Check for duplicate addresses
{
LOCK(wallet->cs_wallet);
- if(wallet->mapAddressBook.count(strAddress))
+ if(wallet->mapAddressBook.count(CBitcoinAddress(strAddress).Get()))
{
editStatus = DUPLICATE_ADDRESS;
return QString();
@@ -274,13 +333,13 @@ QString AddressTableModel::addRow(const QString &type, const QString &label, con
editStatus = WALLET_UNLOCK_FAILURE;
return QString();
}
- std::vector<unsigned char> newKey;
+ CPubKey newKey;
if(!wallet->GetKeyFromPool(newKey, true))
{
editStatus = KEY_GENERATION_FAILURE;
return QString();
}
- strAddress = CBitcoinAddress(newKey).ToString();
+ strAddress = CBitcoinAddress(newKey.GetID()).ToString();
}
else
{
@@ -289,7 +348,7 @@ QString AddressTableModel::addRow(const QString &type, const QString &label, con
// Add entry
{
LOCK(wallet->cs_wallet);
- wallet->SetAddressBookName(strAddress, strLabel);
+ wallet->SetAddressBookName(CBitcoinAddress(strAddress).Get(), strLabel);
}
return QString::fromStdString(strAddress);
}
@@ -306,7 +365,7 @@ bool AddressTableModel::removeRows(int row, int count, const QModelIndex & paren
}
{
LOCK(wallet->cs_wallet);
- wallet->DelAddressBookName(rec->address.toStdString());
+ wallet->DelAddressBookName(CBitcoinAddress(rec->address.toStdString()).Get());
}
return true;
}
@@ -318,7 +377,7 @@ QString AddressTableModel::labelForAddress(const QString &address) const
{
LOCK(wallet->cs_wallet);
CBitcoinAddress address_parsed(address.toStdString());
- std::map<CBitcoinAddress, std::string>::iterator mi = wallet->mapAddressBook.find(address_parsed);
+ std::map<CTxDestination, std::string>::iterator mi = wallet->mapAddressBook.find(address_parsed.Get());
if (mi != wallet->mapAddressBook.end())
{
return QString::fromStdString(mi->second);
@@ -341,3 +400,7 @@ int AddressTableModel::lookupAddress(const QString &address) const
}
}
+void AddressTableModel::emitDataChanged(int idx)
+{
+ emit dataChanged(index(idx, 0, QModelIndex()), index(idx, columns.length()-1, QModelIndex()));
+}
diff --git a/src/qt/addresstablemodel.h b/src/qt/addresstablemodel.h
index 7fd07cfb81..42974e3e1f 100644
--- a/src/qt/addresstablemodel.h
+++ b/src/qt/addresstablemodel.h
@@ -74,13 +74,18 @@ private:
QStringList columns;
EditStatus editStatus;
+ /** Notify listeners that data changed. */
+ void emitDataChanged(int index);
+
signals:
void defaultAddressChanged(const QString &address);
public slots:
- /* Update address list from core. Invalidates any indices.
+ /* Update address list from core.
*/
- void update();
+ void updateEntry(const QString &address, const QString &label, bool isMine, int status);
+
+ friend class AddressTablePriv;
};
#endif // ADDRESSTABLEMODEL_H
diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp
index 7b9d4912ff..d794537d01 100644
--- a/src/qt/askpassphrasedialog.cpp
+++ b/src/qt/askpassphrasedialog.cpp
@@ -24,7 +24,6 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
ui->passEdit1->installEventFilter(this);
ui->passEdit2->installEventFilter(this);
ui->passEdit3->installEventFilter(this);
- ui->capsLabel->clear();
switch(mode)
{
@@ -99,7 +98,7 @@ void AskPassphraseDialog::accept()
break;
}
QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm wallet encryption"),
- tr("WARNING: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!\nAre you sure you wish to encrypt your wallet?"),
+ tr("Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!") + "<br><br>" + tr("Are you sure you wish to encrypt your wallet?"),
QMessageBox::Yes|QMessageBox::Cancel,
QMessageBox::Cancel);
if(retval == QMessageBox::Yes)
@@ -214,7 +213,7 @@ bool AskPassphraseDialog::event(QEvent *event)
fCapsLock = !fCapsLock;
}
if (fCapsLock) {
- ui->capsLabel->setText(tr("Warning: The Caps Lock key is on."));
+ ui->capsLabel->setText(tr("Warning: The Caps Lock key is on!"));
} else {
ui->capsLabel->clear();
}
@@ -224,7 +223,7 @@ bool AskPassphraseDialog::event(QEvent *event)
bool AskPassphraseDialog::eventFilter(QObject *object, QEvent *event)
{
- /* Detect Caps Lock.
+ /* Detect Caps Lock.
* There is no good OS-independent way to check a key state in Qt, but we
* can detect Caps Lock by checking for the following condition:
* Shift key is down and the result is a lower case character, or
@@ -238,7 +237,7 @@ bool AskPassphraseDialog::eventFilter(QObject *object, QEvent *event)
bool fShift = (ke->modifiers() & Qt::ShiftModifier) != 0;
if ((fShift && psz->isLower()) || (!fShift && psz->isUpper())) {
fCapsLock = true;
- ui->capsLabel->setText(tr("Warning: The Caps Lock key is on."));
+ ui->capsLabel->setText(tr("Warning: The Caps Lock key is on!"));
} else if (psz->isLetter()) {
fCapsLock = false;
ui->capsLabel->clear();
diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp
index 1e7c582684..cd1764a53f 100644
--- a/src/qt/bitcoin.cpp
+++ b/src/qt/bitcoin.cpp
@@ -6,6 +6,7 @@
#include "walletmodel.h"
#include "optionsmodel.h"
#include "guiutil.h"
+#include "guiconstants.h"
#include "init.h"
#include "ui_interface.h"
@@ -19,8 +20,6 @@
#include <QSplashScreen>
#include <QLibraryInfo>
-#include <boost/interprocess/ipc/message_queue.hpp>
-
#if defined(BITCOIN_NEED_QT_PLUGINS) && !defined(_BITCOIN_QT_PLUGINS_INCLUDED)
#define _BITCOIN_QT_PLUGINS_INCLUDED
#define __INSURE__
@@ -35,15 +34,13 @@ Q_IMPORT_PLUGIN(qtaccessiblewidgets)
// Need a global reference for the notifications to find the GUI
static BitcoinGUI *guiref;
static QSplashScreen *splashref;
-static WalletModel *walletmodel;
-static ClientModel *clientmodel;
-int ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style)
+static void ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style)
{
// Message from network thread
if(guiref)
{
- bool modal = (style & wxMODAL);
+ bool modal = (style & CClientUIInterface::MODAL);
// in case of modal message, use blocking connection to wait for user to click OK
QMetaObject::invokeMethod(guiref, "error",
modal ? GUIUtil::blockingGUIThreadConnection() : Qt::QueuedConnection,
@@ -56,10 +53,9 @@ int ThreadSafeMessageBox(const std::string& message, const std::string& caption,
printf("%s: %s\n", caption.c_str(), message.c_str());
fprintf(stderr, "%s: %s\n", caption.c_str(), message.c_str());
}
- return 4;
}
-bool ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption)
+static bool ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption)
{
if(!guiref)
return false;
@@ -74,7 +70,7 @@ bool ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption)
return payFee;
}
-void ThreadSafeHandleURI(const std::string& strURI)
+static void ThreadSafeHandleURI(const std::string& strURI)
{
if(!guiref)
return;
@@ -83,21 +79,7 @@ void ThreadSafeHandleURI(const std::string& strURI)
Q_ARG(QString, QString::fromStdString(strURI)));
}
-void MainFrameRepaint()
-{
- if(clientmodel)
- QMetaObject::invokeMethod(clientmodel, "update", Qt::QueuedConnection);
- if(walletmodel)
- QMetaObject::invokeMethod(walletmodel, "update", Qt::QueuedConnection);
-}
-
-void AddressBookRepaint()
-{
- if(walletmodel)
- QMetaObject::invokeMethod(walletmodel, "updateAddressList", Qt::QueuedConnection);
-}
-
-void InitMessage(const std::string &message)
+static void InitMessage(const std::string &message)
{
if(splashref)
{
@@ -106,7 +88,7 @@ void InitMessage(const std::string &message)
}
}
-void QueueShutdown()
+static void QueueShutdown()
{
QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection);
}
@@ -114,7 +96,7 @@ void QueueShutdown()
/*
Translate string to current locale using Qt.
*/
-std::string _(const char* psz)
+static std::string Translate(const char* psz)
{
return QCoreApplication::translate("bitcoin-core", psz).toStdString();
}
@@ -128,34 +110,11 @@ static void handleRunawayException(std::exception *e)
exit(1);
}
-#ifdef WIN32
-#define strncasecmp strnicmp
-#endif
#ifndef BITCOIN_QT_TEST
int main(int argc, char *argv[])
{
-#if !defined(MAC_OSX) && !defined(WIN32) && !defined(__FreeBSD__)
-// TODO: implement qtipcserver.cpp for Mac and Windows
-
// Do this early as we don't want to bother initializing if we are just calling IPC
- for (int i = 1; i < argc; i++)
- {
- if (strlen(argv[i]) > 7 && strncasecmp(argv[i], "bitcoin:", 8) == 0)
- {
- const char *strURI = argv[i];
- try {
- boost::interprocess::message_queue mq(boost::interprocess::open_only, BITCOINURI_QUEUE_NAME);
- if(mq.try_send(strURI, strlen(strURI), 0))
- exit(0);
- else
- break;
- }
- catch (boost::interprocess::interprocess_exception &ex) {
- break;
- }
- }
- }
-#endif
+ ipcScanRelay(argc, argv);
// Internal string conversion is all UTF-8
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
@@ -164,6 +123,9 @@ int main(int argc, char *argv[])
Q_INIT_RESOURCE(bitcoin);
QApplication app(argc, argv);
+ // Install global event filter that makes sure that long tooltips can be word-wrapped
+ app.installEventFilter(new GUIUtil::ToolTipToRichTextFilter(TOOLTIP_WRAP_THRESHOLD, &app));
+
// Command-line options take precedence:
ParseParameters(argc, argv);
@@ -190,32 +152,50 @@ int main(int argc, char *argv[])
// ... then GUI settings:
OptionsModel optionsModel;
- // Get desired locale ("en_US") from command line or system locale
+ // Get desired locale (e.g. "de_DE") from command line or use system locale
QString lang_territory = QString::fromStdString(GetArg("-lang", QLocale::system().name().toStdString()));
- // Load language files for configured locale:
- // - First load the translator for the base language, without territory
- // - Then load the more specific locale translator
QString lang = lang_territory;
+ // Convert to "de" only by truncating "_DE"
+ lang.truncate(lang_territory.lastIndexOf('_'));
- lang.truncate(lang_territory.lastIndexOf('_')); // "en"
QTranslator qtTranslatorBase, qtTranslator, translatorBase, translator;
+ // Load language files for configured locale:
+ // - First load the translator for the base language, without territory
+ // - Then load the more specific locale translator
- qtTranslatorBase.load(QLibraryInfo::location(QLibraryInfo::TranslationsPath) + "/qt_" + lang);
- if (!qtTranslatorBase.isEmpty())
+ // Load e.g. qt_de.qm
+ if (qtTranslatorBase.load("qt_" + lang, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
app.installTranslator(&qtTranslatorBase);
- qtTranslator.load(QLibraryInfo::location(QLibraryInfo::TranslationsPath) + "/qt_" + lang_territory);
- if (!qtTranslator.isEmpty())
+ // Load e.g. qt_de_DE.qm
+ if (qtTranslator.load("qt_" + lang_territory, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))
app.installTranslator(&qtTranslator);
- translatorBase.load(":/translations/"+lang);
- if (!translatorBase.isEmpty())
+ // Load e.g. bitcoin_de.qm (shortcut "de" needs to be defined in bitcoin.qrc)
+ if (translatorBase.load(lang, ":/translations/"))
app.installTranslator(&translatorBase);
- translator.load(":/translations/"+lang_territory);
- if (!translator.isEmpty())
+ // Load e.g. bitcoin_de_DE.qm (shortcut "de_DE" needs to be defined in bitcoin.qrc)
+ if (translator.load(lang_territory, ":/translations/"))
app.installTranslator(&translator);
+ // 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,
+ // but before showing splash screen.
+ if (mapArgs.count("-?") || mapArgs.count("--help"))
+ {
+ GUIUtil::HelpMessageBox help;
+ help.showOrPrint();
+ return 1;
+ }
+
QSplashScreen splash(QPixmap(":/images/splash"), 0);
if (GetBoolArg("-splash", true) && !GetBoolArg("-min"))
{
@@ -230,9 +210,13 @@ int main(int argc, char *argv[])
try
{
+ // Regenerate startup link, to fix links to old versions
+ if (GUIUtil::GetStartOnSystemStartup())
+ GUIUtil::SetStartOnSystemStartup(true);
+
BitcoinGUI window;
guiref = &window;
- if(AppInit2(argc, argv))
+ if(AppInit2())
{
{
// Put this in a block, so that the Model objects are cleaned up before
@@ -244,9 +228,7 @@ int main(int argc, char *argv[])
splash.finish(&window);
ClientModel clientModel(&optionsModel);
- clientmodel = &clientModel;
WalletModel walletModel(pwalletMain, &optionsModel);
- walletmodel = &walletModel;
window.setClientModel(&clientModel);
window.setWalletModel(&walletModel);
@@ -262,34 +244,14 @@ int main(int argc, char *argv[])
}
// Place this here as guiref has to be defined if we don't want to lose URIs
- ipcInit();
+ ipcInit(argc, argv);
-#if !defined(MAC_OSX) && !defined(WIN32) && !defined(__FreeBSD__)
-// TODO: implement qtipcserver.cpp for Mac and Windows
-
- // Check for URI in argv
- for (int i = 1; i < argc; i++)
- {
- if (strlen(argv[i]) > 7 && strncasecmp(argv[i], "bitcoin:", 8) == 0)
- {
- const char *strURI = argv[i];
- try {
- boost::interprocess::message_queue mq(boost::interprocess::open_only, BITCOINURI_QUEUE_NAME);
- mq.try_send(strURI, strlen(strURI), 0);
- }
- catch (boost::interprocess::interprocess_exception &ex) {
- }
- }
- }
-#endif
app.exec();
window.hide();
window.setClientModel(0);
window.setWalletModel(0);
guiref = 0;
- clientmodel = 0;
- walletmodel = 0;
}
// Shutdown the core and its threads, but don't exit Bitcoin-Qt here
Shutdown(NULL);
diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc
index e631a65155..b13a87dd24 100644
--- a/src/qt/bitcoin.qrc
+++ b/src/qt/bitcoin.qrc
@@ -38,30 +38,33 @@
<file alias="lock_open">res/icons/lock_open.png</file>
<file alias="key">res/icons/key.png</file>
<file alias="filesave">res/icons/filesave.png</file>
+ <file alias="qrcode">res/icons/qrcode.png</file>
+ <file alias="debugwindow">res/icons/debugwindow.png</file>
</qresource>
<qresource prefix="/images">
<file alias="about">res/images/about.png</file>
<file alias="splash">res/images/splash2.jpg</file>
- <file alias="qrcode">res/images/qrcode.png</file>
</qresource>
<qresource prefix="/movies">
<file alias="update_spinner">res/movies/update_spinner.mng</file>
</qresource>
<qresource prefix="/translations">
+ <file alias="bg">locale/bitcoin_bg.qm</file>
<file alias="ca_ES">locale/bitcoin_ca_ES.qm</file>
<file alias="cs">locale/bitcoin_cs.qm</file>
<file alias="da">locale/bitcoin_da.qm</file>
<file alias="de">locale/bitcoin_de.qm</file>
+ <file alias="el_GR">locale/bitcoin_el_GR.qm</file>
<file alias="en">locale/bitcoin_en.qm</file>
- <file alias="es_CL">locale/bitcoin_es_CL.qm</file>
<file alias="es">locale/bitcoin_es.qm</file>
+ <file alias="es_CL">locale/bitcoin_es_CL.qm</file>
<file alias="et">locale/bitcoin_et.qm</file>
<file alias="eu_ES">locale/bitcoin_eu_ES.qm</file>
- <file alias="fa_IR">locale/bitcoin_fa_IR.qm</file>
<file alias="fa">locale/bitcoin_fa.qm</file>
+ <file alias="fa_IR">locale/bitcoin_fa_IR.qm</file>
<file alias="fi">locale/bitcoin_fi.qm</file>
+ <file alias="fr">locale/bitcoin_fr.qm</file>
<file alias="fr_CA">locale/bitcoin_fr_CA.qm</file>
- <file alias="fr_FR">locale/bitcoin_fr_FR.qm</file>
<file alias="he">locale/bitcoin_he.qm</file>
<file alias="hr">locale/bitcoin_hr.qm</file>
<file alias="hu">locale/bitcoin_hu.qm</file>
@@ -71,6 +74,7 @@
<file alias="nl">locale/bitcoin_nl.qm</file>
<file alias="pl">locale/bitcoin_pl.qm</file>
<file alias="pt_BR">locale/bitcoin_pt_BR.qm</file>
+ <file alias="pt_PT">locale/bitcoin_pt_PT.qm</file>
<file alias="ro_RO">locale/bitcoin_ro_RO.qm</file>
<file alias="ru">locale/bitcoin_ru.qm</file>
<file alias="sk">locale/bitcoin_sk.qm</file>
diff --git a/src/qt/bitcoinaddressvalidator.cpp b/src/qt/bitcoinaddressvalidator.cpp
index f1cc2aaa27..5136ea0c40 100644
--- a/src/qt/bitcoinaddressvalidator.cpp
+++ b/src/qt/bitcoinaddressvalidator.cpp
@@ -25,17 +25,11 @@ QValidator::State BitcoinAddressValidator::validate(QString &input, int &pos) co
{
bool removeChar = false;
QChar ch = input.at(idx);
- // Transform characters that are visually close
+ // Corrections made are very conservative on purpose, to avoid
+ // users unexpectedly getting away with typos that would normally
+ // be detected, and thus sending to the wrong address.
switch(ch.unicode())
{
- case 'l':
- case 'I':
- input[idx] = QChar('1');
- break;
- case '0':
- case 'O':
- input[idx] = QChar('o');
- break;
// Qt categorizes these as "Other_Format" not "Separator_Space"
case 0x200B: // ZERO WIDTH SPACE
case 0xFEFF: // ZERO WIDTH NO-BREAK SPACE
diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp
index d9754b2008..0a99f1637b 100644
--- a/src/qt/bitcoingui.cpp
+++ b/src/qt/bitcoingui.cpp
@@ -8,7 +8,7 @@
#include "transactiontablemodel.h"
#include "addressbookpage.h"
#include "sendcoinsdialog.h"
-#include "messagepage.h"
+#include "signverifymessagedialog.h"
#include "optionsdialog.h"
#include "aboutdialog.h"
#include "clientmodel.h"
@@ -24,8 +24,9 @@
#include "askpassphrasedialog.h"
#include "notificator.h"
#include "guiutil.h"
+#include "rpcconsole.h"
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
#include "macdockiconhandler.h"
#endif
@@ -50,7 +51,6 @@
#include <QFileDialog>
#include <QDesktopServices>
#include <QTimer>
-
#include <QDragEnterEvent>
#include <QUrl>
#include <QStyle>
@@ -65,11 +65,13 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
changePassphraseAction(0),
aboutQtAction(0),
trayIcon(0),
- notificator(0)
+ notificator(0),
+ rpcConsole(0)
{
resize(850, 550);
- setWindowTitle(tr("Bitcoin Wallet"));
-#ifndef Q_WS_MAC
+ setWindowTitle(tr("Bitcoin") + " - " + tr("Wallet"));
+#ifndef Q_OS_MAC
+ qApp->setWindowIcon(QIcon(":icons/bitcoin"));
setWindowIcon(QIcon(":icons/bitcoin"));
#else
setUnifiedTitleAndToolBarOnMac(true);
@@ -105,7 +107,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
sendCoinsPage = new SendCoinsDialog(this);
- messagePage = new MessagePage(this);
+ signVerifyMessageDialog = new SignVerifyMessageDialog(this);
centralWidget = new QStackedWidget(this);
centralWidget->addWidget(overviewPage);
@@ -113,9 +115,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
centralWidget->addWidget(addressBookPage);
centralWidget->addWidget(receiveCoinsPage);
centralWidget->addWidget(sendCoinsPage);
-#ifdef FIRST_CLASS_MESSAGING
- centralWidget->addWidget(messagePage);
-#endif
setCentralWidget(centralWidget);
// Create status bar
@@ -164,16 +163,27 @@ BitcoinGUI::BitcoinGUI(QWidget *parent):
// 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)));
+
gotoOverviewPage();
}
BitcoinGUI::~BitcoinGUI()
{
-#ifdef Q_WS_MAC
+ if(trayIcon) // Hide tray icon, as deleting will let it linger until quit (on Ubuntu)
+ trayIcon->hide();
+#ifdef Q_OS_MAC
delete appMenuBar;
#endif
}
@@ -188,6 +198,18 @@ void BitcoinGUI::createActions()
overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1));
tabGroup->addAction(overviewAction);
+ sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send coins"), this);
+ sendCoinsAction->setToolTip(tr("Send coins to a Bitcoin address"));
+ 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->setToolTip(tr("Show the list of addresses for receiving payments"));
+ receiveCoinsAction->setCheckable(true);
+ receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3));
+ tabGroup->addAction(receiveCoinsAction);
+
historyAction = new QAction(QIcon(":/icons/history"), tr("&Transactions"), this);
historyAction->setToolTip(tr("Browse transaction history"));
historyAction->setCheckable(true);
@@ -200,76 +222,61 @@ void BitcoinGUI::createActions()
addressBookAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5));
tabGroup->addAction(addressBookAction);
- receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive coins"), this);
- receiveCoinsAction->setToolTip(tr("Show the list of addresses for receiving payments"));
- receiveCoinsAction->setCheckable(true);
- receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3));
- tabGroup->addAction(receiveCoinsAction);
-
- sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send coins"), this);
- sendCoinsAction->setToolTip(tr("Send coins to a bitcoin address"));
- sendCoinsAction->setCheckable(true);
- sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2));
- tabGroup->addAction(sendCoinsAction);
-
- messageAction = new QAction(QIcon(":/icons/edit"), tr("Sign &message"), this);
- messageAction->setToolTip(tr("Prove you control an address"));
-#ifdef FIRST_CLASS_MESSAGING
- messageAction->setCheckable(true);
-#endif
- tabGroup->addAction(messageAction);
-
connect(overviewAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
connect(overviewAction, SIGNAL(triggered()), this, SLOT(gotoOverviewPage()));
+ connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
+ connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(gotoSendCoinsPage()));
+ connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
+ connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage()));
connect(historyAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage()));
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage()));
- connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
- connect(receiveCoinsAction, SIGNAL(triggered()), this, SLOT(gotoReceiveCoinsPage()));
- connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
- connect(sendCoinsAction, SIGNAL(triggered()), this, SLOT(gotoSendCoinsPage()));
- connect(messageAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized()));
- connect(messageAction, SIGNAL(triggered()), this, SLOT(gotoMessagePage()));
quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this);
quitAction->setToolTip(tr("Quit application"));
quitAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q));
quitAction->setMenuRole(QAction::QuitRole);
- aboutAction = new QAction(QIcon(":/icons/bitcoin"), tr("&About %1").arg(qApp->applicationName()), this);
+ aboutAction = new QAction(QIcon(":/icons/bitcoin"), tr("&About Bitcoin"), this);
aboutAction->setToolTip(tr("Show information about Bitcoin"));
aboutAction->setMenuRole(QAction::AboutRole);
- aboutQtAction = new QAction(tr("About &Qt"), this);
+ aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this);
aboutQtAction->setToolTip(tr("Show information about Qt"));
aboutQtAction->setMenuRole(QAction::AboutQtRole);
optionsAction = new QAction(QIcon(":/icons/options"), tr("&Options..."), this);
- optionsAction->setToolTip(tr("Modify configuration options for bitcoin"));
+ optionsAction->setToolTip(tr("Modify configuration options for Bitcoin"));
optionsAction->setMenuRole(QAction::PreferencesRole);
- toggleHideAction = new QAction(QIcon(":/icons/bitcoin"), tr("Show/Hide &Bitcoin"), this);
- toggleHideAction->setToolTip(tr("Show or hide the Bitcoin window"));
- exportAction = new QAction(QIcon(":/icons/export"), tr("&Export..."), this);
- exportAction->setToolTip(tr("Export the data in the current tab to a file"));
- encryptWalletAction = new QAction(QIcon(":/icons/lock_closed"), tr("&Encrypt Wallet"), this);
+ toggleHideAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Show / Hide"), this);
+ encryptWalletAction = new QAction(QIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this);
encryptWalletAction->setToolTip(tr("Encrypt or decrypt wallet"));
encryptWalletAction->setCheckable(true);
- backupWalletAction = new QAction(QIcon(":/icons/filesave"), tr("&Backup Wallet"), this);
+ backupWalletAction = new QAction(QIcon(":/icons/filesave"), tr("&Backup Wallet..."), this);
backupWalletAction->setToolTip(tr("Backup wallet to another location"));
- changePassphraseAction = new QAction(QIcon(":/icons/key"), tr("&Change Passphrase"), this);
+ changePassphraseAction = new QAction(QIcon(":/icons/key"), tr("&Change Passphrase..."), this);
changePassphraseAction->setToolTip(tr("Change the passphrase used for wallet encryption"));
+ signMessageAction = new QAction(QIcon(":/icons/edit"), tr("Sign &message..."), this);
+ verifyMessageAction = new QAction(QIcon(":/icons/transaction_0"), tr("&Verify message..."), this);
+
+ exportAction = new QAction(QIcon(":/icons/export"), tr("&Export..."), this);
+ exportAction->setToolTip(tr("Export the data in the current tab to a file"));
+ openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug window"), this);
+ openRPCConsoleAction->setToolTip(tr("Open debugging and diagnostic console"));
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
- connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked()));
connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked()));
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(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab()));
+ connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab()));
}
void BitcoinGUI::createMenuBar()
{
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
// Create a decoupled menu bar on Mac which stays even if the window is closed
appMenuBar = new QMenuBar();
#else
@@ -281,9 +288,8 @@ void BitcoinGUI::createMenuBar()
QMenu *file = appMenuBar->addMenu(tr("&File"));
file->addAction(backupWalletAction);
file->addAction(exportAction);
-#ifndef FIRST_CLASS_MESSAGING
- file->addAction(messageAction);
-#endif
+ file->addAction(signMessageAction);
+ file->addAction(verifyMessageAction);
file->addSeparator();
file->addAction(quitAction);
@@ -294,6 +300,8 @@ void BitcoinGUI::createMenuBar()
settings->addAction(optionsAction);
QMenu *help = appMenuBar->addMenu(tr("&Help"));
+ help->addAction(openRPCConsoleAction);
+ help->addSeparator();
help->addAction(aboutAction);
help->addAction(aboutQtAction);
}
@@ -307,9 +315,6 @@ void BitcoinGUI::createToolBars()
toolbar->addAction(receiveCoinsAction);
toolbar->addAction(historyAction);
toolbar->addAction(addressBookAction);
-#ifdef FIRST_CLASS_MESSAGING
- toolbar->addAction(messageAction);
-#endif
QToolBar *toolbar2 = addToolBar(tr("Actions toolbar"));
toolbar2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
@@ -324,17 +329,18 @@ void BitcoinGUI::setClientModel(ClientModel *clientModel)
// Replace some strings and icons, when using the testnet
if(clientModel->isTestNet())
{
- QString title_testnet = windowTitle() + QString(" ") + tr("[testnet]");
- setWindowTitle(title_testnet);
-#ifndef Q_WS_MAC
+ setWindowTitle(windowTitle() + QString(" ") + tr("[testnet]"));
+#ifndef Q_OS_MAC
+ qApp->setWindowIcon(QIcon(":icons/bitcoin_testnet"));
setWindowIcon(QIcon(":icons/bitcoin_testnet"));
#else
MacDockIconHandler::instance()->setIcon(QIcon(":icons/bitcoin_testnet"));
#endif
if(trayIcon)
{
- trayIcon->setToolTip(title_testnet);
+ trayIcon->setToolTip(tr("Bitcoin client") + QString(" ") + tr("[testnet]"));
trayIcon->setIcon(QIcon(":/icons/toolbar_testnet"));
+ toggleHideAction->setIcon(QIcon(":/icons/toolbar_testnet"));
}
aboutAction->setIcon(QIcon(":/icons/toolbar_testnet"));
@@ -344,11 +350,15 @@ void BitcoinGUI::setClientModel(ClientModel *clientModel)
setNumConnections(clientModel->getNumConnections());
connect(clientModel, SIGNAL(numConnectionsChanged(int)), this, SLOT(setNumConnections(int)));
- setNumBlocks(clientModel->getNumBlocks());
- connect(clientModel, SIGNAL(numBlocksChanged(int)), this, SLOT(setNumBlocks(int)));
+ setNumBlocks(clientModel->getNumBlocks(), clientModel->getNumBlocksOfPeers());
+ connect(clientModel, SIGNAL(numBlocksChanged(int,int)), this, SLOT(setNumBlocks(int,int)));
// Report errors from network/worker thread
- connect(clientModel, SIGNAL(error(QString,QString, bool)), this, SLOT(error(QString,QString,bool)));
+ connect(clientModel, SIGNAL(error(QString,QString,bool)), this, SLOT(error(QString,QString,bool)));
+
+ rpcConsole->setClientModel(clientModel);
+ addressBookPage->setOptionsModel(clientModel->getOptionsModel());
+ receiveCoinsPage->setOptionsModel(clientModel->getOptionsModel());
}
}
@@ -367,7 +377,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel)
addressBookPage->setModel(walletModel->getAddressTableModel());
receiveCoinsPage->setModel(walletModel->getAddressTableModel());
sendCoinsPage->setModel(walletModel);
- messagePage->setModel(walletModel);
+ signVerifyMessageDialog->setModel(walletModel);
setEncryptionStatus(walletModel->getEncryptionStatus());
connect(walletModel, SIGNAL(encryptionStatusChanged(int)), this, SLOT(setEncryptionStatus(int)));
@@ -384,7 +394,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel)
void BitcoinGUI::createTrayIcon()
{
QMenu *trayIconMenu;
-#ifndef Q_WS_MAC
+#ifndef Q_OS_MAC
trayIcon = new QSystemTrayIcon(this);
trayIconMenu = new QMenu(this);
trayIcon->setContextMenu(trayIconMenu);
@@ -402,55 +412,33 @@ void BitcoinGUI::createTrayIcon()
// Configuration of the tray icon (or dock icon) icon menu
trayIconMenu->addAction(toggleHideAction);
trayIconMenu->addSeparator();
- trayIconMenu->addAction(messageAction);
-#ifndef FIRST_CLASS_MESSAGING
- trayIconMenu->addSeparator();
-#endif
- trayIconMenu->addAction(receiveCoinsAction);
trayIconMenu->addAction(sendCoinsAction);
+ trayIconMenu->addAction(receiveCoinsAction);
+ trayIconMenu->addSeparator();
+ trayIconMenu->addAction(signMessageAction);
+ trayIconMenu->addAction(verifyMessageAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(optionsAction);
-#ifndef Q_WS_MAC // This is built-in on Mac
+ trayIconMenu->addAction(openRPCConsoleAction);
+#ifndef Q_OS_MAC // This is built-in on Mac
trayIconMenu->addSeparator();
trayIconMenu->addAction(quitAction);
#endif
- notificator = new Notificator(tr("bitcoin-qt"), trayIcon);
+ notificator = new Notificator(qApp->applicationName(), trayIcon);
}
-#ifndef Q_WS_MAC
+#ifndef Q_OS_MAC
void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason)
{
if(reason == QSystemTrayIcon::Trigger)
{
- // Click on system tray icon triggers "show/hide bitcoin"
+ // Click on system tray icon triggers show/hide of the main window
toggleHideAction->trigger();
}
}
#endif
-void BitcoinGUI::toggleHidden()
-{
- // activateWindow() (sometimes) helps with keyboard focus on Windows
- if (isHidden())
- {
- show();
- activateWindow();
- }
- else if (isMinimized())
- {
- showNormal();
- activateWindow();
- }
- else if (GUIUtil::isObscured(this))
- {
- raise();
- activateWindow();
- }
- else
- hide();
-}
-
void BitcoinGUI::optionsClicked()
{
if(!clientModel || !clientModel->getOptionsModel())
@@ -482,9 +470,9 @@ void BitcoinGUI::setNumConnections(int count)
labelConnectionsIcon->setToolTip(tr("%n active connection(s) to Bitcoin network", "", count));
}
-void BitcoinGUI::setNumBlocks(int count)
+void BitcoinGUI::setNumBlocks(int count, int nTotalBlocks)
{
- // don't show / hide progressBar and its label if we have no connection(s) to the network
+ // don't show / hide progress bar and its label if we have no connection to the network
if (!clientModel || clientModel->getNumConnections() == 0)
{
progressBarLabel->setVisible(false);
@@ -493,7 +481,7 @@ void BitcoinGUI::setNumBlocks(int count)
return;
}
- int nTotalBlocks = clientModel->getNumBlocksOfPeers();
+ QString strStatusBarWarnings = clientModel->getStatusBarWarnings();
QString tooltip;
if(count < nTotalBlocks)
@@ -501,7 +489,7 @@ void BitcoinGUI::setNumBlocks(int count)
int nRemainingBlocks = nTotalBlocks - count;
float nPercentageDone = count / (nTotalBlocks * 0.01f);
- if (clientModel->getStatusBarWarnings() == "")
+ if (strStatusBarWarnings.isEmpty())
{
progressBarLabel->setText(tr("Synchronizing with network..."));
progressBarLabel->setVisible(true);
@@ -510,30 +498,28 @@ void BitcoinGUI::setNumBlocks(int count)
progressBar->setValue(count);
progressBar->setVisible(true);
}
- else
- {
- progressBarLabel->setText(clientModel->getStatusBarWarnings());
- progressBarLabel->setVisible(true);
- progressBar->setVisible(false);
- }
+
tooltip = tr("Downloaded %1 of %2 blocks of transaction history (%3% done).").arg(count).arg(nTotalBlocks).arg(nPercentageDone, 0, 'f', 2);
}
else
{
- if (clientModel->getStatusBarWarnings() == "")
+ if (strStatusBarWarnings.isEmpty())
progressBarLabel->setVisible(false);
- else
- {
- progressBarLabel->setText(clientModel->getStatusBarWarnings());
- progressBarLabel->setVisible(true);
- }
+
progressBar->setVisible(false);
tooltip = tr("Downloaded %1 blocks of transaction history.").arg(count);
}
- QDateTime now = QDateTime::currentDateTime();
+ // Override progressBarLabel text and hide progress bar, when we have warnings to display
+ if (!strStatusBarWarnings.isEmpty())
+ {
+ progressBarLabel->setText(strStatusBarWarnings);
+ progressBarLabel->setVisible(true);
+ progressBar->setVisible(false);
+ }
+
QDateTime lastBlockDate = clientModel->getLastBlockDate();
- int secs = lastBlockDate.secsTo(now);
+ int secs = lastBlockDate.secsTo(QDateTime::currentDateTime());
QString text;
// Represent time from last generated block in human readable text
@@ -561,22 +547,29 @@ void BitcoinGUI::setNumBlocks(int count)
// Set icon state: spinning if catching up, tick otherwise
if(secs < 90*60 && count >= nTotalBlocks)
{
- tooltip = tr("Up to date") + QString(".\n") + tooltip;
+ tooltip = tr("Up to date") + QString(".<br>") + tooltip;
labelBlocksIcon->setPixmap(QIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE));
+
+ overviewPage->showOutOfSyncWarning(false);
}
else
{
- tooltip = tr("Catching up...") + QString("\n") + tooltip;
+ tooltip = tr("Catching up...") + QString("<br>") + tooltip;
labelBlocksIcon->setMovie(syncIconMovie);
syncIconMovie->start();
+
+ overviewPage->showOutOfSyncWarning(true);
}
if(!text.isEmpty())
{
- tooltip += QString("\n");
+ tooltip += QString("<br>");
tooltip += tr("Last received block was generated %1.").arg(text);
}
+ // Don't word-wrap this (fixed-width) tooltip
+ tooltip = QString("<nobr>") + tooltip + QString("</nobr>");
+
labelBlocksIcon->setToolTip(tooltip);
progressBarLabel->setToolTip(tooltip);
progressBar->setToolTip(tooltip);
@@ -596,7 +589,7 @@ void BitcoinGUI::error(const QString &title, const QString &message, bool modal)
void BitcoinGUI::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
-#ifndef Q_WS_MAC // Ignored on Mac
+#ifndef Q_OS_MAC // Ignored on Mac
if(e->type() == QEvent::WindowStateChange)
{
if(clientModel && clientModel->getOptionsModel()->getMinimizeToTray())
@@ -616,7 +609,7 @@ void BitcoinGUI::closeEvent(QCloseEvent *event)
{
if(clientModel)
{
-#ifndef Q_WS_MAC // Ignored on Mac
+#ifndef Q_OS_MAC // Ignored on Mac
if(!clientModel->getOptionsModel()->getMinimizeToTray() &&
!clientModel->getOptionsModel()->getMinimizeOnClose())
{
@@ -633,7 +626,7 @@ void BitcoinGUI::askFee(qint64 nFeeRequired, bool *payFee)
"which goes to the nodes that process your transaction and helps to support the network. "
"Do you want to pay the fee?").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, nFeeRequired));
QMessageBox::StandardButton retval = QMessageBox::question(
- this, tr("Sending..."), strMessage,
+ this, tr("Confirm transaction fee"), strMessage,
QMessageBox::Yes|QMessageBox::Cancel, QMessageBox::Yes);
*payFee = (retval == QMessageBox::Yes);
}
@@ -721,24 +714,22 @@ void BitcoinGUI::gotoSendCoinsPage()
disconnect(exportAction, SIGNAL(triggered()), 0, 0);
}
-void BitcoinGUI::gotoMessagePage()
+void BitcoinGUI::gotoSignMessageTab(QString addr)
{
-#ifdef FIRST_CLASS_MESSAGING
- messageAction->setChecked(true);
- centralWidget->setCurrentWidget(messagePage);
+ // call show() in showTab_SM()
+ signVerifyMessageDialog->showTab_SM(true);
- exportAction->setEnabled(false);
- disconnect(exportAction, SIGNAL(triggered()), 0, 0);
-#else
- messagePage->show();
- messagePage->setFocus();
-#endif
+ if(!addr.isEmpty())
+ signVerifyMessageDialog->setAddress_SM(addr);
}
-void BitcoinGUI::gotoMessagePage(QString addr)
+void BitcoinGUI::gotoVerifyMessageTab(QString addr)
{
- gotoMessagePage();
- messagePage->setAddress(addr);
+ // call show() in showTab_VM()
+ signVerifyMessageDialog->showTab_VM(true);
+
+ if(!addr.isEmpty())
+ signVerifyMessageDialog->setAddress_VM(addr);
}
void BitcoinGUI::dragEnterEvent(QDragEnterEvent *event)
@@ -752,12 +743,19 @@ void BitcoinGUI::dropEvent(QDropEvent *event)
{
if(event->mimeData()->hasUrls())
{
- gotoSendCoinsPage();
+ int nValidUrisFound = 0;
QList<QUrl> uris = event->mimeData()->urls();
foreach(const QUrl &uri, uris)
{
- sendCoinsPage->handleURI(uri.toString());
+ if (sendCoinsPage->handleURI(uri.toString()))
+ nValidUrisFound++;
}
+
+ // if valid URIs were found
+ if (nValidUrisFound)
+ gotoSendCoinsPage();
+ else
+ notificator->notify(Notificator::Warning, tr("URI handling"), tr("URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters."));
}
event->acceptProposedAction();
@@ -765,13 +763,14 @@ void BitcoinGUI::dropEvent(QDropEvent *event)
void BitcoinGUI::handleURI(QString strURI)
{
- gotoSendCoinsPage();
- sendCoinsPage->handleURI(strURI);
-
- if(!isActiveWindow())
- activateWindow();
-
- showNormalIfMinimized();
+ // URI has to be valid
+ if (sendCoinsPage->handleURI(strURI))
+ {
+ showNormalIfMinimized();
+ gotoSendCoinsPage();
+ }
+ else
+ notificator->notify(Notificator::Warning, tr("URI handling"), tr("URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters."));
}
void BitcoinGUI::setEncryptionStatus(int status)
@@ -846,10 +845,29 @@ void BitcoinGUI::unlockWallet()
}
}
-void BitcoinGUI::showNormalIfMinimized()
+void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden)
{
- if(!isVisible()) // Show, if hidden
+ // activateWindow() (sometimes) helps with keyboard focus on Windows
+ if (isHidden())
+ {
show();
- if(isMinimized()) // Unminimize, if minimized
+ activateWindow();
+ }
+ else if (isMinimized())
+ {
showNormal();
+ activateWindow();
+ }
+ else if (GUIUtil::isObscured(this))
+ {
+ raise();
+ activateWindow();
+ }
+ else if(fToggleHidden)
+ hide();
+}
+
+void BitcoinGUI::toggleHidden()
+{
+ showNormalIfMinimized(true);
}
diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h
index 1db43e4ad6..6ebf449671 100644
--- a/src/qt/bitcoingui.h
+++ b/src/qt/bitcoingui.h
@@ -11,8 +11,9 @@ class TransactionView;
class OverviewPage;
class AddressBookPage;
class SendCoinsDialog;
-class MessagePage;
+class SignVerifyMessageDialog;
class Notificator;
+class RPCConsole;
QT_BEGIN_NAMESPACE
class QLabel;
@@ -45,7 +46,7 @@ public:
functionality.
*/
void setWalletModel(WalletModel *walletModel);
-
+
protected:
void changeEvent(QEvent *e);
void closeEvent(QCloseEvent *event);
@@ -63,7 +64,7 @@ private:
AddressBookPage *addressBookPage;
AddressBookPage *receiveCoinsPage;
SendCoinsDialog *sendCoinsPage;
- MessagePage *messagePage;
+ SignVerifyMessageDialog *signVerifyMessageDialog;
QLabel *labelEncryptionIcon;
QLabel *labelConnectionsIcon;
@@ -77,7 +78,8 @@ private:
QAction *quitAction;
QAction *sendCoinsAction;
QAction *addressBookAction;
- QAction *messageAction;
+ QAction *signMessageAction;
+ QAction *verifyMessageAction;
QAction *aboutAction;
QAction *receiveCoinsAction;
QAction *optionsAction;
@@ -87,10 +89,12 @@ private:
QAction *backupWalletAction;
QAction *changePassphraseAction;
QAction *aboutQtAction;
+ QAction *openRPCConsoleAction;
QSystemTrayIcon *trayIcon;
Notificator *notificator;
TransactionView *transactionView;
+ RPCConsole *rpcConsole;
QMovie *syncIconMovie;
@@ -107,7 +111,7 @@ public slots:
/** Set number of connections shown in the UI */
void setNumConnections(int count);
/** Set number of blocks shown in the UI */
- void setNumBlocks(int count);
+ void setNumBlocks(int count, int nTotalBlocks);
/** Set the encryption status as shown in the UI.
@param[in] status current encryption status
@see WalletModel::EncryptionStatus
@@ -127,9 +131,6 @@ public slots:
void askFee(qint64 nFeeRequired, bool *payFee);
void handleURI(QString strURI);
- void gotoMessagePage();
- void gotoMessagePage(QString);
-
private slots:
/** Switch to overview (home) page */
void gotoOverviewPage();
@@ -142,11 +143,16 @@ private slots:
/** Switch to send coins page */
void gotoSendCoinsPage();
+ /** 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 configuration dialog */
void optionsClicked();
/** Show about dialog */
void aboutClicked();
-#ifndef Q_WS_MAC
+#ifndef Q_OS_MAC
/** Handle tray icon clicked */
void trayIconActivated(QSystemTrayIcon::ActivationReason reason);
#endif
@@ -164,9 +170,9 @@ private slots:
/** Ask for passphrase to unlock wallet temporarily */
void unlockWallet();
- /** Show window if hidden, unminimize when minimized */
- void showNormalIfMinimized();
- /** Hide window if visible, show if hidden */
+ /** 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();
};
diff --git a/src/qt/bitcoinstrings.cpp b/src/qt/bitcoinstrings.cpp
index c893f9831e..d1eaed702b 100644
--- a/src/qt/bitcoinstrings.cpp
+++ b/src/qt/bitcoinstrings.cpp
@@ -5,20 +5,7 @@
#else
#define UNUSED
#endif
-static const char UNUSED *bitcoin_strings[] = {QT_TRANSLATE_NOOP("bitcoin-core", "Error: Wallet locked, unable to create transaction."),
-QT_TRANSLATE_NOOP("bitcoin-core", ""
-"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", "Error: Transaction creation failed."),
-QT_TRANSLATE_NOOP("bitcoin-core", "Sending..."),
-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."),
-QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Insufficient funds"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Warning: Disk space is low"),
-QT_TRANSLATE_NOOP("bitcoin-core", "To use the %s option"),
+static const char UNUSED *bitcoin_strings[] = {
QT_TRANSLATE_NOOP("bitcoin-core", ""
"%s, you must set a rpcpassword in the configuration file:\n"
" %s\n"
@@ -28,109 +15,162 @@ QT_TRANSLATE_NOOP("bitcoin-core", ""
"(you do not need to remember this password)\n"
"If the file does not exist, create it with owner-readable-only file "
"permissions.\n"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Error"),
-QT_TRANSLATE_NOOP("bitcoin-core", "An error occurred while setting up the RPC port %u for listening: %s"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
-"You must set rpcpassword=<password> in the configuration file:\n"
-"%s\n"
-"If the file does not exist, create it with owner-readable-only file "
-"permissions."),
+"Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:"
+"@STRENGTH)"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Warning: Please check that your computer's date and time are correct. If "
-"your clock is wrong Bitcoin will not work properly."),
-QT_TRANSLATE_NOOP("bitcoin-core", "Bitcoin version"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Usage:"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Send command to -server or bitcoind"),
-QT_TRANSLATE_NOOP("bitcoin-core", "List commands"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Get help for a command"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Options:"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Specify configuration file (default: bitcoin.conf)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Specify pid file (default: bitcoind.pid)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Generate coins"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Don't generate coins"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Start minimized"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Show splash screen on startup (default: 1)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Specify data directory"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Set database cache size in megabytes (default: 25)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Set database disk log size in megabytes (default: 100)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Specify connection timeout (in milliseconds)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Connect through socks4 proxy"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Allow DNS lookups for addnode and connect"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Listen for connections on <port> (default: 8333 or testnet: 18333)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Maintain at most <n> connections to peers (default: 125)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Add a node to connect to and attempt to keep the connection open"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Connect only to the specified node"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Find peers using internet relay chat (default: 0)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Accept connections from outside (default: 1)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Set language, for example \"de_DE\" (default: system locale)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Find peers using DNS lookup (default: 1)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Threshold for disconnecting misbehaving peers (default: 100)"),
+"An error occurred while setting up the RPC port %u for listening on IPv4: %s"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Number of seconds to keep misbehaving peers from reconnecting (default: "
-"86400)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Maximum per-connection receive buffer, <n>*1000 bytes (default: 10000)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Maximum per-connection send buffer, <n>*1000 bytes (default: 10000)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Use Universal Plug and Play to map the listening port (default: 1)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Use Universal Plug and Play to map the listening port (default: 0)"),
+"An error occurred while setting up the RPC port %u for listening on IPv6, "
+"falling back to IPv4: %s"),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Cannot obtain a lock on data directory %s. Bitcoin is probably already "
+"running."),
QT_TRANSLATE_NOOP("bitcoin-core", ""
"Detach block and address databases. Increases shutdown time (default: 0)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Fee per KB to add to transactions you send"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Accept command line and JSON-RPC commands"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Run in the background as a daemon and accept commands"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Use the test network"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Output extra debugging information"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Prepend debug output with timestamp"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to console instead of debug.log file"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to debugger"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Username for JSON-RPC connections"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Password for JSON-RPC connections"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Listen for JSON-RPC connections on <port> (default: 8332)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Allow JSON-RPC connections from specified IP address"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Send commands to node running on <ip> (default: 127.0.0.1)"),
+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."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"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 the best block changes (%s in cmd is replaced by block "
"hash)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Upgrade wallet to latest format"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Set key pool size to <n> (default: 100)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Rescan the block chain for missing wallet transactions"),
-QT_TRANSLATE_NOOP("bitcoin-core", "How many blocks to check at startup (default: 2500, 0 = all)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "How thorough the block verification is (0-6, default: 1)"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
-"\n"
-"SSL options: (see the Bitcoin Wiki for SSL setup instructions)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Use OpenSSL (https) for JSON-RPC connections"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Server certificate file (default: server.cert)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Server private key (default: server.pem)"),
+"Listen for JSON-RPC connections on <port> (default: 8332 or testnet: 18332)"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:"
-"@STRENGTH)"),
-QT_TRANSLATE_NOOP("bitcoin-core", "This help message"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Usage"),
+"Number of seconds to keep misbehaving peers from reconnecting (default: "
+"86400)"),
QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Cannot obtain a lock on data directory %s. Bitcoin is probably already "
-"running."),
+"Set maximum size of high-priority/low-fee transactions in bytes (default: "
+"27000)"),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Unable to bind to %s on this computer. Bitcoin is probably already running."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Warning: -paytxfee is set very high! This is the transaction fee you will "
+"pay if you send a transaction."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Warning: Displayed transactions may not be correct! You may need to upgrade, "
+"or other nodes may need to upgrade."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Warning: Please check that your computer's date and time are correct! If "
+"your clock is wrong Bitcoin will not work properly."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"Warning: error reading wallet.dat! All keys read correctly, but transaction "
+"data or address book entries might be missing or incorrect."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"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."),
+QT_TRANSLATE_NOOP("bitcoin-core", ""
+"You must set rpcpassword=<password> in the configuration file:\n"
+"%s\n"
+"If the file does not exist, create it with owner-readable-only file "
+"permissions."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Accept command line and JSON-RPC commands"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Accept connections from outside (default: 1 if no -proxy or -connect)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Add a node to connect to and attempt to keep the connection open"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Allow DNS lookups for -addnode, -seednode and -connect"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Allow JSON-RPC connections from specified IP address"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Attempt to recover private keys from a corrupt wallet.dat"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Bind to given address. Use [host]:port notation for IPv6"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Bitcoin version"),
QT_TRANSLATE_NOOP("bitcoin-core", "Bitcoin"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Loading addresses..."),
-QT_TRANSLATE_NOOP("bitcoin-core", "Error loading addr.dat"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Loading block index..."),
-QT_TRANSLATE_NOOP("bitcoin-core", "Error loading blkindex.dat"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Loading wallet..."),
-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", "Wallet needed to be rewritten: restart Bitcoin to complete"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Error loading wallet.dat"),
+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", "Rescanning..."),
+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", "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", "Done loading"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Invalid -proxy address"),
-QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -paytxfee=<amount>"),
-QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Warning: -paytxfee is set very high. This is the transaction fee you will "
-"pay if you send a transaction."),
-QT_TRANSLATE_NOOP("bitcoin-core", "Error: CreateThread(StartNode) failed"),
-QT_TRANSLATE_NOOP("bitcoin-core", ""
-"Unable to bind to port %d on this computer. Bitcoin is probably already "
-"running."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Error loading blkindex.dat"),
+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"),
+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", "Failed to listen on any port. Use -listen=0 if you want this."),
+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", "Get help for a command"),
+QT_TRANSLATE_NOOP("bitcoin-core", "How many blocks to check at startup (default: 2500, 0 = all)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "How thorough the block verification is (0-6, default: 1)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Importing blockchain data file."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Importing bootstrap blockchain data file."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Imports blocks from external blk000?.dat file"),
+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 -paytxfee=<amount>: '%s'"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount"),
+QT_TRANSLATE_NOOP("bitcoin-core", "List commands"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Listen for connections on <port> (default: 8333 or testnet: 18333)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Loading addresses..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Loading block index..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Loading wallet..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Maintain at most <n> connections to peers (default: 125)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Only connect to nodes in network <net> (IPv4, IPv6 or Tor)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Options:"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Output extra debugging information. Implies all other -debug* options"),
+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", "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"),
+QT_TRANSLATE_NOOP("bitcoin-core", "SSL options: (see the Bitcoin Wiki for SSL setup instructions)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Select the version of socks proxy to use (4-5, default: 5)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Send command to -server or bitcoind"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Send commands to node running on <ip> (default: 127.0.0.1)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to console instead of debug.log file"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Send trace/debug info to debugger"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Sending..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Server certificate file (default: server.cert)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Server private key (default: server.pem)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Set database cache size in megabytes (default: 25)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Set database disk log size in megabytes (default: 100)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Set key pool size to <n> (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", "Shrink debug.log file on client startup (default: 1 when no -debug)"),
+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"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Specify pid file (default: bitcoind.pid)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Specify your own public address"),
+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", "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'"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Upgrade wallet to latest format"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Usage:"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Use OpenSSL (https) for JSON-RPC connections"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Use UPnP to map the listening port (default: 0)"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Use UPnP to map the listening port (default: 1 when listening)"),
+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 database integrity..."),
+QT_TRANSLATE_NOOP("bitcoin-core", "Wallet needed to be rewritten: restart Bitcoin to complete"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Warning: Disk space is low!"),
+QT_TRANSLATE_NOOP("bitcoin-core", "Warning: This version is obsolete, upgrade required!"),
+QT_TRANSLATE_NOOP("bitcoin-core", "wallet.dat corrupt, salvage failed"),
}; \ No newline at end of file
diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp
index cb602ce327..b820d16abf 100644
--- a/src/qt/clientmodel.cpp
+++ b/src/qt/clientmodel.cpp
@@ -4,15 +4,32 @@
#include "addresstablemodel.h"
#include "transactiontablemodel.h"
+#include "alert.h"
#include "main.h"
+#include "ui_interface.h"
#include <QDateTime>
+#include <QTimer>
+
+static const int64 nClientStartupTime = GetTime();
ClientModel::ClientModel(OptionsModel *optionsModel, QObject *parent) :
QObject(parent), optionsModel(optionsModel),
- cachedNumConnections(0), cachedNumBlocks(0)
+ cachedNumBlocks(0), cachedNumBlocksOfPeers(0), pollTimer(0)
{
numBlocksAtStartup = -1;
+
+ pollTimer = new QTimer(this);
+ pollTimer->setInterval(MODEL_UPDATE_DELAY);
+ pollTimer->start();
+ connect(pollTimer, SIGNAL(timeout()), this, SLOT(updateTimer()));
+
+ subscribeToCoreSignals();
+}
+
+ClientModel::~ClientModel()
+{
+ unsubscribeFromCoreSignals();
}
int ClientModel::getNumConnections() const
@@ -36,27 +53,44 @@ QDateTime ClientModel::getLastBlockDate() const
return QDateTime::fromTime_t(pindexBest->GetBlockTime());
}
-void ClientModel::update()
+void ClientModel::updateTimer()
{
- int newNumConnections = getNumConnections();
+ // Some quantities (such as number of blocks) change so fast that we don't want to be notified for each change.
+ // Periodically check and update with a timer.
int newNumBlocks = getNumBlocks();
- QString newStatusBar = getStatusBarWarnings();
+ int newNumBlocksOfPeers = getNumBlocksOfPeers();
+
+ if(cachedNumBlocks != newNumBlocks || cachedNumBlocksOfPeers != newNumBlocksOfPeers)
+ {
+ cachedNumBlocks = newNumBlocks;
+ cachedNumBlocksOfPeers = newNumBlocksOfPeers;
+
+ emit numBlocksChanged(newNumBlocks, newNumBlocksOfPeers);
+ }
+}
+
+void ClientModel::updateNumConnections(int numConnections)
+{
+ emit numConnectionsChanged(numConnections);
+}
- if(cachedNumConnections != newNumConnections)
- emit numConnectionsChanged(newNumConnections);
- if(cachedNumBlocks != newNumBlocks || cachedStatusBar != newStatusBar)
+void ClientModel::updateAlert(const QString &hash, int status)
+{
+ // Show error message notification for new alert
+ if(status == CT_NEW)
{
- // Simply emit a numBlocksChanged for now in case the status message changes,
- // so that the view updates the status bar.
- // TODO: It should send a notification.
- // (However, this might generate looped notifications and needs to be thought through and tested carefully)
- // error(tr("Network Alert"), newStatusBar);
- emit numBlocksChanged(newNumBlocks);
+ uint256 hash_256;
+ hash_256.SetHex(hash.toStdString());
+ CAlert alert = CAlert::getAlertByHash(hash_256);
+ if(!alert.IsNull())
+ {
+ emit error(tr("Network Alert"), QString::fromStdString(alert.strStatusBar), false);
+ }
}
- cachedNumConnections = newNumConnections;
- cachedNumBlocks = newNumBlocks;
- cachedStatusBar = newStatusBar;
+ // Emit a numBlocksChanged when the status message changes,
+ // so that the view recomputes and updates the status bar.
+ emit numBlocksChanged(getNumBlocks(), getNumBlocksOfPeers());
}
bool ClientModel::isTestNet() const
@@ -93,3 +127,51 @@ QString ClientModel::formatBuildDate() const
{
return QString::fromStdString(CLIENT_DATE);
}
+
+QString ClientModel::clientName() const
+{
+ return QString::fromStdString(CLIENT_NAME);
+}
+
+QString ClientModel::formatClientStartupTime() const
+{
+ return QDateTime::fromTime_t(nClientStartupTime).toString();
+}
+
+// Handlers for core signals
+static void NotifyBlocksChanged(ClientModel *clientmodel)
+{
+ // This notification is too frequent. Don't trigger a signal.
+ // Don't remove it, though, as it might be useful later.
+}
+
+static void NotifyNumConnectionsChanged(ClientModel *clientmodel, int newNumConnections)
+{
+ // Too noisy: OutputDebugStringF("NotifyNumConnectionsChanged %i\n", newNumConnections);
+ QMetaObject::invokeMethod(clientmodel, "updateNumConnections", Qt::QueuedConnection,
+ Q_ARG(int, newNumConnections));
+}
+
+static void NotifyAlertChanged(ClientModel *clientmodel, const uint256 &hash, ChangeType status)
+{
+ OutputDebugStringF("NotifyAlertChanged %s status=%i\n", hash.GetHex().c_str(), status);
+ QMetaObject::invokeMethod(clientmodel, "updateAlert", Qt::QueuedConnection,
+ Q_ARG(QString, QString::fromStdString(hash.GetHex())),
+ Q_ARG(int, status));
+}
+
+void ClientModel::subscribeToCoreSignals()
+{
+ // Connect signals to client
+ uiInterface.NotifyBlocksChanged.connect(boost::bind(NotifyBlocksChanged, this));
+ uiInterface.NotifyNumConnectionsChanged.connect(boost::bind(NotifyNumConnectionsChanged, this, _1));
+ uiInterface.NotifyAlertChanged.connect(boost::bind(NotifyAlertChanged, this, _1, _2));
+}
+
+void ClientModel::unsubscribeFromCoreSignals()
+{
+ // Disconnect signals from client
+ uiInterface.NotifyBlocksChanged.disconnect(boost::bind(NotifyBlocksChanged, this));
+ uiInterface.NotifyNumConnectionsChanged.disconnect(boost::bind(NotifyNumConnectionsChanged, this, _1));
+ uiInterface.NotifyAlertChanged.disconnect(boost::bind(NotifyAlertChanged, this, _1, _2));
+}
diff --git a/src/qt/clientmodel.h b/src/qt/clientmodel.h
index 8e7431a2f3..70d816ba9d 100644
--- a/src/qt/clientmodel.h
+++ b/src/qt/clientmodel.h
@@ -10,6 +10,7 @@ class CWallet;
QT_BEGIN_NAMESPACE
class QDateTime;
+class QTimer;
QT_END_NAMESPACE
/** Model for Bitcoin network client. */
@@ -18,6 +19,7 @@ class ClientModel : public QObject
Q_OBJECT
public:
explicit ClientModel(OptionsModel *optionsModel, QObject *parent = 0);
+ ~ClientModel();
OptionsModel *getOptionsModel();
@@ -38,27 +40,32 @@ public:
QString formatFullVersion() const;
QString formatBuildDate() const;
+ QString clientName() const;
+ QString formatClientStartupTime() const;
private:
OptionsModel *optionsModel;
- int cachedNumConnections;
int cachedNumBlocks;
- QString cachedStatusBar;
+ int cachedNumBlocksOfPeers;
int numBlocksAtStartup;
+ QTimer *pollTimer;
+
+ void subscribeToCoreSignals();
+ void unsubscribeFromCoreSignals();
signals:
void numConnectionsChanged(int count);
- void numBlocksChanged(int count);
+ void numBlocksChanged(int count, int countOfPeers);
//! Asynchronous error notification
void error(const QString &title, const QString &message, bool modal);
public slots:
-
-private slots:
- void update();
+ void updateTimer();
+ void updateNumConnections(int numConnections);
+ void updateAlert(const QString &hash, int status);
};
#endif // CLIENTMODEL_H
diff --git a/src/qt/editaddressdialog.cpp b/src/qt/editaddressdialog.cpp
index cecb8aecd7..0d88aa47cb 100644
--- a/src/qt/editaddressdialog.cpp
+++ b/src/qt/editaddressdialog.cpp
@@ -93,7 +93,7 @@ void EditAddressDialog::accept()
break;
case AddressTableModel::INVALID_ADDRESS:
QMessageBox::warning(this, windowTitle(),
- tr("The entered address \"%1\" is not a valid bitcoin address.").arg(ui->addressEdit->text()),
+ tr("The entered address \"%1\" is not a valid Bitcoin address.").arg(ui->addressEdit->text()),
QMessageBox::Ok, QMessageBox::Ok);
return;
case AddressTableModel::WALLET_UNLOCK_FAILURE:
diff --git a/src/qt/forms/aboutdialog.ui b/src/qt/forms/aboutdialog.ui
index 6e342e5e8a..b59c2445de 100644
--- a/src/qt/forms/aboutdialog.ui
+++ b/src/qt/forms/aboutdialog.ui
@@ -22,9 +22,6 @@
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="text">
- <string/>
- </property>
<property name="pixmap">
<pixmap resource="../bitcoin.qrc">:/images/about</pixmap>
</property>
@@ -49,6 +46,9 @@
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
<property name="text">
<string>&lt;b&gt;Bitcoin&lt;/b&gt; version</string>
</property>
@@ -59,12 +59,12 @@
</item>
<item>
<widget class="QLabel" name="versionLabel">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
<property name="text">
<string notr="true">0.3.666-beta</string>
</property>
- <property name="textFormat">
- <enum>Qt::RichText</enum>
- </property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
@@ -86,13 +86,28 @@
</layout>
</item>
<item>
+ <widget class="QLabel" name="copyrightLabel">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>Copyright © 2009-2012 The Bitcoin developers</string>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QLabel" name="label_2">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
<property name="text">
- <string>Copyright © 2009-2012 Bitcoin Developers
-
+ <string>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</string>
</property>
diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui
index 15a8f31996..71ab75ca3f 100644
--- a/src/qt/forms/addressbookpage.ui
+++ b/src/qt/forms/addressbookpage.ui
@@ -17,10 +17,10 @@
<item>
<widget class="QLabel" name="labelExplanation">
<property name="text">
- <string>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.</string>
+ <string>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.</string>
</property>
<property name="textFormat">
- <enum>Qt::AutoText</enum>
+ <enum>Qt::PlainText</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
@@ -29,9 +29,15 @@
</item>
<item>
<widget class="QTableView" name="tableView">
+ <property name="contextMenuPolicy">
+ <enum>Qt::CustomContextMenu</enum>
+ </property>
<property name="toolTip">
<string>Double-click to edit address or label</string>
</property>
+ <property name="tabKeyNavigation">
+ <bool>false</bool>
+ </property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
@@ -57,7 +63,7 @@
<string>Create a new address</string>
</property>
<property name="text">
- <string>&amp;New Address...</string>
+ <string>&amp;New Address</string>
</property>
<property name="icon">
<iconset resource="../bitcoin.qrc">
@@ -71,7 +77,7 @@
<string>Copy the currently selected address to the system clipboard</string>
</property>
<property name="text">
- <string>&amp;Copy to Clipboard</string>
+ <string>&amp;Copy Address</string>
</property>
<property name="icon">
<iconset resource="../bitcoin.qrc">
@@ -86,14 +92,14 @@
</property>
<property name="icon">
<iconset resource="../bitcoin.qrc">
- <normaloff>:/images/qrcode</normaloff>:/images/qrcode</iconset>
+ <normaloff>:/icons/qrcode</normaloff>:/icons/qrcode</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="signMessage">
<property name="toolTip">
- <string>Sign a message to prove you own this address</string>
+ <string>Sign a message to prove you own a Bitcoin address</string>
</property>
<property name="text">
<string>Sign &amp;Message</string>
@@ -105,9 +111,23 @@
</widget>
</item>
<item>
+ <widget class="QPushButton" name="verifyMessage">
+ <property name="toolTip">
+ <string>Verify a message to ensure it was signed with a specified Bitcoin address</string>
+ </property>
+ <property name="text">
+ <string>&amp;Verify Message</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/transaction_0</normaloff>:/icons/transaction_0</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QPushButton" name="deleteButton">
<property name="toolTip">
- <string>Delete the currently selected address from the list. Only sending addresses can be deleted.</string>
+ <string>Delete the currently selected address from the list</string>
</property>
<property name="text">
<string>&amp;Delete</string>
diff --git a/src/qt/forms/askpassphrasedialog.ui b/src/qt/forms/askpassphrasedialog.ui
index ff3a77165b..25169042a1 100644
--- a/src/qt/forms/askpassphrasedialog.ui
+++ b/src/qt/forms/askpassphrasedialog.ui
@@ -23,7 +23,7 @@
</size>
</property>
<property name="windowTitle">
- <string>Dialog</string>
+ <string>Passphrase Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
@@ -41,57 +41,58 @@
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
- <item row="1" column="0">
+ <item row="0" column="0">
<widget class="QLabel" name="passLabel1">
<property name="text">
<string>Enter passphrase</string>
</property>
</widget>
</item>
- <item row="1" column="1">
+ <item row="0" column="1">
<widget class="QLineEdit" name="passEdit1">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
- <item row="2" column="0">
+ <item row="1" column="0">
<widget class="QLabel" name="passLabel2">
<property name="text">
<string>New passphrase</string>
</property>
</widget>
</item>
- <item row="2" column="1">
+ <item row="1" column="1">
<widget class="QLineEdit" name="passEdit2">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
- <item row="3" column="0">
+ <item row="2" column="0">
<widget class="QLabel" name="passLabel3">
<property name="text">
<string>Repeat new passphrase</string>
</property>
</widget>
</item>
- <item row="3" column="1">
+ <item row="2" column="1">
<widget class="QLineEdit" name="passEdit3">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
- <item row="4" column="1">
+ <item row="3" column="1">
<widget class="QLabel" name="capsLabel">
- <property name="styleSheet">
- <string notr="true">#capsLabel {
- font: bold;
-}</string>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
</property>
<property name="text">
- <string>TextLabel</string>
+ <string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
diff --git a/src/qt/forms/messagepage.ui b/src/qt/forms/messagepage.ui
deleted file mode 100644
index ae1e062fca..0000000000
--- a/src/qt/forms/messagepage.ui
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MessagePage</class>
- <widget class="QWidget" name="MessagePage">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>627</width>
- <height>380</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Message</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QLabel" name="labelExplanation">
- <property name="text">
- <string>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.</string>
- </property>
- <property name="textFormat">
- <enum>Qt::AutoText</enum>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <widget class="QValidatedLineEdit" name="signFrom">
- <property name="toolTip">
- <string>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</string>
- </property>
- <property name="maxLength">
- <number>34</number>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="addressBookButton">
- <property name="toolTip">
- <string>Choose adress from address book</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
- </property>
- <property name="shortcut">
- <string>Alt+A</string>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- <property name="flat">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="pasteButton">
- <property name="toolTip">
- <string>Paste address from clipboard</string>
- </property>
- <property name="text">
- <string/>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
- </property>
- <property name="shortcut">
- <string>Alt+P</string>
- </property>
- <property name="autoDefault">
- <bool>false</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QPlainTextEdit" name="message">
- <property name="toolTip">
- <string>Enter the message you want to sign here</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="signature">
- <property name="font">
- <font>
- <italic>true</italic>
- </font>
- </property>
- <property name="text">
- <string>Click &quot;Sign Message&quot; to get signature</string>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QPushButton" name="signMessage">
- <property name="toolTip">
- <string>Sign a message to prove you own this address</string>
- </property>
- <property name="text">
- <string>&amp;Sign Message</string>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/edit</normaloff>:/icons/edit</iconset>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="copyToClipboard">
- <property name="toolTip">
- <string>Copy the current signature to the system clipboard</string>
- </property>
- <property name="text">
- <string>&amp;Copy to Clipboard</string>
- </property>
- <property name="icon">
- <iconset resource="../bitcoin.qrc">
- <normaloff>:/icons/editcopy</normaloff>:/icons/editcopy</iconset>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <customwidgets>
- <customwidget>
- <class>QValidatedLineEdit</class>
- <extends>QLineEdit</extends>
- <header>qvalidatedlineedit.h</header>
- </customwidget>
- </customwidgets>
- <resources>
- <include location="../bitcoin.qrc"/>
- </resources>
- <connections/>
-</ui>
diff --git a/src/qt/forms/optionsdialog.ui b/src/qt/forms/optionsdialog.ui
new file mode 100644
index 0000000000..1b81b0cdc8
--- /dev/null
+++ b/src/qt/forms/optionsdialog.ui
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>OptionsDialog</class>
+ <widget class="QDialog" name="OptionsDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>540</width>
+ <height>380</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Options</string>
+ </property>
+ <property name="modal">
+ <bool>true</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="tabPosition">
+ <enum>QTabWidget::North</enum>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tabMain">
+ <attribute name="title">
+ <string>&amp;Main</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_Main">
+ <item>
+ <widget class="QLabel" name="transactionFeeInfoLabel">
+ <property name="text">
+ <string>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_Main">
+ <item>
+ <widget class="QLabel" name="transactionFeeLabel">
+ <property name="text">
+ <string>Pay transaction &amp;fee</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="buddy">
+ <cstring>transactionFee</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="BitcoinAmountField" name="transactionFee"/>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_Main">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="bitcoinAtStartup">
+ <property name="toolTip">
+ <string>Automatically start Bitcoin after logging in to the system.</string>
+ </property>
+ <property name="text">
+ <string>&amp;Start Bitcoin on system login</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="detachDatabases">
+ <property name="toolTip">
+ <string>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</string>
+ </property>
+ <property name="text">
+ <string>&amp;Detach databases at shutdown</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_Main">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabNetwork">
+ <attribute name="title">
+ <string>&amp;Network</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_Network">
+ <item>
+ <widget class="QCheckBox" name="mapPortUpnp">
+ <property name="toolTip">
+ <string>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</string>
+ </property>
+ <property name="text">
+ <string>Map port using &amp;UPnP</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="connectSocks">
+ <property name="toolTip">
+ <string>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</string>
+ </property>
+ <property name="text">
+ <string>&amp;Connect through SOCKS proxy:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_Network">
+ <item>
+ <widget class="QLabel" name="proxyIpLabel">
+ <property name="text">
+ <string>Proxy &amp;IP:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="buddy">
+ <cstring>proxyIp</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QValidatedLineEdit" name="proxyIp">
+ <property name="maximumSize">
+ <size>
+ <width>140</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>IP address of the proxy (e.g. 127.0.0.1)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="proxyPortLabel">
+ <property name="text">
+ <string>&amp;Port:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="buddy">
+ <cstring>proxyPort</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="proxyPort">
+ <property name="maximumSize">
+ <size>
+ <width>55</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Port of the proxy (e.g. 9050)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="socksVersionLabel">
+ <property name="text">
+ <string>SOCKS &amp;Version:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="buddy">
+ <cstring>socksVersion</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QValueComboBox" name="socksVersion">
+ <property name="toolTip">
+ <string>SOCKS version of the proxy (e.g. 5)</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_Network">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_Network">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabWindow">
+ <attribute name="title">
+ <string>&amp;Window</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_Window">
+ <item>
+ <widget class="QCheckBox" name="minimizeToTray">
+ <property name="toolTip">
+ <string>Show only a tray icon after minimizing the window.</string>
+ </property>
+ <property name="text">
+ <string>&amp;Minimize to the tray instead of the taskbar</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="minimizeOnClose">
+ <property name="toolTip">
+ <string>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.</string>
+ </property>
+ <property name="text">
+ <string>M&amp;inimize on close</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_Window">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabDisplay">
+ <attribute name="title">
+ <string>&amp;Display</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_Display">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_1_Display">
+ <item>
+ <widget class="QLabel" name="langLabel">
+ <property name="text">
+ <string>User Interface &amp;language:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="buddy">
+ <cstring>lang</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QValueComboBox" name="lang">
+ <property name="toolTip">
+ <string>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2_Display">
+ <item>
+ <widget class="QLabel" name="unitLabel">
+ <property name="text">
+ <string>&amp;Unit to show amounts in:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="buddy">
+ <cstring>unit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QValueComboBox" name="unit">
+ <property name="toolTip">
+ <string>Choose the default subdivision unit to show in the interface and when sending coins.</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="displayAddresses">
+ <property name="toolTip">
+ <string>Whether to show Bitcoin addresses in the transaction list or not.</string>
+ </property>
+ <property name="text">
+ <string>&amp;Display addresses in transaction list</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer_Display">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_Buttons">
+ <item>
+ <spacer name="horizontalSpacer_1">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="statusLabel">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="okButton">
+ <property name="text">
+ <string>&amp;OK</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="cancelButton">
+ <property name="text">
+ <string>&amp;Cancel</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="applyButton">
+ <property name="text">
+ <string>&amp;Apply</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>BitcoinAmountField</class>
+ <extends>QSpinBox</extends>
+ <header>bitcoinamountfield.h</header>
+ </customwidget>
+ <customwidget>
+ <class>QValueComboBox</class>
+ <extends>QComboBox</extends>
+ <header>qvaluecombobox.h</header>
+ </customwidget>
+ <customwidget>
+ <class>QValidatedLineEdit</class>
+ <extends>QLineEdit</extends>
+ <header>qvalidatedlineedit.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui
index 10e470e918..98cb63e9ff 100644
--- a/src/qt/forms/overviewpage.ui
+++ b/src/qt/forms/overviewpage.ui
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>552</width>
+ <width>573</width>
<height>342</height>
</rect>
</property>
@@ -24,70 +24,167 @@
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
- <layout class="QFormLayout" name="formLayout_2">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
- </property>
- <property name="horizontalSpacing">
- <number>12</number>
- </property>
- <property name="verticalSpacing">
- <number>12</number>
- </property>
- <item row="2" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Balance:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="labelBalance">
- <property name="text">
- <string notr="true">0 BTC</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Number of transactions:</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLabel" name="labelNumTransactions">
- <property name="text">
- <string>0</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Unconfirmed:</string>
- </property>
- </widget>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <item>
+ <widget class="QLabel" name="label_5">
+ <property name="font">
+ <font>
+ <pointsize>11</pointsize>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Wallet</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="labelWalletStatus">
+ <property name="toolTip">
+ <string>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.</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel { color: red; }</string>
+ </property>
+ <property name="text">
+ <string notr="true">(out of sync)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
</item>
- <item row="3" column="1">
- <widget class="QLabel" name="labelUnconfirmed">
- <property name="text">
- <string notr="true">0 BTC</string>
+ <item>
+ <layout class="QFormLayout" name="formLayout_2">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_5">
- <property name="font">
- <font>
- <pointsize>11</pointsize>
- <bold>true</bold>
- </font>
+ <property name="horizontalSpacing">
+ <number>12</number>
</property>
- <property name="text">
- <string>Wallet</string>
+ <property name="verticalSpacing">
+ <number>12</number>
</property>
- </widget>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Balance:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="labelBalance">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="toolTip">
+ <string>Your current balance</string>
+ </property>
+ <property name="text">
+ <string notr="true">0 BTC</string>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Unconfirmed:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="labelUnconfirmed">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="toolTip">
+ <string>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</string>
+ </property>
+ <property name="text">
+ <string notr="true">0 BTC</string>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Number of transactions:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="labelNumTransactions">
+ <property name="toolTip">
+ <string>Total number of transactions in wallet</string>
+ </property>
+ <property name="text">
+ <string notr="true">0</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="labelImmatureText">
+ <property name="text">
+ <string>Immature:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="labelImmature">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="toolTip">
+ <string>Mined balance that has not yet matured</string>
+ </property>
+ <property name="text">
+ <string notr="true">0 BTC</string>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
</layout>
</widget>
@@ -119,14 +216,50 @@
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>&lt;b&gt;Recent transactions&lt;/b&gt;</string>
- </property>
- </widget>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>&lt;b&gt;Recent transactions&lt;/b&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="labelTransactionsStatus">
+ <property name="toolTip">
+ <string>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.</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel { color: red; }</string>
+ </property>
+ <property name="text">
+ <string notr="true">(out of sync)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
</item>
<item>
<widget class="QListView" name="listTransactions">
+ <property name="styleSheet">
+ <string notr="true">QListView { background: transparent; }</string>
+ </property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
@@ -136,6 +269,9 @@
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
+ <property name="selectionMode">
+ <enum>QAbstractItemView::NoSelection</enum>
+ </property>
</widget>
</item>
</layout>
diff --git a/src/qt/forms/qrcodedialog.ui b/src/qt/forms/qrcodedialog.ui
index 714b1d6cd8..52e9db3762 100644
--- a/src/qt/forms/qrcodedialog.ui
+++ b/src/qt/forms/qrcodedialog.ui
@@ -6,12 +6,12 @@
<rect>
<x>0</x>
<y>0</y>
- <width>320</width>
- <height>404</height>
+ <width>340</width>
+ <height>530</height>
</rect>
</property>
<property name="windowTitle">
- <string>Dialog</string>
+ <string>QR Code Dialog</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
@@ -28,8 +28,8 @@
<height>300</height>
</size>
</property>
- <property name="text">
- <string>QR Code</string>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -40,133 +40,122 @@
</widget>
</item>
<item>
+ <widget class="QPlainTextEdit" name="outUri">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>50</height>
+ </size>
+ </property>
+ <property name="tabChangesFocus">
+ <bool>true</bool>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item>
<widget class="QWidget" name="widget" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QCheckBox" name="chkReqPayment">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="text">
- <string>Request Payment</string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QLabel" name="lblAmount">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>Amount:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>lnReqAmount</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="lnReqAmount">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="minimumSize">
- <size>
- <width>60</width>
- <height>0</height>
- </size>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="lblBTC">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="text">
- <string>BTC</string>
- </property>
- <property name="buddy">
- <cstring>lnReqAmount</cstring>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
+ <widget class="QCheckBox" name="chkReqPayment">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="text">
+ <string>Request Payment</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
+ <item row="1" column="0">
+ <widget class="QLabel" name="lblLabel">
+ <property name="text">
+ <string>Label:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>lnLabel</cstring>
+ </property>
+ </widget>
</item>
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="lblLabel">
- <property name="text">
- <string>Label:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>lnLabel</cstring>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLineEdit" name="lnLabel">
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="lblMessage">
- <property name="text">
- <string>Message:</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- <property name="buddy">
- <cstring>lnMessage</cstring>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QLineEdit" name="lnMessage">
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
+ <item row="1" column="1">
+ <widget class="QLineEdit" name="lnLabel"/>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="lblMessage">
+ <property name="text">
+ <string>Message:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>lnMessage</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="lnMessage"/>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="lblAmount">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Amount:</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="buddy">
+ <cstring>lnReqAmount</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="BitcoinAmountField" name="lnReqAmount">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>80</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
</item>
</layout>
</item>
<item>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
@@ -194,6 +183,13 @@
</item>
</layout>
</widget>
+ <customwidgets>
+ <customwidget>
+ <class>BitcoinAmountField</class>
+ <extends>QSpinBox</extends>
+ <header>bitcoinamountfield.h</header>
+ </customwidget>
+ </customwidgets>
<resources/>
<connections>
<connection>
diff --git a/src/qt/forms/rpcconsole.ui b/src/qt/forms/rpcconsole.ui
new file mode 100644
index 0000000000..d1d8ab42a0
--- /dev/null
+++ b/src/qt/forms/rpcconsole.ui
@@ -0,0 +1,456 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>RPCConsole</class>
+ <widget class="QDialog" name="RPCConsole">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>740</width>
+ <height>450</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Bitcoin - Debug window</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_info">
+ <attribute name="title">
+ <string>&amp;Information</string>
+ </attribute>
+ <layout class="QGridLayout" name="gridLayout" columnstretch="0,1">
+ <property name="horizontalSpacing">
+ <number>12</number>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Bitcoin Core</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Client name</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="clientName">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Client version</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="clientVersion">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_14">
+ <property name="text">
+ <string>Using OpenSSL version</string>
+ </property>
+ <property name="indent">
+ <number>10</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QLabel" name="openSSLVersion">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_12">
+ <property name="text">
+ <string>Build date</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QLabel" name="buildDate">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_13">
+ <property name="text">
+ <string>Startup time</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QLabel" name="startupTime">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_11">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Network</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Number of connections</string>
+ </property>
+ </widget>
+ </item>
+ <item row="7" column="1">
+ <widget class="QLabel" name="numberOfConnections">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>On testnet</string>
+ </property>
+ </widget>
+ </item>
+ <item row="8" column="1">
+ <widget class="QCheckBox" name="isTestNet">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item row="9" column="0">
+ <widget class="QLabel" name="label_10">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Block chain</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Current number of blocks</string>
+ </property>
+ </widget>
+ </item>
+ <item row="10" column="1">
+ <widget class="QLabel" name="numberOfBlocks">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Estimated total blocks</string>
+ </property>
+ </widget>
+ </item>
+ <item row="11" column="1">
+ <widget class="QLabel" name="totalBlocks">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Last block time</string>
+ </property>
+ </widget>
+ </item>
+ <item row="12" column="1">
+ <widget class="QLabel" name="lastBlockTime">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
+ <property name="text">
+ <string>N/A</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="textInteractionFlags">
+ <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
+ </property>
+ </widget>
+ </item>
+ <item row="13" column="0">
+ <spacer name="verticalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="14" column="0">
+ <widget class="QLabel" name="labelDebugLogfile">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Debug log file</string>
+ </property>
+ </widget>
+ </item>
+ <item row="15" column="0">
+ <widget class="QPushButton" name="openDebugLogfileButton">
+ <property name="toolTip">
+ <string>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</string>
+ </property>
+ <property name="text">
+ <string>&amp;Open</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="16" column="0">
+ <widget class="QLabel" name="labelCLOptions">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Command-line options</string>
+ </property>
+ </widget>
+ </item>
+ <item row="17" column="0">
+ <widget class="QPushButton" name="showCLOptionsButton">
+ <property name="toolTip">
+ <string>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</string>
+ </property>
+ <property name="text">
+ <string>&amp;Show</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item row="18" column="0">
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_console">
+ <attribute name="title">
+ <string>&amp;Console</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QTextEdit" name="messagesWidget">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>100</height>
+ </size>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="tabKeyNavigation" stdset="0">
+ <bool>false</bool>
+ </property>
+ <property name="columnCount" stdset="0">
+ <number>2</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>3</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string notr="true">&gt;</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ <item>
+ <widget class="QPushButton" name="clearButton">
+ <property name="maximumSize">
+ <size>
+ <width>24</width>
+ <height>24</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Clear console</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
+ </property>
+ <property name="shortcut">
+ <string notr="true">Ctrl+L</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="../bitcoin.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui
index 7eadec98b2..6e17565ab0 100644
--- a/src/qt/forms/sendcoinsdialog.ui
+++ b/src/qt/forms/sendcoinsdialog.ui
@@ -64,12 +64,15 @@
<string>Send to multiple recipients at once</string>
</property>
<property name="text">
- <string>&amp;Add recipient...</string>
+ <string>Add &amp;Recipient</string>
</property>
<property name="icon">
<iconset resource="../bitcoin.qrc">
<normaloff>:/icons/add</normaloff>:/icons/add</iconset>
</property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
</widget>
</item>
<item>
@@ -84,7 +87,7 @@
<string>Remove all transaction fields</string>
</property>
<property name="text">
- <string>Clear all</string>
+ <string>Clear &amp;All</string>
</property>
<property name="icon">
<iconset resource="../bitcoin.qrc">
@@ -93,6 +96,9 @@
<property name="autoRepeatDelay">
<number>300</number>
</property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
</widget>
</item>
<item>
@@ -109,6 +115,9 @@
</item>
<item>
<widget class="QLabel" name="labelBalance">
+ <property name="cursor">
+ <cursorShape>IBeamCursor</cursorShape>
+ </property>
<property name="text">
<string>123.456 BTC</string>
</property>
diff --git a/src/qt/forms/signverifymessagedialog.ui b/src/qt/forms/signverifymessagedialog.ui
new file mode 100644
index 0000000000..8128bdf457
--- /dev/null
+++ b/src/qt/forms/signverifymessagedialog.ui
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SignVerifyMessageDialog</class>
+ <widget class="QDialog" name="SignVerifyMessageDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>700</width>
+ <height>380</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Signatures - Sign / Verify a Message</string>
+ </property>
+ <property name="modal">
+ <bool>true</bool>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tabSignMessage">
+ <attribute name="title">
+ <string>&amp;Sign Message</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_SM">
+ <item>
+ <widget class="QLabel" name="infoLabel_SM">
+ <property name="text">
+ <string>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.</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_1_SM">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QValidatedLineEdit" name="addressIn_SM">
+ <property name="toolTip">
+ <string>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</string>
+ </property>
+ <property name="maxLength">
+ <number>34</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="addressBookButton_SM">
+ <property name="toolTip">
+ <string>Choose an address from the address book</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Alt+A</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="pasteButton_SM">
+ <property name="toolTip">
+ <string>Paste address from clipboard</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/editpaste</normaloff>:/icons/editpaste</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Alt+P</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="messageIn_SM">
+ <property name="toolTip">
+ <string>Enter the message you want to sign here</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2_SM">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLineEdit" name="signatureOut_SM">
+ <property name="font">
+ <font>
+ <italic>true</italic>
+ </font>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="copySignatureButton_SM">
+ <property name="toolTip">
+ <string>Copy the current signature to the system clipboard</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/editcopy</normaloff>:/icons/editcopy</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_3_SM">
+ <item>
+ <widget class="QPushButton" name="signMessageButton_SM">
+ <property name="toolTip">
+ <string>Sign the message to prove you own this Bitcoin address</string>
+ </property>
+ <property name="text">
+ <string>&amp;Sign Message</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/edit</normaloff>:/icons/edit</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="clearButton_SM">
+ <property name="toolTip">
+ <string>Reset all sign message fields</string>
+ </property>
+ <property name="text">
+ <string>Clear &amp;All</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_1_SM">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="statusLabel_SM">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2_SM">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tabVerifyMessage">
+ <attribute name="title">
+ <string>&amp;Verify Message</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_VM">
+ <item>
+ <widget class="QLabel" name="infoLabel_VM">
+ <property name="text">
+ <string>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.</string>
+ </property>
+ <property name="textFormat">
+ <enum>Qt::PlainText</enum>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_1_VM">
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QValidatedLineEdit" name="addressIn_VM">
+ <property name="toolTip">
+ <string>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</string>
+ </property>
+ <property name="maxLength">
+ <number>34</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="addressBookButton_VM">
+ <property name="toolTip">
+ <string>Choose an address from the address book</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/address-book</normaloff>:/icons/address-book</iconset>
+ </property>
+ <property name="shortcut">
+ <string>Alt+A</string>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="messageIn_VM"/>
+ </item>
+ <item>
+ <widget class="QValidatedLineEdit" name="signatureIn_VM"/>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2_VM">
+ <item>
+ <widget class="QPushButton" name="verifyMessageButton_VM">
+ <property name="toolTip">
+ <string>Verify the message to ensure it was signed with the specified Bitcoin address</string>
+ </property>
+ <property name="text">
+ <string>&amp;Verify Message</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/transaction_0</normaloff>:/icons/transaction_0</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="clearButton_VM">
+ <property name="toolTip">
+ <string>Reset all verify message fields</string>
+ </property>
+ <property name="text">
+ <string>Clear &amp;All</string>
+ </property>
+ <property name="icon">
+ <iconset resource="../bitcoin.qrc">
+ <normaloff>:/icons/remove</normaloff>:/icons/remove</iconset>
+ </property>
+ <property name="autoDefault">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_1_VM">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QLabel" name="statusLabel_VM">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer_2_VM">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>48</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>QValidatedLineEdit</class>
+ <extends>QLineEdit</extends>
+ <header>qvalidatedlineedit.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources>
+ <include location="../bitcoin.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/src/qt/forms/transactiondescdialog.ui b/src/qt/forms/transactiondescdialog.ui
index 9a9f6db158..b38dffcc12 100644
--- a/src/qt/forms/transactiondescdialog.ui
+++ b/src/qt/forms/transactiondescdialog.ui
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>400</width>
- <height>300</height>
+ <width>620</width>
+ <height>250</height>
</rect>
</property>
<property name="windowTitle">
diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h
index 0cb507501a..405ba396b7 100644
--- a/src/qt/guiconstants.h
+++ b/src/qt/guiconstants.h
@@ -4,10 +4,10 @@
/* Milliseconds between model updates */
static const int MODEL_UPDATE_DELAY = 500;
-/* Maximum passphrase length */
+/* AskPassphraseDialog -- Maximum passphrase length */
static const int MAX_PASSPHRASE_SIZE = 1024;
-/* Size of icons in status bar */
+/* BitcoinGUI -- Size of icons in status bar */
static const int STATUSBAR_ICONSIZE = 16;
/* Invalid field background style */
@@ -20,4 +20,15 @@ static const int STATUSBAR_ICONSIZE = 16;
/* Transaction list -- bare address (without label) */
#define COLOR_BAREADDRESS QColor(140, 140, 140)
+/* Tooltips longer than this (in characters) are converted into rich text,
+ so that they can be word-wrapped.
+ */
+static const int TOOLTIP_WRAP_THRESHOLD = 80;
+
+/* Maximum allowed URI length */
+static const int MAX_URI_LENGTH = 255;
+
+/* QRCodeDialog -- size of exported QR Code image */
+#define EXPORT_IMAGE_SIZE 256
+
#endif // GUICONSTANTS_H
diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp
index f854115fb9..ff70ca24af 100644
--- a/src/qt/guiutil.cpp
+++ b/src/qt/guiutil.cpp
@@ -2,6 +2,8 @@
#include "bitcoinaddressvalidator.h"
#include "walletmodel.h"
#include "bitcoinunits.h"
+#include "util.h"
+#include "init.h"
#include <QString>
#include <QDateTime>
@@ -17,6 +19,27 @@
#include <QDesktopServices>
#include <QThread>
+#include <boost/filesystem.hpp>
+#include <boost/filesystem/fstream.hpp>
+
+#ifdef WIN32
+#ifdef _WIN32_WINNT
+#undef _WIN32_WINNT
+#endif
+#define _WIN32_WINNT 0x0501
+#ifdef _WIN32_IE
+#undef _WIN32_IE
+#endif
+#define _WIN32_IE 0x0501
+#define WIN32_LEAN_AND_MEAN 1
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
+#include "shlwapi.h"
+#include "shlobj.h"
+#include "shellapi.h"
+#endif
+
namespace GUIUtil {
QString dateTimeStr(const QDateTime &date)
@@ -199,19 +222,235 @@ Qt::ConnectionType blockingGUIThreadConnection()
bool checkPoint(const QPoint &p, const QWidget *w)
{
- QWidget *atW = qApp->widgetAt(w->mapToGlobal(p));
- if(!atW) return false;
- return atW->topLevelWidget() == w;
+ QWidget *atW = qApp->widgetAt(w->mapToGlobal(p));
+ if (!atW) return false;
+ return atW->topLevelWidget() == w;
}
bool isObscured(QWidget *w)
{
+ return !(checkPoint(QPoint(0, 0), w)
+ && checkPoint(QPoint(w->width() - 1, 0), w)
+ && checkPoint(QPoint(0, w->height() - 1), w)
+ && checkPoint(QPoint(w->width() - 1, w->height() - 1), w)
+ && checkPoint(QPoint(w->width() / 2, w->height() / 2), w));
+}
+
+void openDebugLogfile()
+{
+ boost::filesystem::path pathDebug = GetDataDir() / "debug.log";
+
+ /* Open debug.log with the associated application */
+ if (boost::filesystem::exists(pathDebug))
+ QDesktopServices::openUrl(QUrl::fromLocalFile(QString::fromStdString(pathDebug.string())));
+}
+
+ToolTipToRichTextFilter::ToolTipToRichTextFilter(int size_threshold, QObject *parent) :
+ QObject(parent), size_threshold(size_threshold)
+{
+
+}
+
+bool ToolTipToRichTextFilter::eventFilter(QObject *obj, QEvent *evt)
+{
+ if(evt->type() == QEvent::ToolTipChange)
+ {
+ QWidget *widget = static_cast<QWidget*>(obj);
+ QString tooltip = widget->toolTip();
+ if(tooltip.size() > size_threshold && !tooltip.startsWith("<qt/>") && !Qt::mightBeRichText(tooltip))
+ {
+ // Prefix <qt/> to make sure Qt detects this as rich text
+ // Escape the current message as HTML and replace \n by <br>
+ tooltip = "<qt/>" + HtmlEscape(tooltip, true);
+ widget->setToolTip(tooltip);
+ return true;
+ }
+ }
+ return QObject::eventFilter(obj, evt);
+}
+
+#ifdef WIN32
+boost::filesystem::path static StartupShortcutPath()
+{
+ return GetSpecialFolderPath(CSIDL_STARTUP) / "Bitcoin.lnk";
+}
+
+bool GetStartOnSystemStartup()
+{
+ // check for Bitcoin.lnk
+ return boost::filesystem::exists(StartupShortcutPath());
+}
+
+bool SetStartOnSystemStartup(bool fAutoStart)
+{
+ // If the shortcut exists already, remove it for updating
+ boost::filesystem::remove(StartupShortcutPath());
+
+ if (fAutoStart)
+ {
+ CoInitialize(NULL);
+
+ // Get a pointer to the IShellLink interface.
+ IShellLink* psl = NULL;
+ HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL,
+ CLSCTX_INPROC_SERVER, IID_IShellLink,
+ reinterpret_cast<void**>(&psl));
+
+ if (SUCCEEDED(hres))
+ {
+ // Get the current executable path
+ TCHAR pszExePath[MAX_PATH];
+ GetModuleFileName(NULL, pszExePath, sizeof(pszExePath));
+
+ TCHAR pszArgs[5] = TEXT("-min");
+
+ // Set the path to the shortcut target
+ psl->SetPath(pszExePath);
+ PathRemoveFileSpec(pszExePath);
+ psl->SetWorkingDirectory(pszExePath);
+ psl->SetShowCmd(SW_SHOWMINNOACTIVE);
+ psl->SetArguments(pszArgs);
+
+ // Query IShellLink for the IPersistFile interface for
+ // saving the shortcut in persistent storage.
+ IPersistFile* ppf = NULL;
+ hres = psl->QueryInterface(IID_IPersistFile,
+ reinterpret_cast<void**>(&ppf));
+ if (SUCCEEDED(hres))
+ {
+ WCHAR pwsz[MAX_PATH];
+ // Ensure that the string is ANSI.
+ MultiByteToWideChar(CP_ACP, 0, StartupShortcutPath().string().c_str(), -1, pwsz, MAX_PATH);
+ // Save the link by calling IPersistFile::Save.
+ hres = ppf->Save(pwsz, TRUE);
+ ppf->Release();
+ psl->Release();
+ CoUninitialize();
+ return true;
+ }
+ psl->Release();
+ }
+ CoUninitialize();
+ return false;
+ }
+ return true;
+}
+
+#elif defined(LINUX)
- return !(checkPoint(QPoint(0, 0), w)
- && checkPoint(QPoint(w->width() - 1, 0), w)
- && checkPoint(QPoint(0, w->height() - 1), w)
- && checkPoint(QPoint(w->width() - 1, w->height() - 1), w)
- && checkPoint(QPoint(w->width()/2, w->height()/2), w));
+// Follow the Desktop Application Autostart Spec:
+// http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html
+
+boost::filesystem::path static GetAutostartDir()
+{
+ namespace fs = boost::filesystem;
+
+ char* pszConfigHome = getenv("XDG_CONFIG_HOME");
+ if (pszConfigHome) return fs::path(pszConfigHome) / "autostart";
+ char* pszHome = getenv("HOME");
+ if (pszHome) return fs::path(pszHome) / ".config" / "autostart";
+ return fs::path();
+}
+
+boost::filesystem::path static GetAutostartFilePath()
+{
+ return GetAutostartDir() / "bitcoin.desktop";
+}
+
+bool GetStartOnSystemStartup()
+{
+ boost::filesystem::ifstream optionFile(GetAutostartFilePath());
+ if (!optionFile.good())
+ return false;
+ // Scan through file for "Hidden=true":
+ std::string line;
+ while (!optionFile.eof())
+ {
+ getline(optionFile, line);
+ if (line.find("Hidden") != std::string::npos &&
+ line.find("true") != std::string::npos)
+ return false;
+ }
+ optionFile.close();
+
+ return true;
+}
+
+bool SetStartOnSystemStartup(bool fAutoStart)
+{
+ if (!fAutoStart)
+ boost::filesystem::remove(GetAutostartFilePath());
+ else
+ {
+ char pszExePath[MAX_PATH+1];
+ memset(pszExePath, 0, sizeof(pszExePath));
+ if (readlink("/proc/self/exe", pszExePath, sizeof(pszExePath)-1) == -1)
+ return false;
+
+ boost::filesystem::create_directories(GetAutostartDir());
+
+ boost::filesystem::ofstream optionFile(GetAutostartFilePath(), std::ios_base::out|std::ios_base::trunc);
+ if (!optionFile.good())
+ return false;
+ // Write a bitcoin.desktop file to the autostart directory:
+ optionFile << "[Desktop Entry]\n";
+ optionFile << "Type=Application\n";
+ optionFile << "Name=Bitcoin\n";
+ optionFile << "Exec=" << pszExePath << " -min\n";
+ optionFile << "Terminal=false\n";
+ optionFile << "Hidden=false\n";
+ optionFile.close();
+ }
+ return true;
+}
+#else
+
+// TODO: OSX startup stuff; see:
+// https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html
+
+bool GetStartOnSystemStartup() { return false; }
+bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
+
+#endif
+
+HelpMessageBox::HelpMessageBox(QWidget *parent) :
+ QMessageBox(parent)
+{
+ header = tr("Bitcoin-Qt") + " " + tr("version") + " " +
+ QString::fromStdString(FormatFullVersion()) + "\n\n" +
+ tr("Usage:") + "\n" +
+ " bitcoin-qt [" + tr("command-line options") + "] " + "\n";
+
+ coreOptions = QString::fromStdString(HelpMessage());
+
+ uiOptions = tr("UI options") + ":\n" +
+ " -lang=<lang> " + tr("Set language, for example \"de_DE\" (default: system locale)") + "\n" +
+ " -min " + tr("Start minimized") + "\n" +
+ " -splash " + tr("Show splash screen on startup (default: 1)") + "\n";
+
+ setWindowTitle(tr("Bitcoin-Qt"));
+ setTextFormat(Qt::PlainText);
+ // setMinimumWidth is ignored for QMessageBox so put in non-breaking spaces to make it wider.
+ setText(header + QString(QChar(0x2003)).repeated(50));
+ setDetailedText(coreOptions + "\n" + uiOptions);
+}
+
+void HelpMessageBox::printToConsole()
+{
+ // On other operating systems, the expected action is to print the message to the console.
+ QString strUsage = header + "\n" + coreOptions + "\n" + uiOptions;
+ fprintf(stdout, "%s", strUsage.toStdString().c_str());
+}
+
+void HelpMessageBox::showOrPrint()
+{
+#if defined(WIN32)
+ // On Windows, show a message box, as there is no stderr/stdout in windowed applications
+ exec();
+#else
+ // On other operating systems, print help text to console
+ printToConsole();
+#endif
}
} // namespace GUIUtil
diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h
index 7561d0e100..db100bdb73 100644
--- a/src/qt/guiutil.h
+++ b/src/qt/guiutil.h
@@ -2,6 +2,8 @@
#define GUIUTIL_H
#include <QString>
+#include <QObject>
+#include <QMessageBox>
QT_BEGIN_NAMESPACE
class QFont;
@@ -21,7 +23,7 @@ namespace GUIUtil
QString dateTimeStr(const QDateTime &datetime);
QString dateTimeStr(qint64 nTime);
- // Render bitcoin addresses in monospace font
+ // Render Bitcoin addresses in monospace font
QFont bitcoinAddressFont();
// Set up widgets for address and amounts
@@ -69,6 +71,50 @@ namespace GUIUtil
// Determine whether a widget is hidden behind other windows
bool isObscured(QWidget *w);
+ // Open debug.log
+ void openDebugLogfile();
+
+ /** Qt event filter that intercepts ToolTipChange events, and replaces the tooltip with a rich text
+ representation if needed. This assures that Qt can word-wrap long tooltip messages.
+ Tooltips longer than the provided size threshold (in characters) are wrapped.
+ */
+ class ToolTipToRichTextFilter : public QObject
+ {
+ Q_OBJECT
+
+ public:
+ explicit ToolTipToRichTextFilter(int size_threshold, QObject *parent = 0);
+
+ protected:
+ bool eventFilter(QObject *obj, QEvent *evt);
+
+ private:
+ int size_threshold;
+ };
+
+ bool GetStartOnSystemStartup();
+ bool SetStartOnSystemStartup(bool fAutoStart);
+
+ /** Help message for Bitcoin-Qt, shown with --help. */
+ class HelpMessageBox : public QMessageBox
+ {
+ Q_OBJECT
+
+ public:
+ HelpMessageBox(QWidget *parent = 0);
+
+ /** Show message box or print help message to standard output, based on operating system. */
+ void showOrPrint();
+
+ /** Print help message to console */
+ void printToConsole();
+
+ private:
+ QString header;
+ QString coreOptions;
+ QString uiOptions;
+ };
+
} // namespace GUIUtil
#endif // GUIUTIL_H
diff --git a/src/qt/locale/bitcoin_bg.ts b/src/qt/locale/bitcoin_bg.ts
new file mode 100644
index 0000000000..5ad97e1282
--- /dev/null
+++ b/src/qt/locale/bitcoin_bg.ts
@@ -0,0 +1,2712 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="bg">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>AboutDialog</name>
+ <message>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
+ <source>About Bitcoin</source>
+ <translation>За Биткоин</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
+ <translation>&lt;b&gt;Биткоин&lt;/b&gt; версия</translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Биткоин разработчици</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
+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.</source>
+ <translation>
+Това е експериментален софтуер.
+
+Разпространява се под MIT/X11 софтуерен лиценз, виж COPYING или http://www.opensource.org/licenses/mit-license.php.
+
+Използван е софтуер, разработен от OpenSSL Project за употреба в OpenSSL Toolkit (http://www.openssl.org/), криптографски софтуер разработен от Eric Young (eay@cryptsoft.com) и UPnP софтуер разработен от Thomas Bernard.</translation>
+ </message>
+</context>
+<context>
+ <name>AddressBookPage</name>
+ <message>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
+ <source>Address Book</source>
+ <translation>Адреси</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Double-click to edit address or label</source>
+ <translation>Двоен клик за редакция на адрес или име</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Create a new address</source>
+ <translation>Създава нов адрес</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Копира избрания адрес</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Нов адрес</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Това са вашите Биткоин адреси за получаване на плащания. За по-лесно проследяване на плащанията и повишена анонимност можете да използвате нов адрес за всяко плащане.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Копирай</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>Покажи &amp;QR код</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Подпишете съобщение като доказателство, че притежавате определен адрес</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>Подпиши &amp;съобщение</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Изтрий избрания адрес от списъка</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Проверете съобщение, за да сте сигурни че е подписано с определен Биткоин адрес</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Провери съобщение</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Изтрий</translation>
+ </message>
+ <message>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Копирай &amp;име</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Редактирай</translation>
+ </message>
+ <message>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Запазване на адреси</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>CSV файл (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Грешка при записа</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Неуспешен запис в %1.</translation>
+ </message>
+</context>
+<context>
+ <name>AddressTableModel</name>
+ <message>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
+ <source>Label</source>
+ <translation>Име</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Адрес</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>(no label)</source>
+ <translation>(без име)</translation>
+ </message>
+</context>
+<context>
+ <name>AskPassphraseDialog</name>
+ <message>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Парола</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Нова парола</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Още веднъж</translation>
+ </message>
+ <message>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Въведете нова парола за портфейла.&lt;br/&gt;Моля използвайте &lt;b&gt;поне 10 случайни символа&lt;/b&gt; или &lt;b&gt;8 или повече думи&lt;/b&gt;.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Криптиране на портфейла</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Тази операция изисква Вашата парола за отключване на портфейла.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Отключване на портфейла</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Тази операция изисква Вашата парола за декриптиране на портфейла.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Декриптиране на портфейла</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Смяна на паролата</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Въведете текущата и новата парола за портфейла.</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Потвърждаване на криптирането</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Портфейлът е криптиран</translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Криптирането беше неуспешно</translation>
+ </message>
+ <message>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Криптирането на портфейла беше неуспешно поради неизвестен проблем. Портфейлът не е криптиран.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>Паролите не съвпадат</translation>
+ </message>
+ <message>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>Отключването беше неуспешно</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>Паролата въведена за декриптиране на портфейла е грешна.</translation>
+ </message>
+ <message>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Декриптирането беше неуспешно</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Паролата на портфейла беше променена успешно.</translation>
+ </message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
+ <message>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Подписване на &amp;съобщение...</translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Синхронизиране с мрежата...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Баланс</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Обобщена информация за портфейла</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Транзакции</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>История на входящите и изходящи транзакции</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Адреси</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Редактиране на адреси</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Получаване</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Списък на адресите за получаване</translation>
+ </message>
+ <message>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Изпращане</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>Из&amp;ход</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Затваря приложението</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Показва информация за Биткоин</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>За &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Опции...</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Криптиране на портфейла...</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Запазване на портфейла...</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Смяна на паролата...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>%1 (of %2) блока (%3%%).</translation>
+ </message>
+ <message>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Експорт...</translation>
+ </message>
+ <message>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Изпращане към Биткоин адрес</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Запишете данните от текущия раздел във файл</translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Криптира или декриптира портфейла</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Променя паролата за портфейла</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Проверка на съобщение...</translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Биткоин</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Портфейл</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;За Биткоин</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Файл</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Настройки</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Помощ</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Раздели</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Функции</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n връзка към Биткоин мрежата</numerusform>
+ <numerusform>%n връзки към Биткоин мрежата</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>%1 блока.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>%n секунда</numerusform>
+ <numerusform>%n секунди</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n минута</numerusform>
+ <numerusform>%n минути</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>%n час</numerusform>
+ <numerusform>%n часа</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n ден</numerusform>
+ <numerusform>%n дни</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Синхронизиран</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Зарежда блокове...</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Последният блок е от %1.</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Размерът на транзакцията ще надвиши максималният размер за безплатна транзакция. Можете да я изпратите срещу такса от %1, която ще бъде получена от участниците в мрежата, обработващи транзакции. Желаете ли да платите таксата?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Потвърждение за такса</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Изходяща транзакция</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Входяща транзакция</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Портфейлът е &lt;b&gt;криптиран&lt;/b&gt; и &lt;b&gt;отключен&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Портфейлът е &lt;b&gt;криптиран&lt;/b&gt; и &lt;b&gt;заключен&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Запазване на портфейла</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ClientModel</name>
+ <message>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EditAddressDialog</name>
+ <message>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
+ <source>Edit Address</source>
+ <translation>Редактиране на адрес</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Име</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The label associated with this address book entry</source>
+ <translation>Името свързано с този запис в списъка с адреси</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Адрес</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <translation>Адресът свързан с този запис в списъка с адреси. Може да се променя само за изходящи адреси.</translation>
+ </message>
+ <message>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>Нов адрес за получаване</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation>Нов адрес за изпращане</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Edit receiving address</source>
+ <translation>Редактиране на входящ адрес</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Редактиране на изходящ адрес</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>Вече има адрес &quot;%1&quot; в списъка с адреси.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>&quot;%1&quot; не е валиден Биткоин адрес.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Отключването на портфейла беше неуспешно.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation>Създаването на ключ беше неуспешно.</translation>
+ </message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
+ <message>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-12"/>
+ <source>version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI Опции</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Опции</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Основни</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Такса за транзакция на kB. Подпомага участниците в мрежата, които верифицират транзакции (miners). По-висока стойност би трябвало да ускори обработката на транзакции. Повечето транзакции са около 1 kB. Препоръчителна стойност - 0.0005 BTC.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>&amp;Такса за изходяща транзакция</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Пускане на Биткоин при вход в системата</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Мрежа</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Автоматично отваряне на входящия Bitcoin порт. Работи само с рутери поддържащи UPnP.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Отваряне на входящия порт чрез &amp;UPnP</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP адрес на прокси сървъра (например 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Прозорец</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>След минимизиране ще е видима само иконата в системния трей.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Минимизиране в системния трей</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>При затваряне на прозореца приложението остава минимизирано. Ако изберете тази опция, приложението може да се затвори само чрез Изход в менюто.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>М&amp;инимизиране при затваряне</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Интерфейс</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>Език:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Промяната на езика ще влезе в сила след рестартиране на Биткоин.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>Мерни единици:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Изберете единиците, показвани по подразбиране в интерфейса.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Ще се показват адресите в списъка с транзакции независимо от наличието на кратко име.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>Показвай и адресите в списъка с транзакции</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Прокси адресът е невалиден.</translation>
+ </message>
+</context>
+<context>
+ <name>OverviewPage</name>
+ <message>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Баланс:</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Брой транзакции:</translation>
+ </message>
+ <message>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Непотвърдени:</translation>
+ </message>
+ <message>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Портфейл</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Последни транзакции&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Вашият текущ баланс</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Сборът на все още непотвърдените транзакции, които не са част от текущия баланс</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Общ брой транзакции</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>несинхронизиран</translation>
+ </message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
+ <message>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Изискай плащане</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Сума:</translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Име:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Съобщение:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Запази като...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Грешка при създаването на QR Code от URI.</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Въведената сума е невалидна, моля проверете.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>N/A</translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Мрежа</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Изчисти конзолата</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Използвайте стрелки надолу и нагореза разглеждане на историятаот команди и &lt;b&gt;Ctrl-L&lt;/b&gt; за изчистване на конзолата.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Изпращане</translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>Изпращане към повече от един получател</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Добави &amp;получател</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Изчистване на всички полета</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Изчисти</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Баланс:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Потвърдете изпращането</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>И&amp;зпрати</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; на %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Потвърждаване</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>Сигурни ли сте, че искате да изпратите %1?</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> и </translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>Невалиден адрес на получателя.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>Сумата трябва да е по-голяма от 0.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Грешка: създаването на транзакция беше неуспешно.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>Грешка: транзакцията беше отхвърлена. Това е възможно ако част от парите в портфейла са вече похарчени, например при паралелно използване на копие на wallet.dat</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsEntry</name>
+ <message>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Форма</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>С&amp;ума:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Плати &amp;На:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Въведете име за този адрес, за да го добавите в списъка с адреси</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Име:</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Адресът, към който да се направи плащането (например 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Изберете от списъка с адреси</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Вмъкни от клипборда</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Махни този получател</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Въведете Биткоин адрес (например 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Подпиши / Провери съобщение</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Подпиши</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Можете да подпишете съобщение като доказателство, че притежавате определен адрес. Бъдете внимателни и не подписвайте съобщения, които биха разкрили лична информация без вашето съгласие.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Адресът, с който ще подпишете съобщението (например 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Изберете от списъка с адреси</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Вмъкни от клипборда</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Въведете съобщението тук</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Копиране на текущия подпис</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Подпишете съобщение като доказателство, че притежавате определен адрес</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Изчисти</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Провери</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Адресът, с който е подписано съобщението (например 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Проверете съобщение, за да сте сигурни че е подписано с определен Биткоин адрес</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Въведете Биткоин адрес (например 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Натиснете &quot;Подписване на съобщение&quot; за да създадете подпис</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Биткоин подпис</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Въведеният адрес е невалиден.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Моля проверете адреса и опитайте отново.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Не е наличен частният ключ за въведеният адрес.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Подписването на съобщение бе неуспешно.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Съобщението е подписано.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Подписът не може да бъде декодиран.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Проверете подписа и опитайте отново.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>Подписът не отговаря на комбинацията от съобщение и адрес.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Проверката на съобщението беше неуспешна.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Съобщението е потвърдено.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Подлежи на промяна до %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/офлайн</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/непотвърдена</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>включена в %1 блока</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Статус</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Дата</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Източник</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Издадени</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>От</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>За</translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>собствен адрес</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>име</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Кредит</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Дебит</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Такса</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Сума нето</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Съобщение</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Коментар</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Транзакция</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Сума</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>true</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>false</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, все още не е изпратено</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>неизвестен</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDescDialog</name>
+ <message>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Транзакция</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Описание на транзакцията</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
+ <message>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Дата</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Тип</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Адрес</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Сума</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Подлежи на промяна до %1</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Офлайн (%1 потвърждения)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Непотвърдена (%1 от %2 потвърждения)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>Потвърдена (%1 потвърждения)</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Блокът не е получен от останалите участници и най-вероятно няма да бъде одобрен.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Получени с</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Изпратени на</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>Емитирани</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(n/a)</translation>
+ </message>
+ <message>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Състояние на транзакцията. Задръжте върху това поле за брой потвърждения.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Дата и час на получаване.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Тип на транзакцията.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Получател на транзакцията.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Сума извадена или добавена към баланса.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionView</name>
+ <message>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Всички</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Днес</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Тази седмица</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Този месец</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Предния месец</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Тази година</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>От - до...</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Получени</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Изпратени на</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Собствени</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Емитирани</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Други</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Търсене по адрес или име</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Минимална сума</translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Копирай адрес</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Копирай име</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Редактирай име</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>CSV файл (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Потвърдена</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Дата</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Тип</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Име</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Адрес</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Сума</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Грешка при записа</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Неуспешен запис в %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>От:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>до</translation>
+ </message>
+</context>
+<context>
+ <name>WalletModel</name>
+ <message>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>Изпращане...</translation>
+ </message>
+</context>
+<context>
+ <name>bitcoin-core</name>
+ <message>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Биткоин версия</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Опции:</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Грешка: транзакцията беше отхвърлена. Това е възможно ако част от парите в портфейла са вече похарчени, например при паралелно използване на копие на wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Размерът на транзакцията ще надвиши максималният размер за безплатна транзакция. Можете да я изпратите срещу такса от %1, която ще бъде получена от участниците в мрежата, обработващи транзакции. Желаете ли да платите таксата?</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Грешка: създаването на транзакция беше неуспешно.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Невалиден -tor адрес: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Достъпът до %s е невъзможен. Биткоин е вече стартитан?</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Биткоин</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Зареждане на адресите...</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Невалиден -proxy address: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Изпращане...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Зареждане на блок индекса...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Зареждане на портфейла...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Преразглеждане на последовтелността от блокове...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Зареждането е завършено</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Грешка</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/qt/locale/bitcoin_ca_ES.ts b/src/qt/locale/bitcoin_ca_ES.ts
index 7b20d54740..8fc16648f7 100644
--- a/src/qt/locale/bitcoin_ca_ES.ts
+++ b/src/qt/locale/bitcoin_ca_ES.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Sobre Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; versió</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,102 +33,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>llibreta d&apos;adreces</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Feu doble clic per editar la direcció o l&apos;etiqueta</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Crear una nova adreça</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Nova Adreça ...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Copieu l&apos;adreça seleccionada al porta-retalls del sistema</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Borrar</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Borrar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation type="unfinished">Editar</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Borrar</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -132,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etiqueta</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Direcció</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation type="unfinished"></translation>
</message>
@@ -150,290 +154,370 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Xifrar la cartera</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
+ <location line="-56"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
- <source>Enter passphrase</source>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation type="unfinished"></translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Sincronització amb la xarxa ...</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Sincronització amb la xarxa ...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Mostra panorama general de la cartera</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Cerca a l&apos;historial de transaccions</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>llibreta d&apos;&amp;adreces</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Edita la llista d&apos;adreces emmagatzemada i etiquetes</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>&amp;Rebre monedes</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation type="unfinished"></translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation type="unfinished">&amp;Enviar monedes</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Sortir de l&apos;aplicació</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Mostra informació sobre Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Sobre &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation type="unfinished">Mostra informació sobre Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
+ <location line="+2"/>
<source>&amp;Options...</source>
<translation>&amp;Opcions ...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation type="unfinished">&amp;Xifrar la Cartera</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
+ <location line="-242"/>
<source>&amp;Export...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation type="unfinished">&amp;Xifrar la Cartera</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modificar les opcions de configuració per bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Sobre Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+39"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
<translation type="unfinished">&amp;Opcions</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Ajuda</translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation type="unfinished"></translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Accions de la barra d&apos;eines</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
@@ -441,17 +525,12 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -460,7 +539,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -469,7 +548,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -478,7 +557,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -487,27 +566,42 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Al dia</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Posar-se al dia ...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+58"/>
<source>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?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Transacció enviada</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -516,639 +610,749 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation type="unfinished">&amp;Enviar monedes</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>EditAddressDialog</name>
+ <message>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
+ <source>Edit Address</source>
+ <translation>Editar Adreça</translation>
+ </message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Etiqueta</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The label associated with this address book entry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Sortir de l&apos;aplicació</translation>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Direcció</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Mostra informació sobre Bitcoin</translation>
+ <location line="+10"/>
+ <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation type="unfinished">Mostra informació sobre Qt</translation>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Ajuda</translation>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Accions de la barra d&apos;eines</translation>
+ <location line="+3"/>
+ <source>Edit receiving address</source>
+ <translation type="unfinished"></translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
+ <message>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Transacció enviada</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>llibreta d&apos;&amp;adreces</translation>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Sobre %1</translation>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Sobre &amp;Qt</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Modificar les opcions de configuració per bitcoin</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>L&apos;enviament de ...</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <location line="+1"/>
+ <source>command-line options</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
+ <location line="+4"/>
+ <source>UI options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
+ <location line="+1"/>
+ <source>Start minimized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>EditAddressDialog</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
- <source>Edit Address</source>
- <translation>Editar Adreça</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Opcions</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
- <source>&amp;Label</source>
- <translation>&amp;Etiqueta</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
- <source>The label associated with this address book entry</source>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>&amp;Direcció</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
- <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
- <source>New receiving address</source>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
- <source>New sending address</source>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
- <source>Edit receiving address</source>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
+ <location line="+21"/>
+ <source>&amp;Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
- <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Port obert amb &amp;UPnP</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
- <source>New key generation failed.</source>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MainOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>&amp;Minimize to the tray instead of the taskbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
+ <location line="+3"/>
<source>M&amp;inimize on close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <location line="+21"/>
+ <source>&amp;Display</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Port obert amb &amp;UPnP</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
+ <location line="+71"/>
+ <source>&amp;OK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MessagePage</name>
+ <name>OverviewPage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Balanç:</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Sense confirmar:</translation>
+ </message>
+ <message>
+ <location line="-78"/>
+ <source>Wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
+ <location line="+124"/>
+ <source>Immature:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>El seu balanç actual</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+59"/>
+ <source>Request Payment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
+ <location line="+56"/>
+ <source>Amount:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Etiqueta:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Opcions</translation>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>OverviewPage</name>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Balanç:</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
+ <location line="-217"/>
+ <source>Client version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation></translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Sense confirmar:</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
+ <location line="+49"/>
+ <source>Startup time</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <location line="+29"/>
+ <source>Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>El seu balanç actual</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <location line="+23"/>
+ <source>On testnet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
+ <location line="+23"/>
+ <source>Block chain</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
+ <location line="+23"/>
+ <source>Last block time</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
+ <location line="+52"/>
+ <source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
+ <location line="+16"/>
+ <source>Command-line options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Etiqueta:</translation>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
+ <location line="+3"/>
+ <source>&amp;Show</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
+ <location line="+24"/>
+ <source>&amp;Console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
+ <location line="-260"/>
+ <source>Build date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
+ <location line="+279"/>
+ <source>Debug log file</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Balanç:</translation>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>La quantitat a pagar ha de ser major que 0.</translation>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Enviar monedes</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Balanç:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>123.456 BTC</source>
- <translation></translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source> and </source>
<translation type="unfinished"> i </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source>Are you sure you want to send %1?</source>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
- <source>The recipient address is not valid, please recheck.</source>
- <translation type="unfinished"></translation>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>La quantitat a pagar ha de ser major que 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Import superi el saldo de la seva compte.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation type="unfinished"></translation>
</message>
@@ -1156,217 +1360,442 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation type="unfinished">&amp;Etiqueta:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
+ <location line="+8"/>
+ <source>%1/offline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
+ <location line="+18"/>
+ <source>Status</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
+ <location line="+4"/>
+ <source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
+ <location line="+7"/>
+ <source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
+ <location line="+0"/>
+ <source>Generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
+ <location line="-2"/>
+ <source>label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
+ <location line="+2"/>
+ <source>not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
+ <location line="-39"/>
+ <source>Transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
+ <location line="+16"/>
+ <source>Net amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
+ <location line="+6"/>
+ <source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>Transaction ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
+ <location line="+7"/>
+ <source>Debug information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
+ <location line="+8"/>
+ <source>Transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="+5"/>
+ <source>Inputs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation type="unfinished">Transacció details</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1374,22 +1803,27 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Direcció</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -1398,28 +1832,28 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation type="unfinished">Sense confirmar (%1 of %2 confirmations)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
@@ -1427,236 +1861,231 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Direcció</translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
+ <location line="+1"/>
+ <source>Show transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
<translation>Etiqueta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation>Direcció</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation type="unfinished"></translation>
</message>
@@ -1664,7 +2093,7 @@ Address: %4
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>L&apos;enviament de ...</translation>
</message>
@@ -1672,483 +2101,617 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>L&apos;enviament de ...</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation type="unfinished">Bitcoin versió</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="+82"/>
+ <source>Usage:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
+ <location line="-19"/>
+ <source>List commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
+ <location line="-11"/>
+ <source>Get help for a command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation type="unfinished">Opcions:</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
+ <location line="-47"/>
+ <source>Generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+60"/>
+ <source>Specify data directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation type="unfinished">Bitcoin versió</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation type="unfinished">Opcions:</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
+ <location line="+33"/>
+ <source>Use the test network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Username for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
+ <location line="-131"/>
<source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
+ <location line="+73"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>L&apos;enviament de ...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-39"/>
<source>Cannot downgrade wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
+ <location line="+1"/>
<source>Cannot initialize keypool</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
+ <location line="+3"/>
<source>Cannot write default address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
+ <location line="+46"/>
<source>Rescanning...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
+ <location line="-40"/>
<source>Done loading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
+ <location line="+64"/>
+ <source>To use the %s option</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
+ <location line="+91"/>
+ <source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts
index 47f1605315..7642daee20 100644
--- a/src/qt/locale/bitcoin_cs.ts
+++ b/src/qt/locale/bitcoin_cs.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>O Bitcoinu</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; verze</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Vývojáři Bitcoinu</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Vývojáři Bitcoinu
-
+ <translation>
Tohle je experimentální program.
-Šířen pod licencí MIT/X11, viz přiložený soubor license.txt nebo http://www.opensource.org/licenses/mit-license.php.
+Šířen pod licencí MIT/X11, viz přiložený soubor COPYING nebo http://www.opensource.org/licenses/mit-license.php.
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.</translation>
</message>
@@ -35,102 +38,102 @@ Tento produkt zahrnuje programy vyvinuté OpenSSL Projektem pro použití v Open
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adresář</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dvojklikem myši začneš upravovat označení adresy</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Vytvoř novou adresu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>Nová &amp;adresa...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Zkopíruj aktuálně vybranou adresu do systémové schránky</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Zkopíruj do schránky</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>Nová &amp;adresa</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopíruj adresu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Zobraz &amp;QR kód</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Podepiš zprávu, čímž prokážeš, že jsi vlastníkem této adresy</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Podepiš zprávu, čímž prokážeš, že jsi vlastníkem Bitcoinové adresy</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>Po&amp;depiš zprávu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Smaž aktuálně vybranou adresu ze seznamu. Smazány mohou být pouze adresy příjemců.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Smaž zvolenou adresu ze seznamu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>S&amp;maž</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Ověř zprávu, aby ses ujistil, že byla podepsána danou Bitcoinovou adresou</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopíruj adresu</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Ověř zprávu</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopíruj označení</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>S&amp;maž</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Uprav</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopíruj &amp;označení</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Smaž</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Uprav</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Exportuj data adresáře</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>CSV formát (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Chyba při exportu</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Nemohu zapisovat do souboru %1.</translation>
</message>
@@ -138,17 +141,17 @@ Tento produkt zahrnuje programy vyvinuté OpenSSL Projektem pro použití v Open
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Označení</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresa</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(bez označení)</translation>
</message>
@@ -156,142 +159,140 @@ Tento produkt zahrnuje programy vyvinuté OpenSSL Projektem pro použití v Open
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Změna hesla</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Zadej platné heslo</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Zadej nové heslo</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Totéž heslo ještě jednou</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Zadej nové heslo k peněžence.&lt;br/&gt;Použij &lt;b&gt;alespoň 10 náhodných znaků&lt;/b&gt; nebo &lt;b&gt;alespoň osm slov&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Zašifruj peněženku</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>K provedení této operace musíš zadat heslo k peněžence, aby se mohla odemknout.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Odemkni peněženku</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>K provedení této operace musíš zadat heslo k peněžence, aby se mohla dešifrovat.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Dešifruj peněženku</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Změň heslo</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Zadej staré a nové heslo k peněžence.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Potvrď zašifrování peněženky</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>VAROVÁNÍ: Pokud zašifruješ peněženku a ztratíš či zapomeneš heslo, &lt;b&gt;PŘIJDEŠ O VŠECHNY BITCOINY&lt;/b&gt;!
-Jsi si jistý, že chceš peněženku zašifrovat?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Varování: Pokud si zašifruješ peněženku a ztratíš či zapomeneš heslo, &lt;b&gt;PŘIJDEŠ O VŠECHNY BITCOINY&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>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.</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Jsi si jistý, že chceš peněženku zašifrovat?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Upozornění: Caps Lock je zapnutý.</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Textový popisek</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Upozornění: Caps Lock je zapnutý!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>Peněženka je zašifrována</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>Bitcoin se teď ukončí, aby dokončil zašifrování. Pamatuj však, že pouhé zašifrování peněženky úplně nezabraňuje krádeži tvých bitcoinů malwarem, kterým se může počítač nakazit.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Zašifrování peněženky selhalo</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Zašifrování peněženky selhalo kvůli vnitřní chybě. Tvá peněženka tedy nebyla zašifrována.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Zadaná hesla nejsou shodná.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Odemčení peněženky selhalo</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Nezadal jsi správné heslo pro dešifrování peněženky.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Dešifrování peněženky selhalo</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation>Heslo k peněžence bylo v pořádku změněno.</translation>
</message>
@@ -299,252 +300,228 @@ Jsi si jistý, že chceš peněženku zašifrovat?</translation>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Zobraz seznam adres pro příjem plateb</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Po&amp;depiš zprávu...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>Synchronizuji se sítí...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Přehled</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Zobraz celkový přehled peněženky</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Transakce</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Export...</translation>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Procházet historii transakcí</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Adresář</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Uprav seznam uložených adres a jejich označení</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>Pří&amp;jem mincí</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Zobraz seznam adres pro příjem plateb</translation>
+ </message>
+ <message>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>P&amp;oslání mincí</translation>
+ </message>
+ <message>
+ <location line="+35"/>
<source>E&amp;xit</source>
<translation>&amp;Konec</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Ukončit aplikaci</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
<translation>Zobraz informace o Bitcoinu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
+ <location line="+2"/>
<source>About &amp;Qt</source>
<translation>O &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Zobraz informace o Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
+ <location line="+2"/>
<source>&amp;Options...</source>
<translation>&amp;Možnosti...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Procházet historii transakcí</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoinová peněženka</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Příchozí transakce</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Zašifruj nebo dešifruj peněženku</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Peněženka je &lt;b&gt;zašifrovaná&lt;/b&gt; a momentálně &lt;b&gt;zamčená&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Záloha peněženky</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Data peněženky (*.dat)</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>Zaši&amp;fruj peněženku...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Nastavení</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Zazálohuj peněženku...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>Ná&amp;pověda</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>Změň &amp;heslo...</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
<translation>
- <numerusform>včera</numerusform>
- <numerusform>před %n dny</numerusform>
- <numerusform>před %n dny</numerusform>
+ <numerusform>zbývá ~%n blok</numerusform>
+ <numerusform>zbývá ~%n bloky</numerusform>
+ <numerusform>zbývá ~%n bloků</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>Aktuální</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Staženo %1 z %2 bloků transakční historie (%3 % hotovo).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Ukončit aplikaci</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Export...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>&amp;Zazálohovat peněženku</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Pošli mince na Bitcoinovou adresu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Odeslané transakce</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Uprav nastavení Bitcoinu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
- <translation>Datum: %1
-Částka: %2
-Typ: %3
-Adresa: %4
-</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Exportovat data z tohoto panelu do souboru</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Zašifruj nebo dešifruj peněženku</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation>Zazálohuj peněženku na jiné místo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Soubor</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Změň heslo k šifrování peněženky</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoin klient</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Ladicí okno</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Změň heslo k šifrování peněženky</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>před minutou</numerusform>
- <numerusform>před %n minutami</numerusform>
- <numerusform>před %n minutami</numerusform>
- </translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Otevři ladicí a diagnostickou konzoli</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>před hodinou</numerusform>
- <numerusform>před %n hodinami</numerusform>
- <numerusform>před %n hodinami</numerusform>
- </translation>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Ověř zprávu...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;O %1</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>P&amp;oslání mincí</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Peněženka</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Po&amp;depiš zprávu</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>O &amp;Bitcoinu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Zobraz informace o Qt</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Zobraz/Skryj</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Zobrazit/Skrýt &amp;Bitcoin</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Soubor</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>Zaši&amp;fruj peněženku</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Nastavení</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>Změň &amp;heslo</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>Ná&amp;pověda</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation>Panel s listy</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation>Panel akcí</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoin klient</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n aktivní spojení do Bitcoinové sítě</numerusform>
@@ -553,12 +530,12 @@ Adresa: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>Staženo %1 bloků transakční historie.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>před vteřinou</numerusform>
@@ -566,600 +543,825 @@ Adresa: %4
<numerusform>před %n vteřinami</numerusform>
</translation>
</message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>před minutou</numerusform>
+ <numerusform>před %n minutami</numerusform>
+ <numerusform>před %n minutami</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>před hodinou</numerusform>
+ <numerusform>před %n hodinami</numerusform>
+ <numerusform>před %n hodinami</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>včera</numerusform>
+ <numerusform>před %n dny</numerusform>
+ <numerusform>před %n dny</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Aktuální</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Stahuji...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Poslední stažený blok byl vygenerován %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+58"/>
<source>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?</source>
- <translation type="unfinished"></translation>
+ <translation>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?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Peněženka je &lt;b&gt;zašifrovaná&lt;/b&gt; a momentálně &lt;b&gt;odemčená&lt;/b&gt;</translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Potvrď transakční poplatek</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Zálohování selhalo</translation>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Odeslané transakce</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Při ukládání peněženky na nové místo se přihodila nějaká chyba.</translation>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Příchozí transakce</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>zbývá ~%n blok</numerusform>
- <numerusform>zbývá ~%n bloky</numerusform>
- <numerusform>zbývá ~%n bloků</numerusform>
- </translation>
+ <message>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>Datum: %1
+Částka: %2
+Typ: %3
+Adresa: %4
+</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Pošli mince na Bitcoinovou adresu</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>Zpracování URI</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Staženo %1 z %2 bloků transakční historie (%3 % hotovo).</translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>Nepodařilo se analyzovat URI! Důvodem může být neplatná Bitcoinová adresa nebo poškozené parametry URI.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Prokaž vlastnictví adresy</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Peněženka je &lt;b&gt;zašifrovaná&lt;/b&gt; a momentálně &lt;b&gt;odemčená&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Uprav nastavení Bitcoinu</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Peněženka je &lt;b&gt;zašifrovaná&lt;/b&gt; a momentálně &lt;b&gt;zamčená&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Exportovat data z tohoto panelu do souboru</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Záloha peněženky</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Zobraz nebo skryj okno Bitcoinu</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Data peněženky (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Posílám...</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Zálohování selhalo</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Při ukládání peněženky na nové místo se přihodila nějaká chyba.</translation>
+ </message>
+ <message>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation>Stala se fatální chyba. Bitcoin nemůže bezpečně pokračovat v činnosti, a proto skončí.</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Jednotka pro částky: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Zvol výchozí podjednotku, která se bude zobrazovat v programu a při posílání mincí</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Ukazovat adresy ve výpisu transakcí</translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Zda ukazovat bitcoinové adresy ve výpisu transakcí nebo ne</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Upozornění sítě</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Uprav adresu</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Označení</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Označení spojené s tímto záznamem v adresáři</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adresa</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Adresa spojená s tímto záznamem v adresáři. Lze upravovat jen pro odesílací adresy.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Nová přijímací adresa</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Nová odesílací adresa</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Uprav přijímací adresu</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Uprav odesílací adresu</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Zadaná adresa &quot;%1&quot; už v adresáři je.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation>Zadaná adresa &quot;%1&quot; není platná Bitcoinová adresa.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Nemohu odemknout peněženku.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Nepodařilo se mi vygenerovat nový klíč.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Spustit Bitcoin při startu systému</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Automaticky spustí Bitcoin po zapnutí počítače</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>verze</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimalizovávat do ikony v panelu</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Užití:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Po minimalizaci okna zobrazí pouze ikonu v panelu</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>možnosti příkazové řádky</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Namapovat port přes &amp;UPnP</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>Možnosti UI</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Automaticky otevře potřebný port na routeru. Tohle funguje jen za předpokladu, že tvůj router podporuje UPnP a že je UPnP povolené.</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Nastavit jazyk, například &quot;de_DE&quot; (výchozí: systémové nastavení)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>&amp;Zavřením minimalizovat</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Startovat minimalizovaně</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Zavřením se aplikace minimalizuje. Pokud je tato volba zaškrtnuta, tak se aplikace ukončí pouze zvolením Konec v menu.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Zobrazovat startovací obrazovku (výchozí: 1)</translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Připojit přes SOCKS4 proxy:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Možnosti</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Připojí se do Bitcoinové sítě přes SOCKS4 proxy (např. když se připojuje přes Tor)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Hlavní</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>&amp;IP adresa proxy:</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP adresa proxy (např. 127.0.0.1)</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Platit &amp;transakční poplatek</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>P&amp;ort: </translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Automaticky spustí Bitcoin po přihlášení do systému.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Port proxy (např. 1234)</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Spustit Bitcoin po přihlášení do systému</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Platit &amp;transakční poplatek</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Při ukončování odpojit databáze bloků a adres. To znamená, že mohou být přesunuty do jiného adresáře, ale prodlužuje to čas potřebný k ukončení. Peněženka je vždy odpojená.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Při ukončování odpojit databáze</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>Při ukončování &amp;odpojit databáze</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Při ukončování odpojit databáze bloků a adres. To znamená, že mohou být přesunuty do jiného adresáře, ale prodlužuje to čas potřebný k ukončení. Peněženka je vždy odpojená.</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Síť</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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.</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Automaticky otevře potřebný port na routeru. Tohle funguje jen za předpokladu, že tvůj router podporuje UPnP a že je UPnP povolené.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Zpráva</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Namapovat port přes &amp;UPnP</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Podepsáním zprávy svými adresami můžeš prokázat, že je skutečně vlastníš. Buď opatrný a nepodepisuj nic vágního; například při phishingových útocích můžeš být lákán, abys něco takového podepsal. Podepisuj pouze zcela úplná a detailní prohlášení, se kterými souhlasíš.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Připojí se do Bitcoinové sítě přes SOCKS proxy (např. když se připojuje přes Tor).</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Adresa, kterou se zpráva podepíše (např. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Připojit přes SOCKS proxy:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Vyber adresu z adresáře</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>&amp;IP adresa proxy:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP adresa proxy (např. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Vlož adresu ze schránky</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>P&amp;ort:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+V</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Port proxy (např. 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Sem vepiš zprávu, kterou chceš podepsat</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>&amp;Verze SOCKS:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Kliknutím na &quot;Podepiš zprávu&quot; získáš podpis</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Verze SOCKS proxy (např. 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Podepiš zprávu, čímž prokážeš, že jsi vlastníkem této adresy</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Okno</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Podepiš zprávu</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Po minimalizaci okna zobrazí pouze ikonu v panelu.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Zkopíruj do schránky</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimalizovávat do ikony v panelu</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Chyba při podepisování</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Zavřením se aplikace minimalizuje. Pokud je tato volba zaškrtnuta, tak se aplikace ukončí pouze zvolením Konec v menu.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 není platná adresa.</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>&amp;Zavřením minimalizovat</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Soukromý klíč pro %1 není dostupný.</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Zobrazení</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Podepisování selhalo</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>&amp;Jazyk uživatelského rozhraní:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Zkopíruj aktuálně vybraný podpis do systémové schránky</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Tady lze nastavit jazyk uživatelského rozhraní. Nastavení se projeví až po restartování Bitcoinu.</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Hlavní</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Jednotka pro částky: </translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Zobrazení</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Zvol výchozí podjednotku, která se bude zobrazovat v programu a při posílání mincí.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Možnosti</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Zda ukazovat bitcoinové adresy ve výpisu transakcí nebo ne.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Ukazovat adresy ve výpisu transakcí</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;Budiž</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Zrušit</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Uložit</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>výchozí</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Upozornění</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Nastavení se projeví až po restartování Bitcoinu.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Zadaná adresa proxy je neplatná.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>Počet transakcí:</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Formulář</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Stav účtu:</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Peněženka</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Stav účtu:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Počet transakcí:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Nepotvrzeno:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Celkem z transakcí, které ještě nejsou potvrzené a které se ještě nezapočítávají do celkového stavu účtu</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Peněženka</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Celkový počet transakcí v peněžence</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Nedozráno:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Vytěžené mince, které ještě nejsou zralé</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Poslední transakce&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Aktuální stav tvého účtu</translation>
</message>
-</context>
-<context>
- <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Zpráva:</translation>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Celkem z transakcí, které ještě nejsou potvrzené a které se ještě nezapočítávají do celkového stavu účtu</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Celkový počet transakcí v peněžence</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>nesynchronizováno</translation>
+ </message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
+ <message>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation>QR kód</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation>Požadovat platbu</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Částka:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Označení:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Zpráva:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;Ulož jako...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation>Chyba při kódování URI do QR kódu.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>Ulož obrázek...</translation>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Zadaná částka je neplatná, překontroluj ji prosím.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>Výsledná URI je příliš dlouhá, zkus zkrátit text označení / zprávy.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Ulož QR kód</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>PNG obrázky (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>Výsledná URI je příliš dlouhá, zkus zkrátit text označení / zprávy.</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Název klienta</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>N/A</translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Verze klienta</translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Informace</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Používaná verze OpenSSL</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Čas spuštění</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Síť</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Počet spojení</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>V testnetu</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Řetězec bloků</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Aktuální počet bloků</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Odhad celkového počtu bloků</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Čas posledního bloku</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Otevřít</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Argumenty z příkazové řádky</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Seznam parametrů Bitcoinu pro příkazovou řádku získáš v nápovědě Bitcoinu Qt.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Zobrazit</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Konzole</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Datum kompilace</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - ladicí okno</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Jádro Bitcoinu</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Soubor s ladicími záznamy</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Otevři soubor s ladicími záznamy Bitcoinu z aktuálního datového adresáře. U velkých logů to může pár vteřin zabrat.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Vyčistit konzoli</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Vítej v Bitcoinové RPC konzoli.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>V historii se pohybuješ šipkami nahoru a dolů a pomocí &lt;b&gt;Ctrl-L&lt;/b&gt; vyčistíš obrazovku.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Napsáním &lt;b&gt;help&lt;/b&gt; si vypíšeš přehled dostupných příkazů.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Pošli mince</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Pošli více příjemcům naráz</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>Při&amp;dej příjemce...</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Při&amp;dej příjemce</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Všechno smaž</translation>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Smaž všechny transakční formuláře</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
- <source>123.456 BTC</source>
- <translation>123.456 BTC</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Všechno &amp;smaž</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation>&amp;Pošli</translation>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Stav účtu:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
- <source>Remove all transaction fields</source>
- <translation>Smaž všechny transakční formuláře</translation>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Potvrď odeslání</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Stav účtu:</translation>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>&amp;Pošli</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; pro %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Potvrď odeslání mincí</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> a </translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Jsi si jistý, že chceš poslat %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> a </translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Adresa příjemce je neplatná, překontroluj ji prosím.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Odesílaná částka musí být větší než 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Částka překračuje stav účtu.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Celková částka při připočítání poplatku %1 překročí stav účtu.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Zaznamenána duplikovaná adresa; každá adresa může být v odesílané platbě pouze jednou.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Chyba: Vytvoření transakce selhalo.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>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.</translation>
</message>
@@ -1167,217 +1369,442 @@ Adresa: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Formulář</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>Čá&amp;stka:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>&amp;Komu:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Zadej označení této adresy; obojí se ti pak uloží do adresáře</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Označení:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Adresa příjemce (např. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Vyber adresu z adresáře</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Vlož adresu ze schránky</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Smaž tohoto příjemce</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Zadej Bitcoinovou adresu (např. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/nepotvrzeno</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Podpisy - podepsat/ověřit zprávu</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>neznámo</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Podepiš zprávu</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Podepsáním zprávy svými adresami můžeš prokázat, že je skutečně vlastníš. Buď opatrný a nepodepisuj nic vágního; například při phishingových útocích můžeš být lákán, abys něco takového podepsal. Podepisuj pouze zcela úplná a detailní prohlášení, se kterými souhlasíš.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adresa, kterou se zpráva podepíše (např. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Vyber adresu z adresáře</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Vlož adresu ze schránky</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Sem vepiš zprávu, kterou chceš podepsat</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Zkopíruj aktuálně vybraný podpis do systémové schránky</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Podepiš zprávu, čímž prokážeš, že jsi vlastníkem této Bitcoinové adresy</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Vymaž všechna pole formuláře pro podepsání zrávy</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Všechno &amp;smaž</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Ověř zprávu</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>K ověření podpisu zprávy zadej podepisující adresu, zprávu (ověř si, že správně kopíruješ zalomení řádků, mezery, tabulátory apod.) a podpis. Dávej pozor na to, abys nezkopíroval do podpisu víc, než co je v samotné podepsané zprávě, abys nebyl napálen man-in-the-middle útokem.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adresa, kterou je zpráva podepsána (např. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Ověř zprávu, aby ses ujistil, že byla podepsána danou Bitcoinovou adresou</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Vymaž všechna pole formuláře pro ověření zrávy</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Zadej Bitcoinovou adresu (např. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Kliknutím na &quot;Podepiš zprávu&quot; vygeneruješ podpis</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Vlož Bitcoinový podpis</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Zadaná adresa je neplatná.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Zkontroluj ji prosím a zkus to pak znovu.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>Zadaná adresa nepasuje ke klíči.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Odemčení peněženky bylo zrušeno.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Soukromý klíč pro zadanou adresu není dostupný.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Podepisování zprávy selhalo.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Zpráv podepsána.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Podpis nejde dekódovat.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Zkontroluj ho prosím a zkus to pak znovu.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>Podpis se neshoduje s hašem zprávy.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Ověřování zprávy selhalo.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Zpráva ověřena.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Otřevřeno dokud %1</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Otevřeno pro 1 blok</numerusform>
+ <numerusform>Otevřeno pro %n bloky</numerusform>
+ <numerusform>Otevřeno pro %n bloků</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/offline</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/nepotvrzeno</translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 potvrzení</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, ještě nebylo rozesláno</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Stav</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, rozesláno přes 1 uzel</numerusform>
+ <numerusform>, rozesláno přes %n uzly</numerusform>
+ <numerusform>, rozesláno přes %n uzlů</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Zdroj:&lt;/b&gt; Vygenerováno&lt;br&gt;</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Datum</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Od:&lt;/b&gt; </translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Zdroj</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Pro:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Vygenerováno</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>ID transakce:</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Od</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Vygenerované mince musí čekat 120 bloků, než mohou být utraceny. Když jsi vygeneroval tenhle blok, tak byl rozposlán do sítě, aby byl přidán do řetězce bloků. Pokud se mu nepodaří dostat se do řetězce, změní se na &quot;neakceptovaný&quot; a nepůjde utratit. Občas se to může stát, když jiný uzel vygeneruje blok zhruba ve stejném okamžiku jako ty.</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Pro</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (tvoje, označení: </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>vlastní adresa</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Otevřeno pro %1 bloků</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>označení</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/offline?</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Příjem</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>dozraje po jednom bloku</numerusform>
+ <numerusform>dozraje po %n blocích</numerusform>
+ <numerusform>dozraje po %n blocích</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Stav:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>neakceptováno</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, rozesláno přes %1 uzel</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Výdaj</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, rozesláno přes %1 uzlů</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Transakční poplatek</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Datum:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Čistá částka</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (tvoje)</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Zpráva</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(neakceptováno)</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Komentář</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Zpráva:</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID transakce</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Komentář:</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Vygenerované mince musí čekat 120 bloků, než mohou být utraceny. Když jsi vygeneroval tenhle blok, tak byl rozposlán do sítě, aby byl přidán do řetězce bloků. Pokud se mu nepodaří dostat se do řetězce, změní se na &quot;neakceptovaný&quot; a nepůjde utratit. To se občas může stát, pokud jiný uzel vygeneruje blok zhruba ve stejném okamžiku jako ty.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Příjem:&lt;/b&gt; </translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Ladicí informace</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 dozraje po %2 blocích)</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transakce</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Výdaj:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Vstupy</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Transakční poplatek:&lt;/b&gt; </translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Částka</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>true</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Čistá částka:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>false</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, ještě nebylo rozesláno</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>neznámo</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Detaily transakce</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Toto okno zobrazuje detailní popis transakce</translation>
</message>
@@ -1385,289 +1812,289 @@ Adresa: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>Částka</translation>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Datum</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Typ</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresa</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Datum</translation>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Částka</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Otevřeno pro 1 blok</numerusform>
+ <numerusform>Otevřeno pro %n bloky</numerusform>
+ <numerusform>Otevřeno pro %n bloků</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Otřevřeno dokud %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Offline (%1 potvrzení)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Nepotvrzeno (%1 z %2 potvrzení)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Potvrzeno (%1 potvrzení)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Vytěžené mince budou použitelné po dozrání, tj. po jednom bloku</numerusform>
+ <numerusform>Vytěžené mince budou použitelné po dozrání, tj. po %n blocích</numerusform>
+ <numerusform>Vytěžené mince budou použitelné po dozrání, tj. po %n blocích</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Tento blok nedostal žádný jiný uzel a pravděpodobně nebude akceptován!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Vygenerováno, ale neakceptováno</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Typ</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
- <source>Open for %n block(s)</source>
- <translation>
- <numerusform>Otevřeno pro 1 blok</numerusform>
- <numerusform>Otevřeno pro %n bloky</numerusform>
- <numerusform>Otevřeno pro %n bloků</numerusform>
- </translation>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Přijato do</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Vytěžené mince budou použitelné po jednom bloku</numerusform>
- <numerusform>Vytěžené mince budou použitelné po %n blocích</numerusform>
- <numerusform>Vytěžené mince budou použitelné po %n blocích</numerusform>
- </translation>
+ <message>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Přijato od</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
- <source>Received with</source>
- <translation>Přijato do</translation>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Posláno na</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Platba sama sobě</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Přijato od</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Vytěženo</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>Posláno na</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Stav transakce. Najetím myši na toto políčko si zobrazíš počet potvrzení.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
- <source>Destination address of transaction.</source>
- <translation>Cílová adresa transakce.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Datum a čas přijetí transakce.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Částka odečtená z nebo přičtená k účtu.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Druh transakce.</translation>
</message>
+ <message>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Cílová adresa transakce.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Částka odečtená z nebo přičtená k účtu.</translation>
+ </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Zadej adresu nebo označení pro její vyhledání</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Kopíruj adresu</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Vše</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Kopíruj její označení</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Dnes</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Kopíruj částku</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Tento týden</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Uprav označení</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Tento měsíc</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Exportuj transakční data</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Minulý měsíc</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Potvrzeno</translation>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Letos</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>Minimální částka</translation>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Rozsah...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Typ</translation>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Přijato</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Posláno</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Sám sobě</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>Vytěženo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Vše</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Dnes</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Tento týden</translation>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Ostatní</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Tento měsíc</translation>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Zadej adresu nebo označení pro její vyhledání</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Minulý měsíc</translation>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Minimální částka</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Letos</translation>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Kopíruj adresu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Rozsah...</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Kopíruj její označení</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Přijato</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Kopíruj částku</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Posláno</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Uprav označení</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Ostatní</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Zobraz detaily transakce</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Zobraz detaily....</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Exportuj transakční data</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>CSV formát (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Potvrzeno</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Typ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Label</source>
<translation>Označení</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation>Adresa</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation>Částka</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Chyba při exportu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Nemohu zapisovat do souboru %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation>Rozsah:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation>až</translation>
</message>
@@ -1675,7 +2102,7 @@ Adresa: %4
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Posílám...</translation>
</message>
@@ -1683,494 +2110,627 @@ Adresa: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Adresář pro data</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Verze Bitcoinu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Práh pro odpojování nesprávně se chovajících uzlů (výchozí: 100)</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Užití:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
+ <location line="-25"/>
<source>Send command to -server or bitcoind</source>
<translation>Poslat příkaz pro -server nebo bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Výpis příkazů</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Získat nápovědu pro příkaz</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Options:</source>
<translation>Možnosti:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Přeskenovávám...</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Konfigurační soubor (výchozí: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Připojit před ladicí výstup časové razítko</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>PID soubor (výchozí: bitcoind.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Převést peněženku na nejnovější formát</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generovat mince</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Poplatek za KB, který se přidá ke každé odeslané transakci</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Negenerovat mince</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Verze Bitcoinu</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Adresář pro data</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Uživatelské jméno pro JSON-RPC spojení</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Nastavit velikost databázové vyrovnávací paměti v megabajtech (výchozí: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Použít testovací síť (testnet)</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Nastavit velikost databázového souboru s logy v megabajtech (výchozí: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Chyba při načítání wallet.dat</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Čekat na spojení na &lt;portu&gt; (výchozí: 8333 nebo testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Načítám peněženku...</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Povol nejvýše &lt;n&gt; připojení k uzlům (výchozí: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Nemohu inicializovat zásobník klíčů</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Připojit se k uzlu, získat adresy jeho protějšků a odpojit se</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Generovat mince</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Specifikuj svou veřejnou adresu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Poslouchat na zadané adrese. Pro zápis IPv6 adresy použij notaci [adresa]:port</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Práh pro odpojování nesprávně se chovajících uzlů (výchozí: 100)</translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Doba ve vteřinách, po kterou se nebudou moci nesprávně se chovající uzly znovu připojit (výchozí: 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Při nastavování naslouchacího RPC portu %i pro IPv4 nastala chyba: %s</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>Při nastavování naslouchacího RPC portu %u pro IPv6 nastala chyba, vracím se k IPv4: %s</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Odpojit databázi bloků a adres. Prodlužuje čas potřebný k ukončení (výchozí: 0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>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í </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Čekat na JSON RPC spojení na &lt;portu&gt; (výchozí: 8332 nebo testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Akceptovat příkazy z příkazové řádky a přes JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
<source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Chyba: Vytvoření transakce selhalo.</translation>
+ <translation>Chyba: Vytvoření transakce selhalo.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">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.</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Chyba: Peněženka je zamčená, nemohu vytvořit transakci </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Při nastavování naslouchacího RPC portu %u nastala chyba: %s</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Importuji soubor s řetězcem bloků.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Připojovat se pouze k udanému uzlu</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Importuji iniciální soubor s řetězcem bloků.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Běžet na pozadí jako démon a akceptovat příkazy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Chyba při načítání blkindex.dat</translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Použít testovací síť (testnet)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Chyba při načítání wallet.dat: peněženka je poškozená</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Přijímat spojení zvenčí (výchozí: 1, pokud není zadáno -proxy nebo -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Nemohu převést peněženku do staršího formátu</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Nastavit maximální velikost prioritních/nízkopoplatkových transakcí v bajtech (výchozí: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Načítání dokončeno</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Upozornění: -paytxfee je nastaveno velmi vysoko! Toto je transakční poplatek, který zaplatíš za každou poslanou transakci.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Posílat stopovací/ladicí informace do debuggeru</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Upozornění: Zobrazené transakce nemusí být správné! Možná potřebuješ aktualizovat nebo ostatní uzly potřebují aktualizovat.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Negenerovat mince</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Upozornění: Zkontroluj, že máš v počítači správně nastavený datum a čas! Pokud jsou nastaveny špatně, Bitcoin nebude fungovat správně.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Načítám index bloků...</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Možnosti vytvoření bloku:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Použít OpenSSL (https) pro JSON-RPC spojení</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Připojovat se pouze k zadaným uzlům</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Soubor se serverovým certifikátem (výchozí: server.cert)</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Zjistit vlastní IP adresu (výchozí: 1, pokud naslouchá a není zadáno -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Soubor se serverovým soukromým klíčem (výchozí: server.pem)</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Nepodařilo se naslouchat na žádném portu. Použij -listen=0, pokud to byl tvůj záměr.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Soubor s peněženkou potřeboval přepsat: restartuj Bitcoin, aby se operace dokončila</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Hledat uzly přes DNS (výchozí: 1, pokud není zadáno -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, musíš nastavit rpcpassword v konfiguračním souboru:
- %s
-Je vhodné použít následující náhodné heslo:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(není potřeba si ho pamatovat)
-Pokud konfigurační soubor ještě neexistuje, vytvoř ho tak, aby ho mohl číst pouze vlastník.
-</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Neplatná -tor adresa: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Musíš nastavit rpcpassword=&lt;heslo&gt; v konfiguračním souboru:
-%s
-Pokud konfigurační soubor ještě neexistuje, vytvoř ho tak, aby ho mohl číst pouze vlastník.</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Maximální velikost přijímacího bufferu pro každé spojení, &lt;n&gt;*1000 bajtů (výchozí: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Chyba</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Maximální velikost odesílacího bufferu pro každé spojení, &lt;n&gt;*1000 bajtů (výchozí: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Posílám...</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Připojovat se pouze k uzlům v &lt;net&gt; síti (IPv4, IPv6 nebo Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Nedostatek prostředků</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Tisknout speciální ladicí informace. Implikuje použití všechny -debug* voleb</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>K použití volby %s</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Tisknout speciální ladicí informace o síti</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Hledat uzly přes IRC (výchozí: 0)</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Připojit před ladicí výstup časové razítko</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>Nastavit velikost databázové vyrovnávací paměti v megabajtech (výchozí: 25)</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>Možnosti SSL: (viz instrukce nastavení SSL v Bitcoin Wiki)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Nastavit velikost databázového souboru s logy v megabajtech (výchozí: 100)</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Zvol verzi socks proxy (4-5, výchozí: 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Povol nejvýše &lt;n&gt; připojení k uzlům (výchozí: 125)</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Posílat stopovací/ladicí informace do konzole místo do souboru debug.log</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Konfigurační soubor (výchozí: bitcoin.conf)</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Posílat stopovací/ladicí informace do debuggeru</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Zadej časový limit spojení (v milisekundách)</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Nastavit maximální velikost bloku v bajtech (výchozí: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Užití:</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Nastavit minimální velikost bloku v bajtech (výchozí: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Doba ve vteřinách, po kterou se nebudou moci nesprávně se chovající uzly znovu připojit (výchozí: 86400)</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Při spuštění klienta zmenšit soubor debug.log (výchozí: 1, pokud není zadáno -debug)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Nedaří se mi získat zámek na datový adresář %s. Bitcoin pravděpodobně už jednou běží.</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Zadej časový limit spojení v milisekundách (výchozí: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Spustit příkaz, když se změní nejlepší blok (%s se v příkazu nahradí hashem bloku)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Použít UPnP k namapování naslouchacího portu (výchozí: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Použít UPnP k namapování naslouchacího portu (výchozí: 1, pokud naslouchá)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Použít proxy k připojení ke skryté služby (výchozí: stejné jako -proxy)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Uživatelské jméno pro JSON-RPC spojení</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Upozornění: Na disku je málo místa!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Upozornění: tahle verze je zastaralá, měl bys ji aktualizovat!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
<source>Password for JSON-RPC connections</source>
<translation>Heslo pro JSON-RPC spojení</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Čekat na JSON-RPC spojení na &lt;portu&gt; (výchozí: 8332)</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Povolit JSON-RPC spojení ze specifikované IP adresy</translation>
+ </message>
+ <message>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Posílat příkazy uzlu běžícím na &lt;ip&gt; (výchozí: 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Spustit příkaz, když se změní nejlepší blok (%s se v příkazu nahradí hashem bloku)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Převést peněženku na nejnovější formát</translation>
+ </message>
+ <message>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation>Nastavit zásobník klíčů na velikost &lt;n&gt; (výchozí: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation>Přeskenovat řetězec bloků na chybějící transakce tvé pěněženky</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Výpis příkazů</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Kolik bloků při startu zkontrolovat (výchozí: 2500, 0 = všechny)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Získat nápovědu pro příkaz</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Jak moc důkladná má verifikace bloků být (0-6, výchozí: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Čekat na spojení na &lt;portu&gt; (výchozí: 8333 nebo testnet: 18333)</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Importuje bloky z externího souboru blk000?.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Běžet na pozadí jako démon a akceptovat příkazy</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Použít OpenSSL (https) pro JSON-RPC spojení</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>PID soubor (výchozí: bitcoind.pid)</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Soubor se serverovým certifikátem (výchozí: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Soubor se serverovým soukromým klíčem (výchozí: server.pem)</translation>
+ </message>
+ <message>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Akceptovatelné šifry (výchozí: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ </message>
+ <message>
+ <location line="+139"/>
<source>This help message</source>
<translation>Tato nápověda</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Užití</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Nedaří se mi získat zámek na datový adresář %s. Bitcoin pravděpodobně už jednou běží.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Načítám adresy...</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Povolit DNS dotazy pro addnode (přidání uzlu) a connect (připojení)</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Nedaří se mi připojit na %s na tomhle počítači (operace bind vrátila chybu %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation>Přijímat spojení zvenčí (výchozí: 1)</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Připojovat se přes socks proxy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Nastavit jazyk, například &quot;de_DE&quot; (výchozí: systémové nastavení)</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Povolit DNS dotazy pro -addnode (přidání uzlu), -seednode a -connect (připojení)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation type="unfinished">Hledat uzly přes DNS (výchozí: 1)</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Načítám adresy...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Použít UPnP k namapování naslouchacího portu (výchozí: 1)</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Chyba při načítání blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Zobrazovat startovací obrazovku (výchozí: 1)</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Chyba při načítání wallet.dat: peněženka je poškozená</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Tisknout speciální ladící informace</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Chyba při načítání wallet.dat: peněženka vyžaduje novější verzi Bitcoinu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Kolik bloků při startu zkontrolovat (výchozí: 2500, 0 = všechny)</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Soubor s peněženkou potřeboval přepsat: restartuj Bitcoin, aby se operace dokončila</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Jak moc důkladná má verifikace bloků být (0-6, výchozí: 1)</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Chyba při načítání wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Upozornění: Na disku je málo místa</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Neplatná -proxy adresa: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Nemohu napsat výchozí adresu</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>V -onlynet byla uvedena neznámá síť: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Neplatná -proxy adresa</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>V -socks byla požadována neznámá verze proxy: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Neplatná částka pro -paytxfee=&lt;částka&gt;</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Nemohu přeložit -bind adresu: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Chyba: Selhalo CreateThread(StartNode)</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Nemohu přeložit -externalip adresu: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Nedaří se mi připojit na port %d na tomhle počítači. Bitcoin už pravděpodobně jednou běží.</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Neplatná částka pro -paytxfee=&lt;částka&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Upozornění: Zkontroluj, že máš v počítači správně nastavený datum a čas. Pokud jsou nastaveny špatně, Bitcoin nebude fungovat správně.</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Chyba: nemohu nastartovat uzel</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Akceptovat příkazy z příkazové řádky a přes JSON-RPC</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Posílám...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maximální velikost odesílacího bufferu pro každé spojení, &lt;n&gt;*1000 bytů (výchozí: 10000)</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Neplatná částka</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Startovat minimalizovaně</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Nedostatek prostředků</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Připojovat se přes socks4 proxy</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Načítám index bloků...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Použít UPnP k namapování naslouchacího portu (výchozí: 0)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Přidat uzel, ke kterému se připojit a snažit se spojení udržet</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Upozornění: -paytxfee je nastaveno velmi vysoko. Toto je transakční poplatek, který zaplatíš za každou poslanou transakci.</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Nedaří se mi připojit na %s na tomhle počítači. Bitcoin už pravděpodobně jednou běží.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Povolit JSON-RPC spojení ze specifikované IP adresy</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Hledat uzly přes IRC (výchozí: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maximální velikost přijímacího bufferu pro každé spojení, &lt;n&gt;*1000 bytů (výchozí: 10000)</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Poplatek za KB, který se přidá ke každé odeslané transakci</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Neplatná částka</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Načítám peněženku...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Akceptovatelné šifry (výchozí: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Nemohu převést peněženku do staršího formátu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Přidat uzel, ke kterému se připojit a snažit se spojení udržet</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Nemohu inicializovat zásobník klíčů</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-Možnosti SSL: (viz instrukce nastavení SSL v Bitcoin Wiki)</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Nemohu napsat výchozí adresu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Odpojit databázi bloků a adres. Prodlužuje čas potřebný k ukončení (výchozí: 0)</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Přeskenovávám...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Načítání dokončeno</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Chyba při načítání addr.dat</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>K použití volby %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Chyba při načítání wallet.dat: peněženka vyžaduje novější verzi Bitcoinu</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, musíš nastavit rpcpassword v konfiguračním souboru:
+ %s
+Je vhodné použít následující náhodné heslo:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(není potřeba si ho pamatovat)
+Pokud konfigurační soubor ještě neexistuje, vytvoř ho tak, aby ho mohl číst pouze vlastník.
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Posílat příkazy uzlu běžícím na &lt;ip&gt; (výchozí: 127.0.0.1)</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Chyba</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Posílat stopovací/ladicí informace do konzole místo do souboru debug.log</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Musíš nastavit rpcpassword=&lt;heslo&gt; v konfiguračním souboru:
+%s
+Pokud konfigurační soubor ještě neexistuje, vytvoř ho tak, aby ho mohl číst pouze vlastník.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts
index d5e72e12f3..3a1f5d0c3b 100644
--- a/src/qt/locale/bitcoin_da.ts
+++ b/src/qt/locale/bitcoin_da.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Om Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; version</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Developers
-
+ <translation>
Dette program er ekperimentielt.
-Det er gjort tilgængeligt under MIT/X11 softwarelicensen. Se den tilhørende fil &quot;license.txt&quot; eller http://www.opensource.org/licenses/mit-license.php.
+Det er gjort tilgængeligt under MIT/X11 softwarelicensen. Se den tilhørende fil &quot;COPYING&quot; 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.</translation>
</message>
@@ -35,120 +38,120 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adressebog</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dobbeltklik for at redigere adresse eller mærkat</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Opret en ny adresse</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Kommasepareret fil (*. csv)</translation>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Kopier den valgte adresse til systemets udklipsholder</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Error exporting</source>
- <translation>Fejl under eksport</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Ny adresse</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Kunne ikke skrive til filen %1.</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Ny adresse ...</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopier adresse</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
- <translation>Kopier den valgte adresse til systemets udklipsholder</translation>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopier til Udklipsholder</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
- <source>Show &amp;QR Code</source>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
- <source>Sign &amp;Message</source>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Slet den valgte adresse fra listen. Kun adresser brugt til afsendelse kan slettes.</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
+ <location line="+14"/>
<source>&amp;Delete</source>
<translation>&amp;Slet</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation type="unfinished">Slet</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopier &amp;etiket</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopier adresse</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>R&amp;ediger</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopier etiket</translation>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Eksporter Adressekartoteketsdata</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation type="unfinished">Rediger</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Kommasepareret fil (*. csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
- <source>Export Address Book Data</source>
- <translation>Eksporter Adressekartoteketsdata</translation>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Fejl under eksport</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Kunne ikke skrive til filen %1.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etiket</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresse</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(ingen etiket)</translation>
</message>
@@ -156,142 +159,140 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Indtast adgangskode</translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Ny adgangskode</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Gentag ny adgangskode</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
- <source>Change passphrase</source>
- <translation>Skift adgangskode</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Indtast den nye adgangskode til tegnebogen.&lt;br/&gt;Brug venligst en adgangskode på &lt;b&gt;10 eller flere tilfældige tegn&lt;/b&gt;, eller &lt;b&gt;otte eller flere ord&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
- <source>Enter passphrase</source>
- <translation>Indtast adgangskode</translation>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Krypter tegnebog</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
- <source>Decrypt wallet</source>
- <translation>Dekryptér tegnebog</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Denne funktion har brug for din tegnebogs kodeord for at låse tegnebogen op.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Lås tegnebog op</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Tegnebogskryptering mislykkedes</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Denne funktion har brug for din tegnebogs kodeord for at dekryptere tegnebogen.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TekstEtiket</translation>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Dekryptér tegnebog</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Indtast den nye adgangskode til tegnebogen.&lt;br/&gt;Brug venligst en adgangskode på &lt;b&gt;10 eller flere tilfældige tegn&lt;/b&gt;, eller &lt;b&gt;otte eller flere ord&lt;/b&gt;.</translation>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Skift adgangskode</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Denne funktion har brug for din tegnebogs kodeord for at dekryptere tegnebogen.</translation>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Indtast den gamle og nye adgangskode til tegnebogen.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
- <source>Unlock wallet</source>
- <translation>Lås tegnebog op</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Bekræft tegnebogskryptering</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Denne funktion har brug for din tegnebogs kodeord for at låse tegnebogen op.</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Advarsel: Hvis du krypterer din tegnebog og mister dit kodeord vil du &lt;b&gt;miste alle dine BITCOINS&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Bekræft tegnebogskryptering</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Er du sikker på at du ønsker at kryptere din tegnebog?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Tegnebogskryptering mislykkedes på grund af en intern fejl. Din tegnebog blev ikke krypteret.</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Tegnebog krypteret</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Krypter tegnebog</translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>De angivne kodeord stemmer ikke overens.</translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Tegnebogskryptering mislykkedes</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>Tegnebogsdekryptering mislykkedes</translation>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Tegnebogskryptering mislykkedes på grund af en intern fejl. Din tegnebog blev ikke krypteret.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>Tegnebogsoplåsning mislykkedes</translation>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>De angivne kodeord stemmer ikke overens.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Indtast den gamle og nye adgangskode til tegnebogen.</translation>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>Tegnebogsoplåsning mislykkedes</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Det angivne kodeord for tegnebogsdekrypteringen er forkert.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ADVARSEL: Hvis du krypterer din tegnebog og mister dit kodeord vil du &lt;b&gt;miste alle dine BITCOINS&lt;/b&gt;!
-Er du sikker på at du ønsker at kryptere din tegnebog?</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Tegnebog krypteret</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>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.</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Tegnebogsdekryptering mislykkedes</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation>Tegnebogskodeord blev ændret.</translation>
</message>
@@ -299,203 +300,227 @@ Er du sikker på at du ønsker at kryptere din tegnebog?</translation>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Synkroniserer med netværk ...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Oversigt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Vis generel oversigt over tegnebog</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Gennemse transaktionshistorik</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Transaktioner</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Indstillinger ...</translation>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Gennemse transaktionshistorik</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Adressebog</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Rediger konfigurationsindstillinger af bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Oversigt</translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Rediger listen over gemte adresser og etiketter</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>&amp;Modtag coins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Afsendt transaktion</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Vis listen over adresser for at modtage betalinger</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Rediger listen over gemte adresser og etiketter</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Send coins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Send coins til en bitcoinadresse</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Luk</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Kryptér tegnebog</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Afslut program</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Kryptér eller dekryptér tegnebog</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Vis oplysninger om Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Om &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+1"/>
<source>Show information about Qt</source>
<translation>Vis oplysninger om Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Vis listen over adresser for at modtage betalinger</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Indstillinger ...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Send coins</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Kryptér tegnebog...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Eksporter...</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup tegnebog...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Luk</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Skift adgangskode...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Vis oplysninger om Bitcoin</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Downloadet %1 af %2 blokke af transaktionshistorie (%3% done).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin Tegnebog</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Eksporter...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Fil</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Send coins til en bitcoinadresse</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Synkroniserer med netværk ...</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Rediger konfigurationsindstillinger af bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Transaktioner</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Eksportér den aktuelle visning til en fil</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Kryptér eller dekryptér tegnebog</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Change the passphrase used for wallet encryption</source>
<translation>Skift kodeord anvendt til tegnebogskryptering</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Afslut program</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Indgående transaktion</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
- <translation>Dato: %1
-Beløb: %2
-Type: %3
-Adresse: %4
-</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Tegnebog er &lt;b&gt;krypteret&lt;/b&gt; og i øjeblikket &lt;b&gt;ulåst&lt;/b&gt;</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>tegnebog</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Hjælp</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Om Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Tegnebog er &lt;b&gt;krypteret&lt;/b&gt; og i øjeblikket &lt;b&gt;låst&lt;/b&gt;</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Handlingsværktøjslinje</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fil</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Downloadet %1 blokke af transaktionshistorie.</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Indstillinger</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Hjælp</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation>Faneværktøjslinje</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Om %1</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Handlingsværktøjslinje</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
<translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Om &amp;Qt</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n aktiv(e) forbindelse(r) til Bitcoinnetværket</numerusform>
@@ -503,70 +528,20 @@ Adresse: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Eksportér den aktuelle visning til en fil</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Skift adgangskode</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Downloadet %1 blokke af transaktionshistorie.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n sekund(er) siden</numerusform>
<numerusform>%n sekund(er) siden</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Indstillinger</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished">Vis Bitcoinvinduet</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">&amp;Backup tegnebog</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Downloadet %1 af %2 blokke af transaktionshistorie (%3% done).</translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>%n minut(ter) siden</numerusform>
@@ -574,7 +549,7 @@ Adresse: %4
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n time(r) siden</numerusform>
@@ -582,7 +557,7 @@ Adresse: %4
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>%n dag(e) siden</numerusform>
@@ -590,570 +565,798 @@ Adresse: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Opdateret</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Indhenter...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Sidst modtagne blok blev genereret %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Sender...</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Denne transaktion er over størrelsesbegrænsningen. Du kan stadig sende den for et gebyr på %1 som går til de noder der behandler din transaktion, og som hjælper med at støtte netværket. Ønsker du at betale gebyret?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Afsendt transaktion</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Indgående transaktion</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>Dato: %1
+Beløb: %2
+Type: %3
+Adresse: %4
+</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Tegnebog er &lt;b&gt;krypteret&lt;/b&gt; og i øjeblikket &lt;b&gt;ulåst&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Tegnebog er &lt;b&gt;krypteret&lt;/b&gt; og i øjeblikket &lt;b&gt;låst&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation>Backup tegnebog</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
- </message>
- <message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Enhed at vise beløb i: </translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Vælg den standard underopdelingsenhed som skal vises i brugergrænsefladen, og når du sender coins</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Vis adresser i transaktionensliste</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Rediger Adresse</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Etiket</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Etiketten forbundet med denne post i adressekartoteket</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adresse</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Adressen tilknyttet til denne post i adressekartoteket. Dette kan kun ændres for afsendelsesadresser.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Ny modtagelsesadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Ny afsendelsesadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Rediger modtagelsesadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Rediger afsendelsesadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Den indtastede adresse &quot;%1&quot; er allerede i adressebogen.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>Kunne ikke låse tegnebog op.</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Den indtastede adresse &quot;%1&quot; er ikke en gyldig bitcoinadresse.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Den indtastede adresse &quot;%1&quot; er ikke en gyldig bitcoinadresse.</translation>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Kunne ikke låse tegnebog op.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Ny nøglegenerering mislykkedes.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Porten på proxyen (f.eks. 1234)</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Start Bitcoin når systemet startes</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Anvendelse:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>command-line indstillinger</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI indstillinger</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Start minimeret
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Indstillinger</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Generelt</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Betal transaktions&amp;gebyr</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation>Start Bitcoin automatisk efter at computeren er tændt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimer til systembakken i stedet for proceslinjen</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Start Bitcoin når systemet startes</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Vis kun et systembakkeikon efter minimering af vinduet</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Konfigurer port vha. &amp;UPnP</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimer ved lukning</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
+ <location line="+6"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Åbn Bitcoinklient-porten på routeren automatisk. Dette virker kun når din router understøtter UPnP og UPnP er aktiveret.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>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.</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Konfigurer port vha. &amp;UPnP</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Forbind gennem SOCKS4 proxy:</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Opret forbindelse til Bitconnetværket via en SOCKS proxy (f.eks. ved tilslutning gennem Tor)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Opret forbindelse til Bitconnetværket via en SOCKS4 proxy (f.eks. ved tilslutning gennem Tor)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Forbind gennem SOCKS proxy:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
<translation>Proxy-&amp;IP:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
+ <location line="+19"/>
<source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation>IP-adressen på proxyen (f.eks. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port:</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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.</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Betal transaktions&amp;gebyr</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Porten på proxyen (f.eks. 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
- <message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Besked</translation>
- </message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+36"/>
+ <source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Vis kun et systembakkeikon efter minimering af vinduet.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Vælg adresse fra adressebog</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimer til systembakken i stedet for proceslinjen</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimer ved lukning</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation type="unfinished"></translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Visning</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation type="unfinished"></translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Enhed at vise beløb i:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation type="unfinished"></translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Vælg den standard underopdelingsenhed som skal vises i brugergrænsefladen, og når du sender coins.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopier til Udklipsholder</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Indsæt adresse fra udklipsholderen</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Vis adresser i transaktionensliste</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished">Den indtastede adresse &quot;%1&quot; er ikke en gyldig bitcoinadresse.</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Visning</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Advarsel</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Indstillinger</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Generelt</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Ugyldig -proxy adresse</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Formular</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Saldo:</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Samlede antal transaktioner i tegnebogen</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Antal transaktioner:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Ubekræftede:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation>tegnebog</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Nyeste transaktioner&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Din nuværende saldo</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Summen af ​​transaktioner, der endnu ikke er bekræftet, og endnu ikke er inkluderet i den nuværende saldo</translation>
</message>
-</context>
-<context>
- <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Besked:</translation>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Samlede antal transaktioner i tegnebogen</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>Beløb:</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation></translation>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Beløb:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Etiket:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Besked:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>SendCoinsDialog</name>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
- <source>Confirm the send action</source>
- <translation>Bekræft afsendelsen</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; til %2 (%3)</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Bekræft afsendelse af coins</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source>Are you sure you want to send %1?</source>
- <translation>Er du sikker på at du vil sende %1?</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> og </translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Command-line indstillinger</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Ryd</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Send Coins</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Send til flere modtagere på én gang</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Tilføj modtager...</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Tilføj modtager</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Ryd alle</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Ryd &amp;alle</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Bekræft afsendelsen</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Afsend</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; til %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Bekræft afsendelse af coins</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>Er du sikker på at du vil sende %1?</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> og </translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Modtagerens adresse er ikke gyldig. Tjek venligst adressen igen.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Beløbet til betaling skal være større end 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Beløbet overstiger din saldo.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Totalen overstiger din saldo når %1 transaktionsgebyr er inkluderet.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Duplikeret adresse fundet. Du kan kun sende til hver adresse en gang pr. afsendelse.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Fejl: Oprettelse af transaktionen mislykkedes.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>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.</translation>
</message>
@@ -1161,217 +1364,439 @@ Adresse: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Formular</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>B&amp;eløb:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>Betal &amp;Til:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Indtast en etiket for denne adresse for at føje den til din adressebog</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Etiket:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Adresse som betalingen skal sendes til (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Vælg adresse fra adressebog</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Indsæt adresse fra udklipsholderen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Fjern denne modtager</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Åben for %1 blokke</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Status:&lt;/b&gt; </translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, er ikke blevet transmitteret endnu</translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Vælg adresse fra adressebog</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Indsæt adresse fra udklipsholderen</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Ryd &amp;alle</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Indtast en Bitcoinadresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, transmitteret via %1 noder</translation>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Fra:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (din, etiket:</translation>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (din)</translation>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Åben indtil %1</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Åben for %n blok(ke)</numerusform>
+ <numerusform>Åben for %n blok(ke)</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/ubekræftet</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>ukendt</translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 bekræftelser</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 modnes i %2 blokke mere)</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Kredit:&lt;/b&gt; </translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Dato</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/offline?</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 bekræftelser</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Genereret</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, transmitteret via %1 node</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Fra</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Dato:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Til</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Kilde:&lt;/b&gt; Genereret&lt;br&gt;</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Til:&lt;/b&gt;</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>etiket</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(ikke accepteret)</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Kredit</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debet:&lt;/b&gt;</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>ikke accepteret</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Transaktionsgebyr:&lt;/b&gt;</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debet</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Nettobeløb:&lt;/b&gt; </translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Transaktionsgebyr</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Besked:</translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Nettobeløb</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Kommentar:</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Besked</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Kommentar</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>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 &quot;ikke godkendt&quot;, og ikke blive kunne bruges. Dette kan lejlighedsvis ske, hvis en anden node genererer en blok inden for få sekunder af din.</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>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 &quot;ikke godkendt&quot;, og ikke blive kunne bruges. Dette kan lejlighedsvis ske, hvis en anden node genererer en blok inden for få sekunder af din.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Beløb</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, er ikke blevet transmitteret endnu</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>ukendt</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Transaktionsdetaljer</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Denne rude viser en detaljeret beskrivelse af transaktionen</translation>
</message>
@@ -1379,17 +1804,27 @@ Adresse: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
- <source>Mined</source>
- <translation>Minerede</translation>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Dato</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation>Beløb</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Åben for %n blok(ke)</numerusform>
@@ -1397,792 +1832,909 @@ Adresse: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Åben indtil %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Adresse</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Offline (%1 bekræftelser)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Betaling til dig selv</translation>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Ubekræftet (%1 af %2 bekræftelser)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Bekræftet (%1 bekræftelser)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Denne blok blev ikke modtaget af nogen andre noder, og vil formentlig ikke blive accepteret!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Genereret, men ikke accepteret</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Modtaget med</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Modtaget fra</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Sendt til</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Betaling til dig selv</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>Minerede</translation>
+ </message>
+ <message>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Transactionsstatus. Hold musen over dette felt for at vise antallet af bekræftelser.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Dato og tid for at transaktionen blev modtaget.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Type af transaktion.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Destinationsadresse for transaktion.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Beløb fjernet eller tilføjet balance.</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Dato</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>Ubekræftet (%1 af %2 bekræftelser)</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Type</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Modtaget fra</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Minerede balance vil være tilgængelig om %n blok(ke)</numerusform>
- <numerusform>Minerede balance vil være tilgængelig om %n blok(ke)</numerusform>
- </translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Andet</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Kopier adresse</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Kopier etiket</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Bekræftet</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Type</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Etiket</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Fejl under eksport</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Interval:</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Beløb</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>Alle</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Interval...</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>I dag</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation>Denne uge</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation>Denne måned</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>Sidste måned</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>Dette år</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Interval...</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Received with</source>
<translation>Modtaget med</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation>Sendt til</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Til dig selv</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Kunne ikke skrive til filen %1.</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>Minerede</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Andet</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Indtast adresse eller etiket for at søge</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Eksportér Transaktionsdata</translation>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Min. beløb</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Kommasepareret fil (*.csv)</translation>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Kopier adresse</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Adresse</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Kopier etiket</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>til</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Rediger etiket</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>I dag</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>Min. beløb</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Eksportér Transaktionsdata</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Rediger etiket</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Kommasepareret fil (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Vis detaljer...</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Bekræftet</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>Dato</translation>
</message>
-</context>
-<context>
- <name>WalletModel</name>
- <message>
- <location filename="../walletmodel.cpp" line="142"/>
- <source>Sending...</source>
- <translation>Sender...</translation>
- </message>
-</context>
-<context>
- <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Kan låse data-biblioteket %s. Bitcoin kører sikkert allerede.</translation>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Type</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoinversion</translation>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Etiket</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Indlæser adresser...</translation>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Indlæser blok-indeks...</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Beløb</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Fejl: CreateThread(StartNode) mislykkedes</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Advarsel: Undersøg venligst at din computers dato og klokkeslet er korrekt indstillet. Hvis der er fejl i disse vil Bitcoin ikke fungere korrekt.</translation>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Fejl under eksport</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Ugyldig -proxy adresse</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Kunne ikke skrive til filen %1.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Fejl ved indlæsning af blkindex.dat</translation>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Interval:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Advarsel:-paytxfee er sat meget højt. Dette er det gebyr du vil betale, hvis du sender en transaktion.</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>til</translation>
</message>
+</context>
+<context>
+ <name>WalletModel</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Fejl ved indlæsning af wallet.dat: Tegnebog ødelagt</translation>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>Sender...</translation>
</message>
+</context>
+<context>
+ <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Fejl ved indlæsning af wallet.dat: Tegnebog kræver en nyere version af Bitcoin</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoinversion</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Fejl ved indlæsning af wallet.dat</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Anvendelse:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
+ <location line="-25"/>
<source>Send command to -server or bitcoind</source>
<translation>Send kommando til -server eller bitcoind
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
+ <location line="-19"/>
<source>List commands</source>
<translation>Liste over kommandoer
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Få hjælp til en kommando
+</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Options:</source>
<translation>Indstillinger:
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
+ <location line="+23"/>
<source>Specify configuration file (default: bitcoin.conf)</source>
<translation>Angiv konfigurationsfil (standard: bitcoin.conf)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Angiv databibliotek
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Angiv pid-fil (default: bitcoind.pid)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
+ <location line="-47"/>
<source>Generate coins</source>
<translation>Generér coins
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
+ <location line="-14"/>
<source>Don&apos;t generate coins</source>
<translation>Generér ikke coins
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Brugernavn til JSON-RPC-forbindelser
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Angiv databibliotek
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Accepter kommandolinje- og JSON-RPC-kommandoer
-</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Lyt til forbindelser på &lt;port&gt; (standard: 8333 or testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Fejl: Oprettelse af transaktionen mislykkedes.</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">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.</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Kør i baggrunden som en service, og acceptér kommandoer
-</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Denne transaktion er over størrelsesbegrænsningen. Du kan stadig sende den for et gebyr på %1 som går til de noder der behandler din transaktion, og som hjælper med at støtte netværket. Ønsker du at betale gebyret?</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Lyt til JSON-RPC-forbindelser på &lt;port&gt; (standard: 8332 or testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Brug OpenSSL (https) for JSON-RPC-forbindelser
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Accepter kommandolinje- og JSON-RPC-kommandoer
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Server private nøgle (standard: server.pem)
-</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Acceptabele ciphers (standard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
-</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Fejl: Oprettelse af transaktionen mislykkedes.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Denne hjælpebesked
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Kør i baggrunden som en service, og acceptér kommandoer
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Start minimeret
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Brug test-netværket
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation type="unfinished"></translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Acceptér forbindelser udefra (default: 1 if no -proxy or -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Advarsel: -paytxfee er sat meget højt! Dette er det gebyr du vil betale, hvis du sender en transaktion.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Advarsel: Undersøg venligst at din computers dato og klokkeslet er korrekt indstillet! Hvis der er fejl i disse vil Bitcoin ikke fungere korrekt.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Tilslut kun til den angivne node</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Tilslut via SOCKS4 proxy
-</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Tillad DNS-opslag for addnode og connect
-</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Ugyldig -tor address: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Tilføj en node til at forbinde til and attempt to keep the connection open</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Tilslut kun til den angivne node
-</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">Acceptér forbindelser udefra</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL-indstillinger: (se Bitcoin Wiki for SSL opsætningsinstruktioner)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Gebyr pr. kB, som skal tilføjes til transaktioner du sender</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Angiv tilslutningstimeout i millisekunder (standard: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Forsøg at bruge UPnP til at kofnigurere den lyttende port (standard: 1)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Forsøg at bruge UPnP til at kofnigurere den lyttende port (standard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Forsøg at bruge UPnP til at kofnigurere den lyttende port (standard: 0)</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Forsøg at bruge UPnP til at kofnigurere den lyttende port (standard: 1 when listening)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL-indstillinger: (se Bitcoin Wiki for SSL opsætningsinstruktioner)</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Anvendelse:</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Brugernavn til JSON-RPC-forbindelser
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Indlæsning gennemført</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Advarsel: Diskplads er lav</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Advarsel: Diskplads er lav!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Indlæser tegnebog...</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Ugyldigt beløb for -paytxfee=&lt;amount&gt;</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Sender...</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Password til JSON-RPC-forbindelser
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Du har ikke penge nok</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Tillad JSON-RPC-forbindelser fra bestemt IP-adresse
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished">Anvendelse</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Send kommandoer til node, der kører på &lt;ip&gt; (standard: 127.0.0.1)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Sæt nøglepoolstørrelse til &lt;n&gt; (standard: 100)
+</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Gennemsøg blokkæden for manglende tegnebogstransaktioner
+</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Genindlæser...</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Kunne ikke binde sig til port %d på denne computer. Bitcoin kører sikkert allerede.</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Brug OpenSSL (https) for JSON-RPC-forbindelser
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Fejl ved indlæsning af addr.dat</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Servercertifikat-fil (standard: server.cert)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Få hjælp til en kommando
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Server private nøgle (standard: server.pem)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Acceptabele ciphers (standard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
+</translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Denne hjælpebesked
+</translation>
+ </message>
+ <message>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Kan låse data-biblioteket %s. Bitcoin kører sikkert allerede.</translation>
+ </message>
+ <message>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Angiv pid-fil (default: bitcoind.pid)
-</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Kunne ikke binde sig til %s på denne computer (bind returned error %d, %s)</translation>
+ </message>
+ <message>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Tilslut via SOCKS proxy</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Tillad DNS-opslag for addnode og connect</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Indlæser adresser...</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Fejl ved indlæsning af blkindex.dat</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Fejl ved indlæsning af wallet.dat: Tegnebog ødelagt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Fejl ved indlæsning af wallet.dat: Tegnebog kræver en nyere version af Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Fejl ved indlæsning af wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Ugyldig -proxy adresse: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Ugyldigt beløb for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Sender...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
+ <location line="-24"/>
<source>Invalid amount</source>
<translation>Ugyldigt beløb</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Angiv tilslutningstimeout (i millisekunder)
-</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Du har ikke penge nok</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Lyt til forbindelser på &lt;port&gt; (standard: 8333 or testnet: 18333)</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Indlæser blok-indeks...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Brug test-netværket
-</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Tilføj en node til at forbinde til and attempt to keep the connection open</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Password til JSON-RPC-forbindelser
-</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Kunne ikke binde sig til %s på denne computer. Bitcoin kører sikkert allerede.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Lyt til JSON-RPC-forbindelser på &lt;port&gt; (standard: 8332)
-</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Tillad JSON-RPC-forbindelser fra bestemt IP-adresse
-</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Gebyr pr. kB, som skal tilføjes til transaktioner du sender</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Send kommandoer til node, der kører på &lt;ip&gt; (standard: 127.0.0.1)
-</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Indlæser tegnebog...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Sæt nøglepoolstørrelse til &lt;n&gt; (standard: 100)
-</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Gennemsøg blokkæden for manglende tegnebogstransaktioner
-</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Servercertifikat-fil (standard: server.cert)
-</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Genindlæser...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Indlæsning gennemført</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_de.ts b/src/qt/locale/bitcoin_de.ts
index a135d93147..3e1d7d1186 100644
--- a/src/qt/locale/bitcoin_de.ts
+++ b/src/qt/locale/bitcoin_de.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Über Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; Version</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Die Bitcoinentwickler</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Entwickler
-
+ <translation>
Dies ist experimentelle Software.
-Veröffentlicht unter der MIT/X11 Software-Lizenz, siehe beiligende Datei license.txt oder http://www.opensource.org/licenses/mit-license.php.
+Veröffentlicht unter der MIT/X11 Software-Lizenz, siehe beiligende Datei COPYING oder http://www.opensource.org/licenses/mit-license.php.
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.</translation>
</message>
@@ -35,435 +38,502 @@ Dieses Produkt enthält Software, die vom OpenSSL Projekt zur Verwendung im Open
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adressbuch</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Doppelklicken, um die Adresse oder die Bezeichnung zu bearbeiten</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Eine neue Adresse erstellen</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Neue Adresse</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Ausgewählte Adresse in die Zwischenablage kopieren</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>In die Zwischenablage &amp;kopieren</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Neue Adresse</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
- <source>Show &amp;QR Code</source>
- <translation>&amp;QR-Code anzeigen</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Löschen</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>Adresse &amp;kopieren</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Eine Nachricht signieren, um den Besitz einer Adresse zu beweisen</translation>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>&amp;QR-Code anzeigen</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
- <source>Sign &amp;Message</source>
- <translation>&amp;Nachricht signieren...</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Eine Nachricht signieren, um den Besitz einer Bitcoin-Adresse zu beweisen</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Die ausgewählte Adresse aus der Liste entfernen. Sie können nur Zahlungsadressen entfernen.</translation>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>Nachricht &amp;signieren</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Bezeichnung kopieren</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Die ausgewählte Adresse aus der Liste entfernen.</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Löschen</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Eine Nachricht verifizieren, um sicherzustellen, dass diese mit einer angegebenen Bitcoin-Adresse signiert wurde</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Kommagetrennte Datei (*.csv)</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>Nachricht &amp;verifizieren</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Konnte nicht in Datei %1 schreiben.</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Löschen</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Adresse kopieren</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>&amp;Bezeichnung kopieren</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Bearbeiten</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Editieren</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Adressbuch exportieren</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Kommagetrennte Datei (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Fehler beim Exportieren</translation>
</message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Konnte nicht in Datei %1 schreiben.</translation>
+ </message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
- <source>(no label)</source>
- <translation>(keine Bezeichnung)</translation>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
+ <source>Label</source>
+ <translation>Bezeichnung</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresse</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Label</source>
- <translation>Bezeichnung</translation>
+ <location line="+36"/>
+ <source>(no label)</source>
+ <translation>(keine Bezeichnung)</translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Dieser Vorgang benötigt Ihre Passphrase um die Brieftasche zu entsperren.</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Passphrasen Dialog</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Textbezeichnung</translation>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Passphrase eingeben</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation>Neue Passphrase wiederholen</translation>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Neue Passphrase</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Die Passphrase der Brieftasche wurde erfolgreich geändert.</translation>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Neue Passphrase wiederholen</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Dieser Vorgang benötigt Ihre Passphrase um die Brieftasche zu entschlüsseln.</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Geben Sie die neue Passphrase für die Brieftasche ein.&lt;br&gt;Bitte benutzen Sie eine Passphrase bestehend aus &lt;b&gt;10 oder mehr zufälligen Zeichen&lt;/b&gt; oder &lt;b&gt;8 oder mehr Wörtern&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Brieftasche verschlüsseln</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>Neue Passphrase</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Brieftasche verschlüsselt</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
- <source>Enter passphrase</source>
- <translation>Passphrase eingeben</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Dieser Vorgang benötigt Ihre Passphrase um die Brieftasche zu entsperren.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Brieftasche entsperren</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Dieser Vorgang benötigt Ihre Passphrase um die Brieftasche zu entschlüsseln.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Brieftasche entschlüsseln</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Passphrase ändern</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Geben Sie die alte und die neue Passphrase der Brieftasche ein.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>WARNUNG: Wenn Sie Ihre Brieftasche verschlüsseln und Ihre Passphrase verlieren, werden Sie &lt;b&gt;ALLE IHRE BITCOINS VERLIEREN&lt;/b&gt;!&lt;br&gt;&lt;br&gt;Sind Sie sich sicher, dass Sie Ihre Brieftasche verschlüsseln möchten?</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Verschlüsselung der Brieftasche bestätigen</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin wird jetzt beendet, um den Verschlüsselungsprozess abzuschließen. Bitte beachten Sie, dass die Verschlüsselung Ihrer Brieftasche nicht vollständig vor Diebstahl Ihrer Bitcoins durch Schadsoftware schützt, die Ihren Computer befällt.</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Warnung: Wenn Sie Ihre Brieftasche verschlüsseln und Ihre Passphrase verlieren, werden Sie &lt;b&gt;ALLE IHRE BITCOINS VERLIEREN&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>WICHTIG: Alle vorherigen Sicherungen Ihrer Brieftasche sollten durch die neu erzeugte, verschlüsselte Brieftasche ersetzt werden. Aus Sicherheitsgründen werden vorherige Sicherungen der unverschlüsselten Brieftasche nutzlos, sobald Sie die neue, verschlüsselte Brieftasche verwenden.</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Sind Sie sich sicher, dass Sie Ihre Brieftasche verschlüsseln möchten?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Die Verschlüsselung der Brieftasche ist aufgrund eines internen Fehlers fehlgeschlagen. Ihre Brieftasche wurde nicht verschlüsselt.</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>WICHTIG: Alle vorherigen Sicherungen Ihrer Brieftasche sollten durch die neu erzeugte, verschlüsselte Brieftasche ersetzt werden. Aus Sicherheitsgründen werden vorherige Sicherungen der unverschlüsselten Brieftasche nutzlos, sobald Sie die neue, verschlüsselte Brieftasche verwenden.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Warnung: Die Feststelltaste ist aktiviert.</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Warnung: Die Feststelltaste ist aktiviert!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Geben Sie die neue Passphrase für die Brieftasche ein.&lt;br&gt;Bitte benutzen Sie eine Passphrase bestehend aus &lt;b&gt;10 oder mehr zufälligen Zeichen&lt;/b&gt; oder &lt;b&gt;8 oder mehr Wörtern&lt;/b&gt;.</translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Brieftasche verschlüsselt</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>Die eingegebenen Passphrasen stimmen nicht überein.</translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin wird jetzt beendet, um den Verschlüsselungsprozess abzuschließen. Bitte beachten Sie, dass die Verschlüsselung Ihrer Brieftasche nicht vollständig vor Diebstahl Ihrer Bitcoins durch Schadsoftware schützt, die Ihren Computer befällt.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Verschlüsselung der Brieftasche fehlgeschlagen</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Verschlüsselung der Brieftasche bestätigen</translation>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Die Verschlüsselung der Brieftasche ist aufgrund eines internen Fehlers fehlgeschlagen. Ihre Brieftasche wurde nicht verschlüsselt.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>Die eingegebenen Passphrasen stimmen nicht überein.</translation>
+ </message>
+ <message>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Entsperrung der Brieftasche fehlgeschlagen</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Die eingegebene Passphrase zum Entschlüsseln der Brieftasche war nicht korrekt.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Entschlüsselung der Brieftasche fehlgeschlagen</translation>
</message>
+ <message>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Die Passphrase der Brieftasche wurde erfolgreich geändert.</translation>
+ </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Nachricht s&amp;ignieren...</translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Synchronisiere mit Netzwerk...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Übersicht</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Allgemeine Übersicht der Brieftasche anzeigen</translation>
+ </message>
+ <message>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Transaktionen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Transaktionsverlauf durchsehen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Adressbuch</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Liste der Empfangsadressen anzeigen</translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Liste der gespeicherten Zahlungsadressen und Bezeichnungen bearbeiten</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>Bitcoins &amp;empfangen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Beenden</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Über &amp;Qt</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Liste der Empfangsadressen anzeigen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation>Bitcoins &amp;überweisen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>Brieftasche &amp;sichern...</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Beenden</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
+ <location line="+1"/>
<source>Quit application</source>
<translation>Anwendung beenden</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
<translation>Informationen über Bitcoin anzeigen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Über &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show information about Qt</source>
<translation>Informationen über Qt anzeigen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Bitcoins an eine Bitcoin-Adresse überweisen</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Erweiterte Einstellungen...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Transaktionsgebühr bestätigen</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>Brieftasche &amp;verschlüsseln...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Erweiterte Einstellungen...</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>Brieftasche &amp;sichern...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>Passphrase &amp;ändern...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n Block verbleibend</numerusform>
+ <numerusform>~%n Blöcke verbleibend</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>%1 von %2 Blöcken des Transaktionsverlaufs heruntergeladen (%3% fertig).</translation>
+ </message>
+ <message>
+ <location line="-242"/>
<source>&amp;Export...</source>
<translation>&amp;Exportieren...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Bitcoins an eine Bitcoin-Adresse überweisen</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Erweiterte Bitcoin-Einstellungen ändern</translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation>Daten der aktuellen Ansicht in eine Datei exportieren</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Registerkartenleiste</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Brieftasche ent- oder verschlüsseln</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Zeige/Verstecke &amp;Bitcoin</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Eine Sicherungskopie der Brieftasche erstellen und abspeichern</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Zeige oder verstecke das Bitcoin Fenster</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Ändert die Passphrase, die für die Verschlüsselung der Brieftasche benutzt wird</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Datei</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Debugfenster</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Brieftasche ent- oder verschlüsseln</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Debugging- und Diagnosekonsole öffnen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin-Brieftasche</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>Nachricht &amp;verifizieren...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Allgemeine Übersicht der Brieftasche anzeigen</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Brieftasche</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Über Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Anzeigen / Verstecken</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Datei</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Einstellungen</translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation>&amp;Hilfe</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Registerkartenleiste</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Sicherung der Brieftasche fehlgeschlagen</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Aktionssymbolleiste</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Fehler beim Abspeichern der Sicherungskopie der Brieftasche.</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[Testnetz]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation>Bitcoin Client</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Beweisen Sie die Kontrolle einer Adresse</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n aktive Verbindung zum Bitcoin-Netzwerk</numerusform>
+ <numerusform>%n aktive Verbindungen zum Bitcoin-Netzwerk</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>%1 Blöcke des Transaktionsverlaufs heruntergeladen.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>vor %n Sekunde</numerusform>
@@ -471,7 +541,15 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>vor %n Minute</numerusform>
+ <numerusform>vor %n Minuten</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>vor %n Stunde</numerusform>
@@ -479,7 +557,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>vor %n Tag</numerusform>
@@ -487,37 +565,42 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Auf aktuellem Stand</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Hole auf...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Der letzte empfangene Block wurde %1 generiert.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>&amp;Nachricht signieren...</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>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.&lt;br&gt;&lt;br&gt;Möchten Sie die Gebühr bezahlen?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Transaktionsgebühr bestätigen</translation>
+ </message>
+ <message>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Gesendete Transaktion</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Eingehende Transaktion</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -529,847 +612,1189 @@ Typ: %3
Adresse: %4</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Über %1</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI Verarbeitung</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI kann nicht analysiert werden! Dies kann durch eine ungültige Bitcoin-Adresse oder fehlerhafte URI-Parameter verursacht werden.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>Brieftasche ist &lt;b&gt;verschlüsselt&lt;/b&gt; und aktuell &lt;b&gt;entsperrt&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Brieftasche ist &lt;b&gt;verschlüsselt&lt;/b&gt; und aktuell &lt;b&gt;gesperrt&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Erweiterte Bitcoin-Einstellungen ändern</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>Brieftasche &amp;verschlüsseln...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Eine Sicherungskopie der Brieftasche erstellen und abspeichern</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>Passphrase &amp;ändern...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Ändert die Passphrase, die für die Verschlüsselung der Brieftasche benutzt wird</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Einstellungen</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[Testnetz]</translation>
- </message>
- <message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation>Ein schwerer Fehler ist aufgetreten. Bitcoin kann nicht stabil weiter ausgeführt werden und wird beendet.</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n aktive Verbindung zum Bitcoin-Netzwerk</numerusform>
- <numerusform>%n aktive Verbindungen zum Bitcoin-Netzwerk</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>~%n Block verbleibend</numerusform>
- <numerusform>~%n Blöcke verbleibend</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Synchronisiere mit Netzwerk...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>%1 von %2 Blöcken des Transaktionsverlaufs heruntergeladen (%3% fertig).</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>vor %n Minute</numerusform>
- <numerusform>vor %n Minuten</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation>Brieftasche sichern</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Aktionen-Werkzeugleiste</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>Brieftaschendaten (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Liste der gespeicherten Zahlungsadressen und Bezeichnungen bearbeiten</translation>
- </message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Einheit der Beträge:</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Sicherung der Brieftasche fehlgeschlagen</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Wählen Sie die Standard-Untereinheit, die in der Benutzeroberfläche und beim Überweisen von Bitcoins angezeigt werden soll</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Fehler beim Abspeichern der Sicherungskopie der Brieftasche.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Adressen in der Transaktionsliste anzeigen</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>Ein schwerer Fehler ist aufgetreten. Bitcoin kann nicht stabil weiter ausgeführt werden und wird beendet.</translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Legt fest, ob Bitcoin-Adressen in der Transaktionsliste angezeigt werden</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Netzwerkalarm</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Adresse bearbeiten</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Bezeichnung</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Die Bezeichnung dieses Adressbuchseintrags</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adresse</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Die Adresse des Adressbucheintrags. Diese kann nur für Zahlungsadressen bearbeitet werden.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Neue Empfangsadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Neue Zahlungsadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Empfangsadresse bearbeiten</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Zahlungsadresse bearbeiten</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Die eingegebene Adresse &quot;%1&quot; befindet sich bereits im Adressbuch.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Die eingegebene Adresse &quot;%1&quot; ist keine gültige Bitcoin-Adresse.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Die Brieftasche konnte nicht entsperrt werden.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Generierung eines neuen Schlüssels fehlgeschlagen.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Die eingegebene Adresse &quot;%1&quot; ist keine gültige Bitcoin-Adresse.</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
+ </message>
+ <message>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>Version</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Benutzung:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>Kommandozeilenoptionen</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI-Optionen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Sprache festlegen, z.B. &quot;de_DE&quot; (Standard: System Locale)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Minimiert starten</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Startbildschirm beim Starten anzeigen (Standard: 1)</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>Bitcoin beim &amp;Systemstart ausführen</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Erweiterte Einstellungen</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Bitcoin automatisch ausführen, wenn der Computer eingeschaltet wird</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Allgemein</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>In den Infobereich anstatt in die Taskleiste &amp;minimieren</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Portweiterleitung via &amp;UPnP</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Transaktions&amp;gebühr bezahlen</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Nur ein Symbol im Infobereich anzeigen, nachdem das Fenster minimiert wurde</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Bitcoin nach der Anmeldung am System automatisch ausführen.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>Beim Schließen &amp;minimieren</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Starte Bitcoin nach Systemanmeldung</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimiert die Anwendung anstatt sie zu Beenden, wenn das Fenster geschlossen wird. Wenn dies aktiviert ist, müssen Sie das Programm über &quot;Beenden&quot; im Menü schließen.</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Block- und Adressdatenbank beim Beenden trennen. Diese können so in ein anderes Datenverzeichnis verschoben werden, die zum Beenden benötigte Zeit wird aber verlängert. Die Datenbank der Brieftasche wird immer getrennt.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Automatisch den Bitcoin Client-Port auf dem Router öffnen. Dies funktioniert nur, wenn Ihr Router UPnP unterstützt und dies aktiviert ist.</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>Datenbanken beim Beenden &amp;trennen</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>Über einen SOCKS4-Proxy &amp;verbinden:</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Netzwerk</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Über einen SOCKS4-Proxy mit dem Bitcoin-Netzwerk verbinden (z.B. beim Verbinden über Tor)</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Automatisch den Bitcoin Clientport auf dem Router öffnen. Dies funktioniert nur, wenn Ihr Router UPnP unterstützt und dies aktiviert ist.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy-&amp;IP:</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Portweiterleitung via &amp;UPnP</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP-Adresse des Proxy-Servers (z.B. 127.0.0.1)</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Über einen SOCKS-Proxy mit dem Bitcoin-Netzwerk verbinden (z.B. beim Verbinden über Tor).</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port:</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>Über einen SOCKS-Proxy &amp;verbinden:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Port des Proxy-Servers (z.B. 1234)</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Proxy-&amp;IP:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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 wird empfohlen.</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP-Adresse des Proxyservers (z.B. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Transaktions&amp;gebühr bezahlen</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Datenbanken beim Beenden trennen</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Port des Proxies (z.B. 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Block- und Adressdatenbank beim Beenden trennen. Diese können so in ein anderes Datenverzeichnis verschoben werden, die zum Beenden benötigte Zeit wird aber verlängert. Die Datenbank der Brieftasche wird immer getrennt.</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS-&amp;Version:</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Nachricht signieren</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>SOCKS-Version des Proxies (z.B. 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Sie können Nachrichten mit Ihren Adressen signieren, um den Besitz dieser Adressen zu beweisen. Bitte nutzen Sie diese Funktion mit Vorsicht und nehmen Sie sich vor Phishing-Angriffen in Acht, um nicht ungewollt etwas zu signieren, dass für Sie negative Auswirkungen haben könnte.</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Programmfenster</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Die Nachricht signieren, um den Besitz der angegebenen Adresse nachzuweisen</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Nur ein Symbol im Infobereich anzeigen, nachdem das Programmfenster minimiert wurde.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>Nachricht &amp;signieren</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>In den Infobereich anstatt in die Taskleiste &amp;minimieren</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>Signatur in die Zwischenablage &amp;kopieren</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimiert die Anwendung anstatt sie zu beenden wenn das Fenster geschlossen wird. Wenn dies aktiviert ist, müssen Sie das Programm über &quot;Beenden&quot; im Menü schließen.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Fehler beim Signieren</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>Beim Schließen m&amp;inimieren</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Die Adresse mit der die Nachricht signiert wird (z.B. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Anzeige</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Adresse aus dem Adressbuch auswählen</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>&amp;Sprache der Benutzeroberfläche:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Legt die Sprache der Benutzeroberfläche fest. Diese Einstellung wird erst nach einem Neustart von Bitcoin aktiv.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Adresse aus der Zwischenablage einfügen</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Einheit der Beträge:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Wählen Sie die Standarduntereinheit, die in der Benutzeroberfläche und beim Überweisen von Bitcoins angezeigt werden soll.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Zu signierende Nachricht hier eingeben</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Legt fest, ob Bitcoin-Adressen in der Transaktionsliste angezeigt werden.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Auf &quot;Nachricht signieren&quot; klicken, um die Signatur zu erhalten. Diese wird dann hier angezeigt.</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>Adressen in der Transaktionsliste &amp;anzeigen</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Aktuelle Signatur in die Zwischenablage kopieren</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 ist keine gültige Adresse.</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Abbrechen</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Privater Schlüssel für %1 ist nicht verfügbar.</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Übernehmen</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Signierung der Nachricht fehlgeschlagen</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>Standard</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Allgemein</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Warnung</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Anzeige</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Diese Einstellung wird erst nach einem Neustart von Bitcoin aktiv.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Erweiterte Einstellungen</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Die eingegebene Proxyadresse ist ungültig.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Betrag aus unbestätigten Transaktionen, der noch nicht im aktuellen Kontostand enthalten ist</translation>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Formular</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Anzahl aller Transaktionen in der Brieftasche</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>Die angezeigten Informationen sind möglicherweise nicht mehr aktuell. Ihre Brieftasche wird synchronisiert nachdem eine Verbindung zum Netzwerk hergestellt wurde, dieser Prozess ist aber derzeit noch nicht abgeschlossen.</translation>
+ </message>
+ <message>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Kontostand:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Anzahl der Transaktionen:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Ihr aktueller Kontostand</translation>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Unbestätigt:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation>Brieftasche</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>Formular</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Unreif:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Kontostand:</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Erarbeiteter Betrag der noch nicht gereift ist</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Unbestätigt:</translation>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Letzte Transaktionen&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Ihr aktueller Kontostand</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Letzte Transaktionen&lt;/b&gt;</translation>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Betrag aus unbestätigten Transaktionen, der noch nicht im aktuellen Kontostand enthalten ist</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Anzahl aller Transaktionen in der Brieftasche</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>nicht synchron</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR-Code Dialog</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Zahlung anfordern</translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Betrag:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Bezeichnung:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Nachricht:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;Speichern unter...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Fehler beim Kodieren der URI in den QR-Code.</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Der eingegebene Betrag ist ungültig, bitte überprüfen.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>Resultierende URI zu lang, bitte den Text für Bezeichnung / Nachricht kürzen.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Zahlung anfordern</translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>QR-Code abspeichern</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Bezeichnung:</translation>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>PNG Bild (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Client Name</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Nachricht:</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>n.v.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>PNG Bild (*.png)</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Client Version</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Information</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR-Code</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Verwendete OpenSSL Version</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation>Fehler beim Kodieren der URI in den QR-Code.</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Startzeit</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>QR-Code abspeichern</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Netzwerk</translation>
</message>
-</context>
-<context>
- <name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
- <source>123.456 BTC</source>
- <translation>123.456 BTC</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Anzahl Verbindungen</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; an %2 (%3)</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>Im Testnetz</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Überweisung bestätigen</translation>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Blockkette</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source>Are you sure you want to send %1?</source>
- <translation>Sind Sie sich sicher, dass Sie die folgende Überweisung ausführen möchten?&lt;br&gt;%1</translation>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Aktuelle Anzahl Blöcke</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> und </translation>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Geschätzte Gesamtzahl Blöcke</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>Der zu zahlende Betrag muss größer 0 sein.</translation>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Letzte Blockzeit</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
- <source>Error: Transaction creation failed.</source>
- <translation>Fehler: Transaktionserstellung fehlgeschlagen.</translation>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Öffnen</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
- <source>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.</source>
- <translation>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.</translation>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Kommandozeilenoptionen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
- <source>Send to multiple recipients at once</source>
- <translation>In einer Transaktion an mehrere Empfänger auf einmal überweisen</translation>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Zeige die Bitcoin-Qt Hilfsnachricht, um eine Liste mit möglichen Kommandozeilenoptionen zu erhalten.</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
- <source>Remove all transaction fields</source>
- <translation>Alle Überweisungsfelder zurücksetzen</translation>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Anzeigen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
- <source>Confirm the send action</source>
- <translation>Überweisung bestätigen</translation>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Konsole</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Erstellungsdatum</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Debugfenster</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Bitcoinkern</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Debugprotokolldatei</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Öffnet die Bitcoin Debugprotokolldatei aus dem aktuellen Datenverzeichnis. Dies kann bei großen Protokolldateien einige Sekunden dauern.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Konsole zurücksetzen</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Willkommen in der Bitcoin RPC-Konsole.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Pfeiltaste hoch und runter, um die Historie durchzublättern und &lt;b&gt;Strg-L&lt;/b&gt;, um die Konsole zurückzusetzen.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Bitte &lt;b&gt;help&lt;/b&gt; eingeben, um eine Übersicht verfügbarer Befehle zu erhalten.</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Bitcoins überweisen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Empfänger hinzufügen</translation>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>In einer Transaktion an mehrere Empfänger auf einmal überweisen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Zurücksetzen</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Empfänger &amp;hinzufügen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Alle Überweisungsfelder zurücksetzen</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Zurücksetzen</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Kontostand:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Überweisung bestätigen</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Überweisen</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; an %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Überweisung bestätigen</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>Sind Sie sich sicher, dass Sie die folgende Überweisung ausführen möchten?&lt;br&gt;%1</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> und </translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Die Zahlungsadresse ist ungültig, bitte nochmals überprüfen.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>Der zu zahlende Betrag muss größer als 0 sein.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Der angegebene Betrag übersteigt Ihren Kontostand.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation>Der angegebene Betrag übersteigt aufgrund der Transaktionsgebühr in Höhe von %1 Ihren Kontostand.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Doppelte Adresse gefunden, pro Überweisung kann an jede Adresse nur einmalig etwas überwiesen werden.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
- <source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>Der angegebene Betrag übersteigt aufgrund der Transaktionsgebühr in Höhe von %1 Ihren Kontostand.</translation>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Fehler: Transaktionserstellung fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Formular</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
- <source>&amp;Label:</source>
- <translation>&amp;Bezeichnung:</translation>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>&amp;Betrag:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>&amp;Empfänger:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Adressbezeichnung eingeben (diese wird zusammen mit der Adresse dem Adressbuch hinzugefügt)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Bezeichnung:</translation>
+ </message>
+ <message>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Die Zahlungsadresse der Überweisung (z.B. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Adresse aus Adressbuch wählen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>&amp;Empfänger:</translation>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>&amp;Betrag:</translation>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Adresse aus der Zwischenablage einfügen</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Diesen Empfänger entfernen</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Bitcoin-Adresse eingeben (z.B. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Signaturen - eine Nachricht signieren / verifizieren</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>Nachricht &amp;signieren</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Sie können Nachrichten mit Ihren Adressen signieren, um den Besitz dieser Adressen zu beweisen. Bitte nutzen Sie diese Funktion mit Vorsicht und nehmen Sie sich vor Phishingangriffen in Acht. Signieren Sie nur Nachrichten, mit denen Sie vollständig einverstanden sind.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Die Adresse mit der die Nachricht signiert wird (z.B. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Eine Adresse aus dem Adressbuch wählen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="-193"/>
+ <location line="+203"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="-193"/>
<source>Paste address from clipboard</source>
<translation>Adresse aus der Zwischenablage einfügen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
- <source>Remove this recipient</source>
- <translation>Diesen Empfänger entfernen</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Zu signierende Nachricht hier eingeben</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Aktuelle Signatur in die Zwischenablage kopieren</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Die Nachricht signieren, um den Besitz dieser Bitcoin-Adresse zu beweisen</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Alle Nachricht signieren Felder zurücksetzen</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Zurücksetzen</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>Nachricht &amp;verifizieren</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Geben Sie die signierende Adresse, Nachricht (achten Sie darauf Zeilenumbrüche, Leerzeichen, Tabulatoren usw. exakt zu kopieren) und Signatur unten ein, um die Nachricht zu verifizieren. Vorsicht, interpretieren Sie nicht mehr in die Signatur, als in der signierten Nachricht selber enthalten ist, um nicht von einerm Man-in-the-middle-Angriff hinters Licht geführt zu werden.</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Die Adresse mit der die Nachricht signiert wurde (z.B. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Die Nachricht verifizieren, um sicherzustellen, dass diese mit der angegebenen Bitcoin-Adresse signiert wurde</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Alle Nachricht verifizieren Felder zurücksetzen</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Bitcoin-Adresse eingeben (z.B. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Auf &quot;Nachricht signieren&quot; klicken, um die Signatur zu erzeugen</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Bitcoin-Signatur eingeben</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Die eingegebene Adresse ist ungültig.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Bitte überprüfen Sie die Adresse und versuchen Sie es erneut.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>Die eingegebene Adresse verweist nicht auf einen Schlüssel.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Entsperrung der Brieftasche wurde abgebrochen.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Privater Schlüssel zur eingegebenen Adresse ist nicht verfügbar.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Signierung der Nachricht fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Nachricht signiert.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Die Signatur konnte nicht dekodiert werden.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Bitte überprüfen Sie die Signatur und versuchen Sie es erneut.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>Die Signatur entspricht nicht dem Message Digest.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Verifikation der Nachricht fehlgeschlagen.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Nachricht verifiziert.</translation>
+ </message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Offen bis %1</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Offen für %n Block</numerusform>
+ <numerusform>Offen für %n Blöcke</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/offline</translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/offline?</translation>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/unbestätigt</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 Bestätigungen</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Offen für %1 Blöcke</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, über %n Knoten übertragen</numerusform>
+ <numerusform>, über %n Knoten übertragen</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, wurde noch nicht erfolgreich übertragen</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Datum</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>unbekannt</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Quelle</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Status:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generiert</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, über %1 Knoten übertragen</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Von</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, über %1 Knoten übertragen</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>An</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Datum:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>eigene Adresse</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Quelle:&lt;/b&gt; Generiert&lt;br&gt;</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>Bezeichnung</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Von:&lt;/b&gt; </translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Gutschrift</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>reift noch %n weiteren Block</numerusform>
+ <numerusform>reift noch %n weitere Blöcke</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;An:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>nicht angenommen</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (Eigene Adresse, Bezeichnung: </translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Belastung</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (Eigene Adresse)</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Transaktionsgebühr</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Gutschrift:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Nettobetrag</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>%1 (reift noch %2 weitere Blöcke)</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Nachricht signieren</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(nicht angenommen)</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Kommentar</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Transaktionsgebühr:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Transaktions-ID</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Nachricht:</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Generierte Bitcoins müssen 120 Blöcke lang reifen, bevor sie ausgegeben werden können. Als Sie diesen Block generierten, wurde er an das Netzwerk übertragen, um ihn der Blockkette hinzuzufügen. Falls dies fehlschlägt wird der Status in &quot;nicht angenommen&quot; geändert und der Betrag wird nicht verfügbar werden. Das kann gelegentlich passieren, wenn ein anderer Knoten einen Block fast zeitgleich generiert.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Kommentar:</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Debuginformationen</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Transaktions-ID:</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transaktion</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Generierte Bitcoins müssen 120 Blöcke lang warten, bevor sie ausgegeben werden können. Als Sie diesen Block generierten, wurde er an das Netzwerk übertragen, um ihn der Blockkette hinzuzufügen. Falls dies fehlschlägt wird der Status in &quot;nicht angenommen&quot; geändert und der Betrag wird nicht verfügbar werden. Das kann gelegentlich passieren, wenn ein anderer Knoten einen Block zur selben Zeit wie Sie generierte.</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Eingaben</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/unbestätigt</translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Betrag</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>wahr</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Belastung:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>falsch</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, wurde noch nicht erfolgreich übertragen</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Nettobetrag:&lt;/b&gt; </translation>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>unbekannt</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Transaktionsdetails</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Dieser Bereich zeigt eine detaillierte Beschreibung der Transaktion an</translation>
</message>
@@ -1377,17 +1802,27 @@ Adresse: %4</translation>
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Datum</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation>Betrag</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Offen für %n Block</numerusform>
@@ -1395,772 +1830,895 @@ Adresse: %4</translation>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Offen bis %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Offline (%1 Bestätigungen)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Unbestätigt (%1 von %2 Bestätigungen)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Bestätigt (%1 Bestätigungen)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Erarbeiteter Betrag wird verfügbar sein, nachdem er noch %n weiteren Block reift</numerusform>
+ <numerusform>Erarbeiteter Betrag wird verfügbar sein, nachdem er noch %n weitere Blöcke reift</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Dieser Block wurde von keinem anderen Knoten empfangen und wird wahrscheinlich nicht angenommen werden!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Generiert, jedoch nicht angenommen</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Empfangen über</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Empfangen von</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Überwiesen an</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Eigenüberweisung</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Erarbeitet</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(k.A.)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Transaktionsstatus. Fahren Sie mit der Maus über dieses Feld, um die Anzahl der Bestätigungen zu sehen.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Datum und Uhrzeit als die Transaktion empfangen wurde.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Art der Transaktion</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Zieladresse der Transaktion</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Der Betrag, der dem Kontostand abgezogen oder hinzugefügt wurde.</translation>
</message>
+</context>
+<context>
+ <name>TransactionView</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Adresse</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Alle</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Datum</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Heute</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>Unbestätigt (%1 von %2 Bestätigungen)</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Diese Woche</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Der erarbeitete Betrag wird in %n Block verfügbar sein</numerusform>
- <numerusform>Der erarbeitete Betrag wird in %n Blöcken verfügbar sein</numerusform>
- </translation>
+ <message>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Diesen Monat</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Empfangen von</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Letzten Monat</translation>
</message>
-</context>
-<context>
- <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Betrag</translation>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Dieses Jahr</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Konnte nicht in Datei %1 schreiben.</translation>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Zeitraum...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Zeitraum:</translation>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Empfangen über</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Letzten Monat</translation>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Überwiesen an</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Diesen Monat</translation>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Eigenüberweisung</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Erarbeitet</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Andere</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Zu suchende Adresse oder Bezeichnung eingeben</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Minimaler Betrag</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Adresse kopieren</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Dieses Jahr</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Bezeichnung kopieren</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation>Betrag kopieren</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Empfangen über</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation>Bezeichnung bearbeiten</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Transaktionen exportieren</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Transaktionsdetails anzeigen</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Erarbeitet</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Transaktionen exportieren</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Kommagetrennte Datei (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Zu suchende Adresse oder Bezeichnung eingeben</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>Bestätigt</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Bezeichnung</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Betrag</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>ID</source>
<translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Fehler beim Exportieren</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Bezeichnung</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Konnte nicht in Datei %1 schreiben.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Bezeichnung kopieren</translation>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Zeitraum:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Heute</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>bis</translation>
</message>
+</context>
+<context>
+ <name>WalletModel</name>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Alle</translation>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>Überweise...</translation>
</message>
+</context>
+<context>
+ <name>bitcoin-core</name>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Diese Woche</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin Version</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Zeitraum...</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Benutzung:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Überwiesen an</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Befehl an -server oder bitcoind senden</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>Eigenüberweisung</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Befehle auflisten</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Andere</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Hilfe zu einem Befehl erhalten</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Transaktionsdetails anzeigen</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Optionen:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Adresse</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Konfigurationsdatei angeben (Standard: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>bis</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>PID-Datei angeben (Standard: bitcoind.pid)</translation>
</message>
-</context>
-<context>
- <name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
- <source>Sending...</source>
- <translation>Überweise...</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Bitcoins generieren</translation>
</message>
-</context>
-<context>
- <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Datenverzeichnis %s kann nicht gesperrt werden. Evtl. wurde Bitcoin bereits gestartet.</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Keine Bitcoins generieren</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Fehler beim Laden von blkindex.dat</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Datenverzeichnis angeben</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Brieftasche kann nicht auf eine ältere Version herabgestuft werden</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Größe des Datenbankcaches in MB festlegen (Standard: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Befehl an -server oder bitcoind senden</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Größe des Datenbankprotokolls auf der Festplatte in MB festlegen (Standard: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Optionen:</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>&lt;port&gt; nach Verbindungen abhören (Standard: 8333 oder Testnetz: 18333)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Maximal &lt;n&gt; Verbindungen zu Gegenstellen aufrechterhalten (Standard: 125)</translation>
+ </message>
+ <message>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Mit dem Knoten verbinden um Adressen von Gegenstellen abzufragen, danach trennen</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Die eigene öffentliche Adresse angeben</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>An die angegebene Adresse binden. Benutze [Host]:Port Schreibweise für IPv6</translation>
+ </message>
+ <message>
+ <location line="+77"/>
<source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation>Schwellenwert, um Verbindungen zu sich nicht konform verhaltenden Gegenstellen zu beenden (Standard: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Gegenstellen via Internet Relay Chat finden (Standard: 0)</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Anzahl Sekunden, während denen sich nicht konform verhaltenden Gegenstellen die Wiederverbindung verweigert wird (Standard: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Als Hintergrunddienst starten und Befehle annehmen</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Beim Einrichten des abzuhörenden RPC-Ports %u für IPv4 ist ein Fehler aufgetreten: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>Größe des Datenbankcaches in MB festlegen (Standard: 25)</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>Beim Einrichten des abzuhörenden RPC-Ports %u für IPv6 ist ein Fehler aufgetreten, es wird auf IPv4 zurückgegriffen: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Block- und Adressdatenbank beim Beenden trennen. Verlängert, die zum Beenden benötigte Zeit (Standard: 0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>&lt;port&gt; nach JSON-RPC-Verbindungen abhören (Standard: 8332 oder Testnetz: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Kommandozeilenbefehle und JSON-RPC Befehle annehmen</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
<source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Fehler: Transaktionserstellung fehlgeschlagen.</translation>
+ <translation>Fehler: Transaktionserstellung fehlgeschlagen.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">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.</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Fehler: Brieftasche gesperrt, Transaktion kann nicht erstellt werden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Anzahl Sekunden, während denen sich nicht konform verhaltenden Gegenstellen die Wiederverbindung verweigert wird (Standard: 86400)</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Importiere Datendatei der Blockkette...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Der Debugausgabe einen Zeitstempel voranstellen</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Importiere Bootstrap-Datendatei der Blockkette...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Rückverfolgungs- und Debuginformationen an die Konsole senden anstatt sie in die debug.log Datei zu schreiben</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Als Hintergrunddienst starten und Befehle annehmen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Rückverfolgungs- und Debuginformationen an den Debugger senden</translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Das Testnetz verwenden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Benutzername für JSON-RPC Verbindungen</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Eingehende Verbindungen annehmen (Standard: 1, wenn nicht -proxy oder -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Passwort für JSON-RPC Verbindungen</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Maximale Größe von high-priority/low-fee Transaktionen in Byte festlegen (Standard: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Durchsuche erneut...</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Warnung: -paytxfee ist auf einen sehr hohen Wert festgelegt! Dies ist die Gebühr die beim Senden einer Transaktion fällig wird.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Fehlerhafte Proxy-Adresse</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Warnung: Angezeigte Transaktionen sind evtl. nicht korrekt! Sie oder die anderen Knoten müssen unter Umständen (den Client) aktualisieren.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>JSON-RPC Verbindungen von der angegebenen IP-Adresse erlauben</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Warnung: Bitte korrigieren Sie die Datums- und Uhrzeiteinstellungen Ihres Computers, da Bitcoin ansonsten nicht ordnungsgemäß funktionieren wird!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Fehler beim registrieren des Ports %d auf diesem Computer. Evtl. wurde Bitcoin bereits gestartet.</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Blockerzeugungsoptionen:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Sende Befehle an Knoten &lt;ip&gt; (Standard: 127.0.0.1)</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Nur mit dem/den angegebenen Knoten verbinden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Lade Adressen...</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Eigene IP-Adresse erkennen (Standard: 1, wenn abgehört wird und nicht -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Kommando ausführen wenn der beste Block wechselt (%s im Kommando wird durch den Hash des Blocks ersetzt)</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Fehler, es konnte kein Port abgehört werden. Wenn dies so gewünscht wird -listen=0 verwenden.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Ungültige Angabe für -paytxfee=&lt;Betrag&gt;</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Gegenstellen via DNS-Namensauflösung finden (Standard: 1, außer bei -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Größe des Schlüsselpools festlegen auf &lt;n&gt; (Standard: 100)</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Ungültige Adresse in -tor: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Kommandozeilenbefehle und JSON-RPC Befehle annehmen</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Maximale Größe, &lt;n&gt; * 1000 Byte, des Empfangspuffers pro Verbindung (Standard: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Blockkette erneut nach fehlenden Transaktionen der Brieftasche durchsuchen</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Maximale Größe, &lt;n&gt; * 1000 Byte, des Sendepuffers pro Verbindung (Standard: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Wieviele Blöcke sollen beim Starten geprüft werden (Standard: 2500, 0 = alle)</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Verbinde nur zu Knoten des Netztyps &lt;net&gt; (IPv4, IPv6 oder Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>OpenSSL (https) für JSON-RPC Verbindungen verwenden</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Ausgabe zusätzlicher Debugginginformationen. Beinhaltet alle anderen -debug* Parameter</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Serverzertifikat (Standard: server.cert)</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Ausgabe zusätzlicher Netzwerk-Debugginginformationen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Akzeptierte Chiffren (Standard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Der Debugausgabe einen Zeitstempel voranstellen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Dieser Hilfetext</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL-Optionen: (siehe Bitcoin-Wiki für SSL Installationsanweisungen)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>&lt;port&gt; nach JSON-RPC Verbindungen abhören (Standard: 8332)</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>SOCKS-Version des Proxies festlegen (4-5, Standard: 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Brieftasche auf das neueste Format aktualisieren</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Rückverfolgungs- und Debuginformationen an die Konsole senden anstatt sie in die debug.log Datei zu schreiben</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Privater Serverschlüssel (Standard: server.pem)</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Rückverfolgungs- und Debuginformationen an den Debugger senden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Über einen SOCKS4-Proxy verbinden:</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Maximale Blockgröße in Byte festlegen (Standard: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Erlaube DNS Namensauflösung für addnode und connect</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Minimale Blockgröße in Byte festlegen (Standard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maximale Größe des Empfangspuffers pro Verbindung, &lt;n&gt;*1000 Bytes (Standard: 10000)</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Verkleinere debug.log Datei beim Start des Clients (Standard: 1, wenn kein -debug)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maximale Größe des Sendepuffers pro Verbindung, &lt;n&gt;*1000 Bytes (Standard: 10000)</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Verbindungstimeout in Millisekunden angeben (Standard: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">UPnP verwenden, um die Portweiterleitung einzurichten (Standard: 1)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>UPnP verwenden, um die Portweiterleitung einzurichten (Standard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">UPnP verwenden, um die Portweiterleitung einzurichten (Standard: 0)</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>UPnP verwenden, um die Portweiterleitung einzurichten (Standard: 1, wenn abgehört wird)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation>Eingehende Verbindungen annehmen (Standard: 1)</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Proxy verwenden, um versteckte Tor-Dienste zu erreichen (Standard: identisch mit -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Sprache festlegen, z.B. &quot;de_DE&quot; (Standard: System Locale)</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Benutzername für JSON-RPC Verbindungen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Ausgabe zusätzlicher Debugging-Informationen</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL Einstellungen: (siehe Bitcoin-Wiki für SSL Installationsanweisungen)</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Warnung: Nicht mehr genügend Festplattenplatz verfügbar!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Senden...</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Warnung: Diese Version is veraltet, Aktualisierung erforderlich!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Ungültige Angabe</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Unzureichender Kontostand</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Passwort für JSON-RPC Verbindungen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, Sie müssen den Wert rpcpasswort in der Konfigurationsdatei angeben
-%s
-Es wird empfohlen das folgende Zufallspasswort zu verwenden:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(Sie müssen sich dieses Passwort nicht merken!)
-Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer.
-</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>JSON-RPC Verbindungen von der angegebenen IP-Adresse erlauben</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>Zur Nutzung der %s Option</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Sende Befehle an Knoten &lt;ip&gt; (Standard: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Fehler</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Kommando ausführen wenn der beste Block wechselt (%s im Kommando wird durch den Hash des Blocks ersetzt)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Sie müssen den Wert rpcpassword=&lt;passwort&gt; in der Konfigurationsdatei angeben:
-%s
-Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer.</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Brieftasche auf das neueste Format aktualisieren</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoin Version</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Größe des Schlüsselpools festlegen auf &lt;n&gt; (Standard: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Benutzung:</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Blockkette erneut nach fehlenden Transaktionen der Brieftasche durchsuchen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Größe des Datenbankprotokolls auf der Festplatte in MB festlegen (Standard: 100)</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Wieviele Blöcke sollen beim Starten geprüft werden (Standard: 2500, 0 = alle)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Lade Brieftasche...</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Wie gründlich soll die Blockprüfung sein (0-6, Standard: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Standardadresse kann nicht geschrieben werden</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Blöcke aus einer externen blk000?.dat Datei importieren</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Lade Blockindex...</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>OpenSSL (https) für JSON-RPC Verbindungen verwenden</translation>
+ </message>
+ <message>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Serverzertifikat (Standard: server.cert)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Privater Serverschlüssel (Standard: server.pem)</translation>
+ </message>
+ <message>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Akzeptierte Chiffren (Standard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Warnung: -paytxfee ist auf einen sehr hohen Wert gesetzt. Dies ist die Gebühr die beim Senden einer Transaktion fällig wird.</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Dieser Hilfetext</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Warnung: Festplattenplatz wird knapp</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Datenverzeichnis %s kann nicht gesperrt werden. Evtl. wurde Bitcoin bereits gestartet.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Laden abgeschlossen</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Kann auf diesem Computer nicht an %s binden (von bind zurückgegebener Fehler %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Fehler: CreateThread(StartNode) fehlgeschlagen</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Über einen SOCKS-Proxy verbinden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Warnung: Bitte korrigieren Sie die Datums- und Uhrzeiteinstellungen Ihres Computers, da Bitcoin ansonsten nicht ordnungsgemäß funktionieren wird.</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Erlaube DNS-Namensauflösung für -addnode, -seednode und -connect</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Fehler beim Laden von addr.dat</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Lade Adressen...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Fehler beim Laden von blkindex.dat</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation>Fehler beim Laden von wallet.dat: Brieftasche beschädigt</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation>Fehler beim Laden von wallet.dat: Brieftasche benötigt neuere Version von Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
+ <location line="+73"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation>Brieftasche muss neu geschrieben werden: Starten Sie Bitcoin zur Fertigstellung neu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation>Fehler beim Laden von wallet.dat (Brieftasche)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Schlüsselpool kann nicht initialisiert werden</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Ungültige Adresse in -proxy: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Beim Einrichten des abzuhörenden RPC-Ports %u ist ein Fehler aufgetreten: %s</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Unbekannter Netztyp in -onlynet angegeben: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Befehle auflisten</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Unbekannte Proxyversion in -socks angefordert: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Hilfe zu einem Befehl erhalten</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Kann Adresse in -bind nicht auflösen: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Konfigurationsdatei angeben (Standard: bitcoin.conf)</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Kann Adresse in -externalip nicht auflösen: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>PID-Datei angeben (Standard: bitcoind.pid)</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Falscher Betrag für -paytxfee=&lt;Betrag&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Bitcoins generieren</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Fehler: Knoten konnte nicht gestartet weden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Keine Bitcoins generieren</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Senden...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Minimiert starten</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Ungültige Angabe</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Startbildschirm beim Starten anzeigen (Standard: 1)</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Unzureichender Kontostand</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Datenverzeichnis angeben</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Lade Blockindex...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Verbindungstimeout angeben (in Millisekunden)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Mit dem Knoten verbinden und versuchen die Verbindung aufrecht zu halten</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>&lt;port&gt; nach Verbindungen abhören (Standard: 8333 oder Testnetz: 18333)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Kann auf diesem Computer nicht an %s binden. Evtl. wurde Bitcoin bereits gestartet.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Maximal &lt;n&gt; Verbindungen zu Gegenstellen aufrechterhalten (Standard: 125)</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Gegenstellen via Internet Relay Chat finden (Standard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Mit dem Knoten verbinden und versuchen die Verbindung aufrecht zu halten</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Gebühr pro KB, die gesendeten Transaktionen hinzugefügt wird</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Nur mit dem angegebenem Knoten verbinden</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Lade Brieftasche...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>Gegenstellen via DNS-Namensauflösung finden (Standard: 1)</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Brieftasche kann nicht auf eine ältere Version herabgestuft werden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Gebühr pro KB, die gesendeten Transaktionen hinzugefügt wird</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Schlüsselpool kann nicht initialisiert werden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Das Testnetz verwenden</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Standardadresse kann nicht geschrieben werden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Wie gründlich soll die Blockprüfung sein (0-6, Standard: 1)</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Durchsuche erneut...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Block- und Adressdatenbank beim Beenden trennen. Verlängert, die zum Beenden benötigte Zeit (Standard: 0)</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Laden abgeschlossen</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Zur Nutzung der %s Option</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, Sie müssen den Wert rpcpasswort in der Konfigurationsdatei angeben
+%s
+Es wird empfohlen das folgende Zufallspasswort zu verwenden:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(Sie müssen sich dieses Passwort nicht merken!)
+Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer.
+</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Fehler</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Benutzung</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Sie müssen den Wert rpcpassword=&lt;passwort&gt; in der Konfigurationsdatei angeben:
+%s
+Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_el_GR.ts b/src/qt/locale/bitcoin_el_GR.ts
new file mode 100644
index 0000000000..1430922f58
--- /dev/null
+++ b/src/qt/locale/bitcoin_el_GR.ts
@@ -0,0 +1,2720 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="el_GR">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>AboutDialog</name>
+ <message>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
+ <source>About Bitcoin</source>
+ <translation>Σχετικα:Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
+ <translation>&lt;b&gt;Bitcoin&lt;/b&gt;έκδοση</translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
+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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AddressBookPage</name>
+ <message>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
+ <source>Address Book</source>
+ <translation>Βιβλίο Διευθύνσεων</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Double-click to edit address or label</source>
+ <translation>Διπλό-κλικ για επεξεργασία της διεύθυνσης ή της ετικέτας</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Create a new address</source>
+ <translation>Δημιούργησε νέα διεύθυνση</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Αντέγραψε την επιλεγμένη διεύθυνση στο πρόχειρο του συστήματος</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Αυτές είναι οι Bitcoin διευθύνσεις σας για να λαμβάνετε πληρωμές. Δίνοντας μία ξεχωριστή διεύθυνση σε κάθε αποστολέα, θα μπορείτε να ελέγχετε ποιος σας πληρώνει.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Αντιγραφή διεύθυνσης</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>Δείξε &amp;QR κωδικα</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Υπογράψτε ένα μήνυμα για ν&apos; αποδείξετε πως σας ανήκει μια συγκεκριμένη διεύθυνση Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>&amp;Υπέγραψε το μήνυμα</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Διαγραφή</translation>
+ </message>
+ <message>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Αντιγραφή &amp;επιγραφής</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Επεξεργασία</translation>
+ </message>
+ <message>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Εξαγωγή Δεδομενων Βιβλίου Διευθύνσεων</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Αρχείο οριοθετημένο με κόμματα (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Εξαγωγή λαθών</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Δεν μπόρεσα να γράψω στο αρχείο %1.</translation>
+ </message>
+</context>
+<context>
+ <name>AddressTableModel</name>
+ <message>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
+ <source>Label</source>
+ <translation>Ετικέτα</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Διεύθυνση</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>(no label)</source>
+ <translation>(χωρίς ετικέτα)</translation>
+ </message>
+</context>
+<context>
+ <name>AskPassphraseDialog</name>
+ <message>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Βάλτε κωδικό πρόσβασης</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Νέος κωδικός πρόσβασης</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Επανέλαβε τον νέο κωδικό πρόσβασης</translation>
+ </message>
+ <message>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Εισάγετε τον νέο κωδικό πρόσβασης στον πορτοφόλι &lt;br/&gt; Παρακαλώ χρησιμοποιείστε ένα κωδικό με &lt;b&gt; 10 ή περισσότερους τυχαίους χαρακτήρες&lt;/b&gt; ή &lt;b&gt; οχτώ ή παραπάνω λέξεις&lt;/b&gt;.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Κρυπτογράφησε το πορτοφόλι</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Αυτη η ενεργεία χρειάζεται τον κωδικό του πορτοφολιού για να ξεκλειδώσει το πορτοφόλι.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Ξεκλειδωσε το πορτοφολι</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Αυτη η ενεργεια χρειάζεται τον κωδικο του πορτοφολιου για να αποκρυπτογραφησειι το πορτοφολι.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Αποκρυπτογράφησε το πορτοφολι</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Άλλαξε κωδικο πρόσβασης</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Εισάγετε τον παλιό και τον νεο κωδικο στο πορτοφολι.</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Επιβεβαίωσε την κρυπτογραφηση του πορτοφολιού</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Κρυπτογραφημενο πορτοφολι</translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Το Bitcoin θα κλεισει τώρα για να τελειώσει την διαδικασία κρυπτογραφησης. Θυμησου ότι κρυπτογραφώντας το πορτοφολι σου δεν μπορείς να προστατέψεις πλήρως τα bitcoins σου από κλοπή στην περίπτωση όπου μολυνθεί ο υπολογιστής σου με κακόβουλο λογισμικο.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Η κρυπτογραφηση του πορτοφολιού απέτυχε</translation>
+ </message>
+ <message>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Η κρυπτογράφηση του πορτοφολιού απέτυχε λογω εσωτερικού σφάλματος. Το πορτοφολι δεν κρυπτογραφηθηκε.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>Οι εισαχθέντες κωδικοί δεν ταιριάζουν.</translation>
+ </message>
+ <message>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>το ξεκλείδωμα του πορτοφολιού απέτυχε</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>Ο κωδικος που εισήχθη για την αποκρυπτογραφηση του πορτοφολιού ήταν λαθος.</translation>
+ </message>
+ <message>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Η αποκρυπτογραφηση του πορτοφολιού απέτυχε</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
+ <message>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Υπογραφή &amp;Μηνύματος...</translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Συγχρονισμός με το δίκτυο...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Επισκόπηση</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Εμφάνισε γενική εικονα του πορτοφολιού</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Συναλλαγές</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Περιήγηση στο ιστορικο συνναλαγων</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Βιβλίο Διευθύνσεων</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Εξεργασια της λιστας των αποθηκευμενων διευθύνσεων και ετικετων</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Παραλαβή νομισματων</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Εμφάνισε την λίστα των διευθύνσεων για την παραλαβή πληρωμων</translation>
+ </message>
+ <message>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Αποστολη νομισματων</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>Έ&amp;ξοδος</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Εξοδος από την εφαρμογή</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Εμφάνισε πληροφορίες σχετικά με το Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Σχετικά με &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Εμφάνισε πληροφορίες σχετικά με Qt</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Επιλογές...</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Κρυπτογράφησε το πορτοφόλι</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Αντίγραφο ασφαλείας του πορτοφολιού</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Άλλαξε κωδικο πρόσβασης</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n μπλοκ απέμεινε</numerusform>
+ <numerusform>~%n μπλοκ απέμειναν</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Κατέβηκαν %1 από %2 μπλοκ του ιστορικού συναλλαγών (%3% ολοκληρώθηκαν)</translation>
+ </message>
+ <message>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Εξαγωγή</translation>
+ </message>
+ <message>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Εξαγωγή δεδομένων καρτέλας σε αρχείο</translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Κρυπτογράφηση ή αποκρυπτογράφηση πορτοφολιού</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Δημιουργία αντιγράφου ασφαλείας πορτοφολιού σε άλλη τοποθεσία</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Αλλαγή του κωδικού κρυπτογράφησης του πορτοφολιού</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Πορτοφόλι</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Σχετικα:Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Εμφάνισε/Κρύψε</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Αρχείο</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Ρυθμίσεις</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Βοήθεια</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Εργαλειοθήκη καρτελών</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Εργαλειοθήκη ενεργειών</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Πελάτης Bitcoin</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n ενεργή σύνδεση στο δίκτυο Bitcoin</numerusform>
+ <numerusform>%n ενεργές συνδέσεις στο δίκτυο Βitcoin</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Έγινε λήψη %1 μπλοκ ιστορικού συναλλαγών</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>%n δευτερόλεπτο πριν</numerusform>
+ <numerusform>%n δευτερόλεπτα πριν</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n λεπτό πριν</numerusform>
+ <numerusform>%n λεπτά πριν</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>%n ώρα πριν</numerusform>
+ <numerusform>%n ώρες πριν</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n ημέρα πριν</numerusform>
+ <numerusform>%n ημέρες πριν</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Ενημερωμένο</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Ενημέρωση...</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Το τελευταίο μπλοκ που ελήφθη %1.</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Η συναλλαγή ξεπερνάει το όριο.
+Μπορεί να ολοκληρωθεί με μια αμοιβή των %1, η οποία αποδίδεται στους κόμβους που επεξεργάζονται τις συναλλαγές και βοηθούν στην υποστήριξη του δικτύου.
+Θέλετε να συνεχίσετε;</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Επιβεβαίωση αμοιβής συναλλαγής</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Η συναλλαγή απεστάλη</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Εισερχόμενη συναλλαγή</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>Ημερομηνία: %1
+Ποσό: %2
+Τύπος: %3
+Διεύθυνση: %4
+</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Το πορτοφόλι είναι &lt;b&gt;κρυπτογραφημένο&lt;/b&gt; και &lt;b&gt;ξεκλείδωτο&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Το πορτοφόλι είναι &lt;b&gt;κρυπτογραφημένο&lt;/b&gt; και &lt;b&gt;κλειδωμένο&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Αντίγραφο ασφαλείας του πορτοφολιού</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Αρχεία δεδομένων πορτοφολιού (*.dat)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Αποτυχία κατά τη δημιουργία αντιγράφου</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Παρουσιάστηκε σφάλμα κατά την αποθήκευση των δεδομένων πορτοφολιού στη νέα τοποθεσία.</translation>
+ </message>
+ <message>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ClientModel</name>
+ <message>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>EditAddressDialog</name>
+ <message>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
+ <source>Edit Address</source>
+ <translation>Επεξεργασία Διεύθυνσης</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Επιγραφή</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The label associated with this address book entry</source>
+ <translation>Η επιγραφή που σχετίζεται με αυτή την καταχώρηση του βιβλίου διευθύνσεων</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Διεύθυνση</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <translation>Η διεύθυνση που σχετίζεται με αυτή την καταχώρηση του βιβλίου διευθύνσεων. Μπορεί να τροποποιηθεί μόνο για τις διευθύνσεις αποστολής.</translation>
+ </message>
+ <message>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>Νέα διεύθυνση λήψης</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation>Νέα διεύθυνση αποστολής</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Edit receiving address</source>
+ <translation>Επεξεργασία διεύθυνσης λήψης</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Επεξεργασία διεύθυνσης αποστολής</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>Η διεύθυνση &quot;%1&quot; βρίσκεται ήδη στο βιβλίο διευθύνσεων.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Δεν είναι δυνατό το ξεκλείδωμα του πορτοφολιού.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation>Η δημιουργία νέου κλειδιού απέτυχε.</translation>
+ </message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
+ <message>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>έκδοση</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Χρήση:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>επιλογής γραμμής εντολών</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>επιλογές UI</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Όρισε γλώσσα, για παράδειγμα &quot;de_DE&quot;(προεπιλογή:τοπικές ρυθμίσεις)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Έναρξη ελαχιστοποιημένο</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Εμφάνισε την οθόνη εκκίνησης κατά την εκκίνηση(προεπιλογή:1)</translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Ρυθμίσεις</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Η προαιρετική αμοιβή για κάθε kB επισπεύδει την επεξεργασία των συναλλαγών σας. Οι περισσότερες συναλλαγές είναι 1 kB. Προτείνεται αμοιβή 0.01.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Αμοιβή &amp;συναλλαγής</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Αυτόματη εκκίνηση του Bitcoin μετά την εισαγωγή στο σύστημα</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Δίκτυο</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Αυτόματο άνοιγμα των θυρών Bitcoin στον δρομολογητή. Λειτουργεί μόνο αν ο δρομολογητής σας υποστηρίζει τη λειτουργία UPnP.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Απόδοση θυρών με χρήστη &amp;UPnP</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Σύνδεση μέσω διαμεσολαβητή SOCKS</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Διεύθυνση IP του διαμεσολαβητή (π.χ. 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Θύρα διαμεσολαβητή</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS &amp;Έκδοση:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Ελαχιστοποίηση στην περιοχή ειδοποιήσεων αντί της γραμμής εργασιών</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Ελαχιστοποίηση αντί για έξοδο κατά το κλείσιμο του παραθύρου</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Εδώ μπορεί να ρυθμιστεί η γλώσσα διεπαφής χρήστη. Αυτή η ρύθμιση θα ισχύσει μετά την επανεκκίνηση του Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Διαλέξτε την προεπιλεγμένη υποδιαίρεση που θα εμφανίζεται όταν στέλνετε νομίσματα.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Επιλέξτε αν θέλετε να εμφανίζονται οι διευθύνσεις Bitcoin στη λίστα συναλλαγών.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Προειδοποίηση</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Αυτή η ρύθμιση θα ισχύσει μετά την επανεκκίνηση του Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Δεν είναι έγκυρη η διεύθυνση διαμεσολαβητή</translation>
+ </message>
+</context>
+<context>
+ <name>OverviewPage</name>
+ <message>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Φόρμα</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Υπόλοιπο</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Αριθμός συναλλαγών</translation>
+ </message>
+ <message>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Ανεπιβεβαίωτες</translation>
+ </message>
+ <message>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Πορτοφόλι</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Πρόσφατες συναλλαγές&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Το τρέχον υπόλοιπο</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Το άθροισμα των συναλλαγών που δεν έχουν ακόμα επιβεβαιωθεί και δεν προσμετρώνται στο τρέχον υπόλοιπό σας</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Σύνολο συναλλαγών στο πορτοφόλι</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
+ <message>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Αίτηση πληρωμής</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Ποσό:</translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Επιγραφή:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Μήνυμα:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Αποθήκευση ως...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Σφάλμα κατά την κωδικοποίηση του URI σε κώδικα QR</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>Το αποτέλεσμα της διεύθυνσης είναι πολύ μεγάλο. Μειώστε το μέγεθος για το κείμενο της ετικέτας/ μηνύματος.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Αποθήκευση κώδικα QR</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>Εικόνες PNG (*.png)</translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Δίκτυο</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Αριθμός συνδέσεων</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Τρέχον αριθμός μπλοκ</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Κατ&apos; εκτίμηση συνολικά μπλοκς</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Χρόνος τελευταίου μπλοκ</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>επιλογής γραμμής εντολών</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Καθαρισμός κονσόλας</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Αποστολή νομισμάτων</translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>Αποστολή σε πολλούς αποδέκτες ταυτόχρονα</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Διαγραφή όλων των πεδίων συναλλαγής</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Υπόλοιπο:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123,456 BTC</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Επιβεβαίωση αποστολής</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; σε %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Επιβεβαίωση αποστολής νομισμάτων</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>Είστε βέβαιοι για την αποστολή %1;</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source> and </source>
+ <translation>και</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>Το ποσό πληρωμής πρέπει να είναι μεγαλύτερο από 0.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>Το ποσό ξεπερνάει το διαθέσιμο υπόλοιπο</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Σφάλμα: Η δημιουργία της συναλλαγής απέτυχε</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>Σφάλμα: Η συναλλαγή απερρίφθη. Αυτό ενδέχεται να συμβαίνει αν κάποια από τα νομίσματα έχουν ήδη ξοδευθεί, όπως αν χρησιμοποιήσατε αντίγραφο του wallet.dat και τα νομίσματα ξοδεύθηκαν εκεί.</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsEntry</name>
+ <message>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Φόρμα</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>&amp;Ποσό:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Πληρωμή &amp;σε:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Εισάγετε μια επιγραφή για αυτή τη διεύθυνση ώστε να καταχωρηθεί στο βιβλίο διευθύνσεων</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Επιγραφή</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Η διεύθυνση γι&apos; αποστολή πληρωμής
+(π.χ. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Επιλογή διεύθυνσης από το βιβλίο διευθύνσεων</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Επικόλληση διεύθυνσης από το πρόχειρο</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Αφαίρεση αποδέκτη</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Εισάγετε μια διεύθυνση Bitcoin (π.χ. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Υπογραφή Μηνύματος</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Μπορείτε να υπογράφετε μηνύματα με τις διευθύνσεις σας, ώστε ν&apos; αποδεικνύετε πως αυτές σας ανήκουν. Αποφεύγετε να υπογράφετε κάτι αόριστο καθώς ενδέχεται να εξαπατηθείτε. Υπογράφετε μόνο πλήρης δηλώσεις με τις οποίες συμφωνείτε.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Εισάγετε μια διεύθυνση Bitcoin (π.χ. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Επιλογή διεύθυνσης από το βιβλίο διευθύνσεων</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Επικόλληση διεύθυνσης από το βιβλίο διευθύνσεων</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Εισάγετε εδώ το μήνυμα που θέλετε να υπογράψετε</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Υπογράψτε ένα μήνυμα για ν&apos; αποδείξετε πως σας ανήκει μια συγκεκριμένη διεύθυνση Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Εισάγετε μια διεύθυνση Bitcoin (π.χ. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Εισάγετε μια διεύθυνση Bitcoin (π.χ. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Ανοιχτό μέχρι %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Ανοιχτό για %n μπλοκ</numerusform>
+ <numerusform>Ανοιχτό για %n μπλοκ</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/χωρίς επιβεβαίωση</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 επιβεβαιώσεις</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Ημερομηνία</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>eπιγραφή</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Μήνυμα</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Ποσό</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, δεν έχει ακόμα μεταδοθεί μ&apos; επιτυχία</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>άγνωστο</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDescDialog</name>
+ <message>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Λεπτομέρειες συναλλαγής</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Αυτό το παράθυρο δείχνει μια λεπτομερή περιγραφή της συναλλαγής</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
+ <message>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Ημερομηνία</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Τύπος</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Διεύθυνση</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Ποσό</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Ανοιχτό για %n μπλοκ</numerusform>
+ <numerusform>Ανοιχτό για %n μπλοκ</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Ανοιχτό μέχρι %1</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Χωρίς σύνδεση (%1 επικυρώσεις)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Χωρίς επιβεβαίωση (%1 από %2 επικυρώσεις)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>Επικυρωμένη (%1 επικυρώσεις)</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Αυτό το μπλοκ δεν έχει παραληφθεί από κανέναν άλλο κόμβο και κατά πάσα πιθανότητα θα απορριφθεί!</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>Δημιουργήθηκε αλλά απορρίφθηκε</translation>
+ </message>
+ <message>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Παραλαβή με</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Ελήφθη από</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Αποστολή προς</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Πληρωμή προς εσάς</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>Εξόρυξη</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(δ/α)</translation>
+ </message>
+ <message>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Κατάσταση συναλλαγής. Πηγαίνετε το ποντίκι πάνω από αυτό το πεδίο για να δείτε τον αριθμό των επικυρώσεων</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Ημερομηνία κι ώρα λήψης της συναλλαγής.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Είδος συναλλαγής.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Διεύθυνση αποστολής της συναλλαγής.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Ποσό που αφαιρέθηκε ή προστέθηκε στο υπόλοιπο.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionView</name>
+ <message>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Όλα</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Σήμερα</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Αυτή την εβδομάδα</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Αυτόν τον μήνα</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Τον προηγούμενο μήνα</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Αυτό το έτος</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Έκταση...</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Ελήφθη με</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Απεστάλη προς</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Προς εσάς</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Εξόρυξη</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Άλλο</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Αναζήτηση με βάση τη διεύθυνση ή την επιγραφή</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Ελάχιστο ποσό</translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Αντιγραφή διεύθυνσης</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Αντιγραφή επιγραφής</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Αντιγραφή ποσού</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Επεξεργασία επιγραφής</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Εμφάνιση λεπτομερειών συναλλαγής</translation>
+ </message>
+ <message>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Εξαγωγή Στοιχείων Συναλλαγών</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Αρχείο οριοθετημένο με κόμματα (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Επικυρωμένες</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Ημερομηνία</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Τύπος</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Επιγραφή</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Διεύθυνση</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Ποσό</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Σφάλμα εξαγωγής</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Αδυναμία εγγραφής στο αρχείο %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Έκταση:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>έως</translation>
+ </message>
+</context>
+<context>
+ <name>WalletModel</name>
+ <message>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>Αποστολή...</translation>
+ </message>
+</context>
+<context>
+ <name>bitcoin-core</name>
+ <message>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Έκδοση Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Χρήση:</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Αποστολή εντολής στον εξυπηρετητή ή στο bitcoind</translation>
+ </message>
+ <message>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Λίστα εντολών</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Επεξήγηση εντολής</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Επιλογές:</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Ορίστε αρχείο ρυθμίσεων (προεπιλογή: bitcoin.conf)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Ορίστε αρχείο pid (προεπιλογή: bitcoind.pid)</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Δημιουργία νομισμάτων</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Άρνηση δημιουργίας νομισμάτων</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Ορισμός φακέλου δεδομένων</translation>
+ </message>
+ <message>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Όρισε το μέγεθος της βάσης προσωρινής αποθήκευσης σε megabytes(προεπιλογή:25)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Όρισε το μέγεθος της βάσης ιστορικού σε megabytes (προεπιλογή:100)</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Εισερχόμενες συνδέσεις στη θύρα &lt;port&gt; (προεπιλογή: 8333 ή στο testnet: 18333)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Μέγιστες αριθμός συνδέσεων με τους peers &lt;n&gt; (προεπιλογή: 125)</translation>
+ </message>
+ <message>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Όριο αποσύνδεσης προβληματικών peers (προεπιλογή: 100)</translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Δευτερόλεπτα πριν επιτραπεί ξανά η σύνδεση των προβληματικών peers (προεπιλογή: 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Αποσύνδεση των βάσεων δεδομένων μπλοκ και διευθύνσεων. Αυξάνει το χρόνο κλεισίματος (προεπιλογή: 0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Σφάλμα: Η συναλλαγή απερρίφθη. Αυτό ενδέχεται να συμβαίνει αν κάποια από τα νομίσματα έχουν ήδη ξοδευθεί, όπως αν χρησιμοποιήσατε αντίγραφο του wallet.dat και τα νομίσματα ξοδεύθηκαν εκεί.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Σφάλμα: Αυτή η συναλλαγή απαιτεί αμοιβή συναλλαγής τουλάχιστον %s λόγω του μεγέθους, πολυπλοκότητας ή της χρήσης πρόσφατης παραλαβής κεφαλαίου</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Εισερχόμενες συνδέσεις JSON-RPC στη θύρα &lt;port&gt; (προεπιλογή: 8332 or testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Αποδοχή εντολών κονσόλας και JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Σφάλμα: Η δημιουργία της συναλλαγής απέτυχε</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Σφάλμα: το πορτοφόλι είναι κλειδωμένο, δεν μπορεί να δημιουργηθεί συναλλαγή</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Εκτέλεση στο παρασκήνιο κι αποδοχή εντολών</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Χρήση του δοκιμαστικού δικτύου</translation>
+ </message>
+ <message>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Σύνδεση μόνο με ορισμένους κόμβους</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Χρονοσφραγίδα πληροφοριών εντοπισμού σφαλμάτων</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Αποστολή πληροφοριών εντοπισμού σφαλμάτων στην κονσόλα αντί του αρχείου debug.log</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Αποστολή πληροφοριών εντοπισμού σφαλμάτων στον debugger</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Ορισμός λήξης χρονικού ορίου σε χιλιοστά του δευτερολέπτου(προεπιλογή:5000)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Όνομα χρήστη για τις συνδέσεις JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Κωδικός για τις συνδέσεις JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Αποδοχή συνδέσεων JSON-RPC από συγκεκριμένη διεύθυνση IP</translation>
+ </message>
+ <message>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Αποστολή εντολών στον κόμβο &lt;ip&gt; (προεπιλογή: 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Εκτέλεσε την εντολή όταν το καλύτερο μπλοκ αλλάξει(%s στην εντολή αντικαθίσταται από το hash του μπλοκ)</translation>
+ </message>
+ <message>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Αναβάθμισε το πορτοφόλι στην τελευταία έκδοση</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Όριο πλήθους κλειδιών pool &lt;n&gt; (προεπιλογή: 100)</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Επανέλεγχος της αλυσίδας μπλοκ για απούσες συναλλαγές</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Πόσα μπλοκ να ελέγχω κατά την εκκίνηση (προεπιλογή:2500,0=όλα)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Πόσο εξονυχιστική να είναι η επιβεβαίωση του μπλοκ(0-6, προεπιλογή:1)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Εισαγωγή μπλοκ από εξωτερικό αρχείο blk000?.dat</translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Χρήση του OpenSSL (https) για συνδέσεις JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Αρχείο πιστοποιητικού του διακομιστή (προεπιλογή: server.cert)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Προσωπικό κλειδί του διακομιστή (προεπιλογή: server.pem)</translation>
+ </message>
+ <message>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Αποδεκτά κρυπτογραφήματα (προεπιλογή: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Αυτό το κείμενο βοήθειας</translation>
+ </message>
+ <message>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Αδυναμία κλειδώματος του φακέλου δεδομένων %s. Πιθανώς το Bitcoin να είναι ήδη ενεργό.</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Σύνδεση μέσω διαμεσολαβητή socks</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Φόρτωση διευθύνσεων...</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Σφάλμα φόρτωσης blkindex.dat</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Σφάλμα φόρτωσης wallet.dat: Κατεστραμμένο Πορτοφόλι</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Σφάλμα φόρτωσης wallet.dat: Το Πορτοφόλι απαιτεί μια νεότερη έκδοση του Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Απαιτείται η επανεγγραφή του Πορτοφολιού, η οποία θα ολοκληρωθεί στην επανεκκίνηση του Bitcoin</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Σφάλμα φόρτωσης αρχείου wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Δεν είναι έγκυρη η διεύθυνση διαμεσολαβητή: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Αποστολή...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Λάθος ποσότητα</translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Ανεπαρκές κεφάλαιο</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Φόρτωση ευρετηρίου μπλοκ...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Προσέθεσε ένα κόμβο για σύνδεση και προσπάθησε να κρατήσεις την σύνδεση ανοιχτή</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Βρες ομότιμους υπολογιστές χρησιμοποιώντας internet relay chat(Προεπιλογή:0)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Αμοιβή ανά KB που θα προστίθεται στις συναλλαγές που στέλνεις</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Φόρτωση πορτοφολιού...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Δεν μπορώ να υποβαθμίσω το πορτοφόλι</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Δεν μπορώ αν αρχικοποιήσω την λίστα κλειδιών</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Δεν μπορώ να γράψω την προεπιλεγμένη διεύθυνση</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Ανίχνευση...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Η φόρτωση ολοκληρώθηκε</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Χρήση της %s επιλογής</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, πρέπει να βάλεις ένα κωδικό στο αρχείο παραμέτρων: %s
+Προτείνεται να χρησιμοποιήσεις τον παρακάτω τυχαίο κωδικό:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(δεν χρειάζεται να θυμάσαι αυτόν τον κωδικό)
+Εάν το αρχείο δεν υπάρχει, δημιούργησε το με δικαιώματα μόνο για ανάγνωση από τον δημιουργό.</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Σφάλμα</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Πρέπει να βάλεις ένα κωδικό στο αρχείο παραμέτρων: %s
+Εάν το αρχείο δεν υπάρχει, δημιούργησε το με δικαιώματα μόνο για ανάγνωση από τον δημιουργό</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts
index b84ead04d8..e2fbd71a6c 100644
--- a/src/qt/locale/bitcoin_en.ts
+++ b/src/qt/locale/bitcoin_en.ts
@@ -1,493 +1,526 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.0" language="en_US">
+<TS version="2.0" language="en">
<defaultcodec>UTF-8</defaultcodec>
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
- <translation type="unfinished"></translation>
+ <translation>About Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
- <translation type="unfinished"></translation>
+ <translation>&lt;b&gt;Bitcoin&lt;/b&gt; version</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 The Bitcoin developers</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation type="unfinished"></translation>
+ <translation>
+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.</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <translation>Address Book</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
- <translation type="unfinished"></translation>
+ <translation>Double-click to edit address or label</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
- <translation type="unfinished"></translation>
+ <translation>Create a new address</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Copy the currently selected address to the system clipboard</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
- <translation type="unfinished"></translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;New Address</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation type="unfinished"></translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Copy Address</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
- <translation type="unfinished"></translation>
+ <translation>Show &amp;QR Code</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation type="unfinished"></translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Sign a message to prove you own a Bitcoin address</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation type="unfinished"></translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Verify a message to ensure it was signed with a specified Bitcoin address</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verify Message</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Delete</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation type="unfinished"></translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Copy &amp;Label</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Edit</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
- <translation type="unfinished"></translation>
+ <translation>Export Address Book Data</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
- <translation type="unfinished"></translation>
+ <translation>Comma separated file (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
- <translation type="unfinished"></translation>
+ <translation>Error exporting</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
- <translation type="unfinished"></translation>
+ <translation>Could not write to file %1.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
- <translation type="unfinished"></translation>
+ <translation>Label</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
- <translation type="unfinished"></translation>
+ <translation>Address</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
- <translation type="unfinished"></translation>
+ <translation>(no label)</translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation type="unfinished"></translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Passphrase Dialog</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
- <translation type="unfinished"></translation>
+ <translation>Enter passphrase</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
- <translation type="unfinished"></translation>
+ <translation>New passphrase</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation type="unfinished"></translation>
+ <translation>Repeat new passphrase</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation type="unfinished"></translation>
+ <translation>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
- <translation type="unfinished"></translation>
+ <translation>Encrypt wallet</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation type="unfinished"></translation>
+ <translation>This operation needs your wallet passphrase to unlock the wallet.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
- <translation type="unfinished"></translation>
+ <translation>Unlock wallet</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation type="unfinished"></translation>
+ <translation>This operation needs your wallet passphrase to decrypt the wallet.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
- <translation type="unfinished"></translation>
+ <translation>Decrypt wallet</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
- <translation type="unfinished"></translation>
+ <translation>Change passphrase</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
- <translation type="unfinished"></translation>
+ <translation>Enter the old and new passphrase to the wallet.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
- <translation type="unfinished"></translation>
+ <translation>Confirm wallet encryption</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation type="unfinished"></translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Are you sure you wish to encrypt your wallet?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Warning: The Caps Lock key is on!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Wallet encrypted</translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet encryption failed</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
- <translation type="unfinished"></translation>
+ <translation>The supplied passphrases do not match.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet unlock failed</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation type="unfinished"></translation>
+ <translation>The passphrase entered for the wallet decryption was incorrect.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet decryption failed</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet passphrase was successfully changed.</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation type="unfinished"></translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Sign &amp;message...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Synchronizing with network...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
<source>&amp;Overview</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Overview</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
- <translation type="unfinished"></translation>
+ <translation>Show general overview of wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Transactions</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
- <translation type="unfinished"></translation>
+ <translation>Browse transaction history</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Address Book</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
- <translation type="unfinished"></translation>
+ <translation>Edit the list of stored addresses and labels</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Receive coins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
- <translation type="unfinished"></translation>
+ <translation>Show the list of addresses for receiving payments</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Send coins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="235"/>
+ <location line="+35"/>
<source>E&amp;xit</source>
- <translation type="unfinished"></translation>
+ <translation>E&amp;xit</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
+ <location line="+1"/>
<source>Quit application</source>
- <translation type="unfinished"></translation>
+ <translation>Quit application</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
- <translation type="unfinished"></translation>
+ <translation>Show information about Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
+ <location line="+2"/>
<source>About &amp;Qt</source>
- <translation type="unfinished"></translation>
+ <translation>About &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+1"/>
<source>Show information about Qt</source>
- <translation type="unfinished"></translation>
+ <translation>Show information about Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
+ <location line="+2"/>
<source>&amp;Options...</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Options...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Encrypt Wallet...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup Wallet...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Change Passphrase...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n block remaining</numerusform>
+ <numerusform>~%n blocks remaining</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Downloaded %1 of %2 blocks of transaction history (%3% done).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
+ <location line="-242"/>
<source>&amp;Export...</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Export...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation type="unfinished"></translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Send coins to a Bitcoin address</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation type="unfinished"></translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modify configuration options for Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Export the data in the current tab to a file</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished"></translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Encrypt or decrypt wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
- <translation type="unfinished"></translation>
+ <translation>Backup wallet to another location</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Change the passphrase used for wallet encryption</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Debug window</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Open debugging and diagnostic console</translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Verify message...</translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Wallet</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;About Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Show / Hide</translation>
+ </message>
+ <message>
+ <location line="+39"/>
<source>&amp;File</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;File</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Settings</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Help</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+9"/>
<source>Tabs toolbar</source>
- <translation type="unfinished"></translation>
+ <translation>Tabs toolbar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
- <translation type="unfinished"></translation>
+ <translation>Actions toolbar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
- <translation type="unfinished"></translation>
+ <translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation type="unfinished"></translation>
+ <translation>Bitcoin client</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n active connection to Bitcoin network</numerusform>
@@ -495,22 +528,12 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
- <translation type="unfinished"></translation>
+ <translation>Downloaded %1 blocks of transaction history.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n second ago</numerusform>
@@ -518,7 +541,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>%n minute ago</numerusform>
@@ -526,7 +549,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n hour ago</numerusform>
@@ -534,7 +557,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>%n day ago</numerusform>
@@ -542,853 +565,1265 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
- <translation type="unfinished"></translation>
+ <translation>Up to date</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
- <translation type="unfinished"></translation>
+ <translation>Catching up...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
- <translation type="unfinished"></translation>
+ <translation>Last received block was generated %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+58"/>
<source>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?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Confirm transaction fee</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
- <translation type="unfinished"></translation>
+ <translation>Sent transaction</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
- <translation type="unfinished"></translation>
+ <translation>Incoming transaction</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
Address: %4
</source>
- <translation type="unfinished"></translation>
+ <translation>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI handling</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
- <translation type="unfinished"></translation>
+ <translation>Backup Wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet Data (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
- <translation type="unfinished"></translation>
+ <translation>Backup Failed</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
- <translation type="unfinished"></translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>~%n block remaining</numerusform>
- <numerusform>~%n blocks remaining</numerusform>
- </translation>
+ <translation>There was an error trying to save the wallet data to the new location.</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation type="unfinished"></translation>
+ <translation>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished"></translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Network Alert</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
- <translation type="unfinished"></translation>
+ <translation>Edit Address</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Label</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
- <translation type="unfinished"></translation>
+ <translation>The label associated with this address book entry</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Address</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
- <translation type="unfinished"></translation>
+ <translation>The address associated with this address book entry. This can only be modified for sending addresses.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
- <translation type="unfinished"></translation>
+ <translation>New receiving address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
- <translation type="unfinished"></translation>
+ <translation>New sending address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
- <translation type="unfinished"></translation>
+ <translation>Edit receiving address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
- <translation type="unfinished"></translation>
+ <translation>Edit sending address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
- <translation type="unfinished"></translation>
+ <translation>The entered address &quot;%1&quot; is already in the address book.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation type="unfinished"></translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>The entered address &quot;%1&quot; is not a valid Bitcoin address.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
- <translation type="unfinished"></translation>
+ <translation>Could not unlock wallet.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
- <translation type="unfinished"></translation>
+ <translation>New key generation failed.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation type="unfinished"></translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation type="unfinished"></translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>version</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Usage:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>command-line options</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI options</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Set language, for example &quot;de_DE&quot; (default: system locale)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Start minimized</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Show splash screen on startup (default: 1)</translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation type="unfinished"></translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Options</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation type="unfinished"></translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Main</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation type="unfinished"></translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Pay transaction &amp;fee</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation type="unfinished"></translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Automatically start Bitcoin after logging in to the system.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Start Bitcoin on system login</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Detach databases at shutdown</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation type="unfinished"></translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Network</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Map port using &amp;UPnP</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Connect through SOCKS proxy:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation type="unfinished"></translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Proxy &amp;IP:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation type="unfinished"></translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP address of the proxy (e.g. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation type="unfinished"></translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Port of the proxy (e.g. 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS &amp;Version:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation type="unfinished"></translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>SOCKS version of the proxy (e.g. 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation type="unfinished"></translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Window</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Show only a tray icon after minimizing the window.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimize to the tray instead of the taskbar</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimize on close</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished"></translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Display</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation type="unfinished"></translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>User Interface &amp;language:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation type="unfinished"></translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation type="unfinished"></translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Unit to show amounts in:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation type="unfinished"></translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Choose the default subdivision unit to show in the interface and when sending coins.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation type="unfinished"></translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Whether to show Bitcoin addresses in the transaction list or not.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Display addresses in transaction list</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Cancel</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Apply</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>default</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Warning</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>This setting will take effect after restarting Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>The supplied proxy address is invalid.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
- <translation type="unfinished"></translation>
+ <translation>Form</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation type="unfinished"></translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation type="unfinished"></translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Balance:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation type="unfinished"></translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Number of transactions:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
- <translation type="unfinished"></translation>
+ <translation>Unconfirmed:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Immature:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Mined balance that has not yet matured</translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>&lt;b&gt;Recent transactions&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
- <translation type="unfinished"></translation>
+ <translation>Your current balance</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation type="unfinished"></translation>
+ <translation>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
- <translation type="unfinished"></translation>
+ <translation>Total number of transactions in wallet</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>out of sync</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation type="unfinished"></translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR Code Dialog</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
- <translation type="unfinished"></translation>
+ <translation>Request Payment</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
- <translation type="unfinished"></translation>
+ <translation>Amount:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
- <translation type="unfinished"></translation>
+ <translation>Label:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
- <translation type="unfinished"></translation>
+ <translation>Message:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Save As...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
- <translation type="unfinished"></translation>
+ <translation>Error encoding URI into QR Code.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>The entered amount is invalid, please check.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation type="unfinished"></translation>
+ <translation>Resulting URI too long, try to reduce the text for label / message.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished"></translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Save QR Code</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
- <translation type="unfinished"></translation>
+ <translation>PNG Images (*.png)</translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Client name</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>N/A</translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Client version</translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Information</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Using OpenSSL version</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Startup time</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Number of connections</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>On testnet</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Block chain</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Current number of blocks</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Estimated total blocks</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Last block time</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Open</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Command-line options</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Show</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Console</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Build date</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Debug window</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Bitcoin Core</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Debug log file</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Clear console</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Welcome to the Bitcoin RPC console.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
- <translation type="unfinished"></translation>
+ <translation>Send Coins</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
- <translation type="unfinished"></translation>
+ <translation>Send to multiple recipients at once</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
- <translation type="unfinished"></translation>
+ <translation>Remove all transaction fields</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Clear &amp;All</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
- <translation type="unfinished"></translation>
+ <translation>Balance:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
- <translation type="unfinished"></translation>
+ <translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
- <translation type="unfinished"></translation>
+ <translation>Confirm the send action</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation type="unfinished"></translation>
+ <translation>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
- <translation type="unfinished"></translation>
+ <translation>Confirm send coins</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
- <translation type="unfinished"></translation>
+ <translation>Are you sure you want to send %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
- <translation type="unfinished"></translation>
+ <translation> and </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
- <translation type="unfinished"></translation>
+ <translation>The recipient address is not valid, please recheck.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
- <translation type="unfinished"></translation>
+ <translation>The amount to pay must be larger than 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
- <translation type="unfinished"></translation>
+ <translation>The amount exceeds your balance.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation type="unfinished"></translation>
+ <translation>The total exceeds your balance when the %1 transaction fee is included.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation type="unfinished"></translation>
+ <translation>Duplicate address found, can only send to each address once per send operation.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
- <translation type="unfinished"></translation>
+ <translation>Error: Transaction creation failed.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
- <translation type="unfinished"></translation>
+ <translation>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.</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
- <translation type="unfinished"></translation>
+ <translation>Form</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
- <translation type="unfinished"></translation>
+ <translation>A&amp;mount:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
- <translation type="unfinished"></translation>
+ <translation>Pay &amp;To:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
- <translation type="unfinished"></translation>
+ <translation>Enter a label for this address to add it to your address book</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Label:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
- <translation type="unfinished"></translation>
+ <translation>Choose address from address book</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
- <translation type="unfinished"></translation>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
- <translation type="unfinished"></translation>
+ <translation>Paste address from clipboard</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
- <translation type="unfinished"></translation>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
- <translation type="unfinished"></translation>
+ <translation>Remove this recipient</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation type="unfinished"></translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Signatures - Sign / Verify a Message</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Sign Message</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Choose an address from the address book</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Paste address from clipboard</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Enter the message you want to sign here</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Copy the current signature to the system clipboard</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Sign the message to prove you own this Bitcoin address</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Reset all sign message fields</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Clear &amp;All</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verify Message</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Verify the message to ensure it was signed with the specified Bitcoin address</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Reset all verify message fields</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Click &quot;Sign Message&quot; to generate signature</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Enter Bitcoin signature</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>The entered address is invalid.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Please check the address and try again.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>The entered address does not refer to a key.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Wallet unlock was cancelled.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Private key for the entered address is not available.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Message signing failed.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Message signed.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>The signature could not be decoded.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Please check the signature and try again.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>The signature did not match the message digest.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Message verification failed.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Message verified.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
- <translation type="unfinished"></translation>
+ <translation>Open until %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Open for %n block</numerusform>
+ <numerusform>Open for %n blocks</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation type="unfinished"></translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/offline</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
- <translation type="unfinished"></translation>
+ <translation>%1/unconfirmed</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
- <translation type="unfinished"></translation>
+ <translation>%1 confirmations</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation type="unfinished"></translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, broadcast through %n node</numerusform>
+ <numerusform>, broadcast through %n nodes</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Date</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Source</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation type="unfinished"></translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generated</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation type="unfinished"></translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>From</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>To</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation type="unfinished"></translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>own address</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation type="unfinished"></translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>label</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation type="unfinished"></translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Credit</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>matures in %n more block</numerusform>
+ <numerusform>matures in %n more blocks</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>not accepted</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation type="unfinished"></translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debit</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation type="unfinished"></translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Transaction fee</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation type="unfinished"></translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Net amount</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Message</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Comment</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Transaction ID</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Debug information</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation type="unfinished"></translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transaction</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation type="unfinished"></translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Inputs</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation type="unfinished"></translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Amount</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>true</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>false</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, has not been successfully broadcast yet</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>unknown</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
- <translation type="unfinished"></translation>
+ <translation>Transaction details</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
- <translation type="unfinished"></translation>
+ <translation>This pane shows a detailed description of the transaction</translation>
</message>
</context>
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
- <translation type="unfinished"></translation>
+ <translation>Date</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
- <translation type="unfinished"></translation>
+ <translation>Type</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
- <translation type="unfinished"></translation>
+ <translation>Address</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
- <translation type="unfinished"></translation>
+ <translation>Amount</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Open for %n block</numerusform>
@@ -1396,752 +1831,895 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
- <translation type="unfinished"></translation>
+ <translation>Open until %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
- <translation type="unfinished"></translation>
+ <translation>Offline (%1 confirmations)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation type="unfinished"></translation>
+ <translation>Unconfirmed (%1 of %2 confirmations)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
- <translation type="unfinished"></translation>
+ <translation>Confirmed (%1 confirmations)</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation>
- <numerusform>Mined balance will be available in %n more block</numerusform>
- <numerusform>Mined balance will be available in %n more blocks</numerusform>
+ <numerusform>Mined balance will be available when it matures in %n more block</numerusform>
+ <numerusform>Mined balance will be available when it matures in %n more blocks</numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation type="unfinished"></translation>
+ <translation>This block was not received by any other nodes and will probably not be accepted!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
- <translation type="unfinished"></translation>
+ <translation>Generated but not accepted</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
- <translation type="unfinished"></translation>
+ <translation>Received with</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
- <translation type="unfinished"></translation>
+ <translation>Received from</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
- <translation type="unfinished"></translation>
+ <translation>Sent to</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
- <translation type="unfinished"></translation>
+ <translation>Payment to yourself</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
- <translation type="unfinished"></translation>
+ <translation>Mined</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
- <translation type="unfinished"></translation>
+ <translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation type="unfinished"></translation>
+ <translation>Transaction status. Hover over this field to show number of confirmations.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
- <translation type="unfinished"></translation>
+ <translation>Date and time that the transaction was received.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
- <translation type="unfinished"></translation>
+ <translation>Type of transaction.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
- <translation type="unfinished"></translation>
+ <translation>Destination address of transaction.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
- <translation type="unfinished"></translation>
+ <translation>Amount removed from or added to balance.</translation>
</message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
- <translation type="unfinished"></translation>
+ <translation>All</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
- <translation type="unfinished"></translation>
+ <translation>Today</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
- <translation type="unfinished"></translation>
+ <translation>This week</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
- <translation type="unfinished"></translation>
+ <translation>This month</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
- <translation type="unfinished"></translation>
+ <translation>Last month</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
- <translation type="unfinished"></translation>
+ <translation>This year</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
- <translation type="unfinished"></translation>
+ <translation>Range...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
- <translation type="unfinished"></translation>
+ <translation>Received with</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
- <translation type="unfinished"></translation>
+ <translation>Sent to</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
- <translation type="unfinished"></translation>
+ <translation>To yourself</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
- <translation type="unfinished"></translation>
+ <translation>Mined</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
- <translation type="unfinished"></translation>
+ <translation>Other</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
- <translation type="unfinished"></translation>
+ <translation>Enter address or label to search</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
- <translation type="unfinished"></translation>
+ <translation>Min amount</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
- <translation type="unfinished"></translation>
+ <translation>Copy address</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
- <translation type="unfinished"></translation>
+ <translation>Copy label</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
- <translation type="unfinished"></translation>
+ <translation>Copy amount</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
- <translation type="unfinished"></translation>
+ <translation>Edit label</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Show transaction details</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
- <translation type="unfinished"></translation>
+ <translation>Export Transaction Data</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
- <translation type="unfinished"></translation>
+ <translation>Comma separated file (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
- <translation type="unfinished"></translation>
+ <translation>Confirmed</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
- <translation type="unfinished"></translation>
+ <translation>Date</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
- <translation type="unfinished"></translation>
+ <translation>Type</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
- <translation type="unfinished"></translation>
+ <translation>Label</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
- <translation type="unfinished"></translation>
+ <translation>Address</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
- <translation type="unfinished"></translation>
+ <translation>Amount</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
- <translation type="unfinished"></translation>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
- <translation type="unfinished"></translation>
+ <translation>Error exporting</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
- <translation type="unfinished"></translation>
+ <translation>Could not write to file %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
- <translation type="unfinished"></translation>
+ <translation>Range:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
- <translation type="unfinished"></translation>
+ <translation>to</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
- <translation type="unfinished"></translation>
+ <translation>Sending...</translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation type="unfinished"></translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin version</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Usage:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Send command to -server or bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished"></translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>List commands</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Get help for a command</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation type="unfinished"></translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Options:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation type="unfinished"></translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Specify configuration file (default: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Specify pid file (default: bitcoind.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation type="unfinished"></translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generate coins</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation type="unfinished"></translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Don&apos;t generate coins</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Specify data directory</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation type="unfinished"></translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Set database cache size in megabytes (default: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Set database disk log size in megabytes (default: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation type="unfinished"></translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Maintain at most &lt;n&gt; connections to peers (default: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation type="unfinished"></translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Connect to a node to retrieve peer addresses, and disconnect</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation type="unfinished"></translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Specify your own public address</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation type="unfinished"></translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Bind to given address. Use [host]:port notation for IPv6</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation type="unfinished"></translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Threshold for disconnecting misbehaving peers (default: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation type="unfinished"></translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation type="unfinished"></translation>
+ <location line="+8"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Detach block and address databases. Increases shutdown time (default: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
+ <location line="+15"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation type="unfinished"></translation>
+ <location line="+31"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Accept command line and JSON-RPC commands</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
+ <location line="+37"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation type="unfinished"></translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Run in the background as a daemon and accept commands</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation type="unfinished"></translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Use the test network</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation type="unfinished"></translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Accept connections from outside (default: 1 if no -proxy or -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
+ <location line="-53"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
+ <location line="+8"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished">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.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation type="unfinished"></translation>
+ <location line="+11"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation type="unfinished"></translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="+3"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+14"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>Block creation options:</source>
+ <translation>Block creation options:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Connect only to the specified node(s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Discover own IP address (default: 1 when listening and no -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation type="unfinished"></translation>
+ <location line="+8"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation type="unfinished">Error: Transaction creation failed.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Failed to listen on any port. Use -listen=0 if you want this.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Find peers using DNS lookup (default: 1 unless -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation type="unfinished"></translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Invalid -tor address: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation type="unfinished"></translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Output extra debugging information. Implies all other -debug* options</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Output extra network debugging information</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
- <translation type="unfinished"></translation>
+ <translation>Prepend debug output with timestamp</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Select the version of socks proxy to use (4-5, default: 5)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
- <translation type="unfinished"></translation>
+ <translation>Send trace/debug info to console instead of debug.log file</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
- <translation type="unfinished"></translation>
+ <translation>Send trace/debug info to debugger</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Set maximum block size in bytes (default: 250000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Set minimum block size in bytes (default: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Shrink debug.log file on client startup (default: 1 when no -debug)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Specify connection timeout in milliseconds (default: 5000)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Use UPnP to map the listening port (default: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Use UPnP to map the listening port (default: 1 when listening)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Use proxy to reach tor hidden services (default: same as -proxy)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Username for JSON-RPC connections</source>
- <translation type="unfinished"></translation>
+ <translation>Username for JSON-RPC connections</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Warning: Disk space is low!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Warning: This version is obsolete, upgrade required!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Password for JSON-RPC connections</translation>
+ </message>
+ <message>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
- <translation type="unfinished"></translation>
+ <translation>Allow JSON-RPC connections from specified IP address</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation type="unfinished"></translation>
+ <translation>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation type="unfinished"></translation>
+ <translation>Execute command when the best block changes (%s in cmd is replaced by block hash)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
- <translation type="unfinished"></translation>
+ <translation>Upgrade wallet to latest format</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation type="unfinished"></translation>
+ <translation>Set key pool size to &lt;n&gt; (default: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
- <translation type="unfinished"></translation>
+ <translation>Rescan the block chain for missing wallet transactions</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation type="unfinished"></translation>
+ <translation>How many blocks to check at startup (default: 2500, 0 = all)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
- <translation type="unfinished"></translation>
+ <translation>How thorough the block verification is (0-6, default: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Imports blocks from external blk000?.dat file</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation type="unfinished"></translation>
+ <translation>Use OpenSSL (https) for JSON-RPC connections</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
- <translation type="unfinished"></translation>
+ <translation>Server certificate file (default: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
- <translation type="unfinished"></translation>
+ <translation>Server private key (default: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation type="unfinished"></translation>
+ <translation>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished"></translation>
+ <translation>This help message</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
+ <location line="-131"/>
<source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation type="unfinished"></translation>
+ <translation>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
- <translation type="unfinished"></translation>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation type="unfinished"></translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Unable to bind to %s on this computer (bind returned error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation type="unfinished"></translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Connect through socks proxy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation type="unfinished"></translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Allow DNS lookups for -addnode, -seednode and -connect</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation type="unfinished"></translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Loading addresses...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation type="unfinished"></translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Error loading blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
- <translation type="unfinished"></translation>
+ <translation>Error loading wallet.dat: Wallet corrupted</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation type="unfinished"></translation>
+ <translation>Error loading wallet.dat: Wallet requires newer version of Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
+ <location line="+73"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation type="unfinished"></translation>
+ <translation>Wallet needed to be rewritten: restart Bitcoin to complete</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
- <translation type="unfinished"></translation>
+ <translation>Error loading wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Invalid -proxy address: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Unknown network specified in -onlynet: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Unknown -socks proxy version requested: %i</translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Cannot resolve -bind address: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Cannot resolve -externalip address: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Error: could not start node</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Sending...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Invalid amount</translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Insufficient funds</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Loading block index...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Add a node to connect to and attempt to keep the connection open</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Unable to bind to %s on this computer. Bitcoin is probably already running.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Find peers using internet relay chat (default: 0)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Fee per KB to add to transactions you send</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Loading wallet...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
<source>Cannot downgrade wallet</source>
- <translation type="unfinished"></translation>
+ <translation>Cannot downgrade wallet</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
+ <location line="+1"/>
<source>Cannot initialize keypool</source>
- <translation type="unfinished"></translation>
+ <translation>Cannot initialize keypool</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
+ <location line="+3"/>
<source>Cannot write default address</source>
- <translation type="unfinished"></translation>
+ <translation>Cannot write default address</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
+ <location line="+46"/>
<source>Rescanning...</source>
- <translation type="unfinished"></translation>
+ <translation>Rescanning...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
+ <location line="-40"/>
<source>Done loading</source>
- <translation type="unfinished"></translation>
+ <translation>Done loading</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation type="unfinished"></translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>To use the %s option</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation type="unfinished"></translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Error</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation type="unfinished"></translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts
index 4dc05498b8..deb80337b4 100644
--- a/src/qt/locale/bitcoin_es.ts
+++ b/src/qt/locale/bitcoin_es.ts
@@ -5,135 +5,138 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Acerca de Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; versión</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Los desarrolladores de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Developers
-
+ <translation>
Este es un software experimental.
Distribuido bajo la licencia MIT/X11, vea el archivo adjunto
-license.txt o http://www.opensource.org/licenses/mit-license.php.
+COPYING o http://www.opensource.org/licenses/mit-license.php.
Este producto incluye software desarrollado por OpenSSL Project para su uso en
-el OpenSSL Toolkit (http://www.openssl.org) y software criptográfico escrito por
-Eric Young (eay@cryptsoft.com) y UPnP software escrito por Thomas Bernard.</translation>
+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.</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Libreta de direcciones</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Estas son tus direcciones Bitcoin para recibir pagos. Puedes utilizar una diferente por cada persona emisora para saber quien te está pagando.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Haga doble clic para editar una dirección o etiqueta</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Crear una nueva dirección</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Nueva Dirección</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Copiar la dirección seleccionada al portapapeles</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Añadir dirección</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Estas son tus direcciones Bitcoin para recibir pagos. Puedes utilizar una diferente por cada persona emisora para saber quien te está pagando.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Copiar dirección</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Mostrar código &amp;QR </translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation>Firme un mensaje para demostrar que posee una dirección Bitcoin</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
- <translation>Firmar &amp;mensaje...</translation>
+ <translation>&amp;Firmar mensaje</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Borrar de la lista la dirección seleccionada . Sólo se pueden borrar las direcciones de envío.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Borrar de la lista la dirección seleccionada</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Borrar</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Verifique un mensaje para comprobar que fue firmado con la dirección Bitcoin indicada</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copiar al portapapeles</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verificar mensaje</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Error exporting</source>
- <translation>Error al exportar</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Archivos de columnas separadas por coma (*.csv)</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Borrar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Copia dirección</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Copiar &amp;etiqueta</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Copiar etiqueta</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Editar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation type="unfinished">Editar</translation>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Exportar datos de la libreta de direcciones</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Borrar</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Archivos de columnas separadas por coma (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
- <source>Export Address Book Data</source>
- <translation>Exporta datos de la Guia de direcciones</translation>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Error al exportar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>No se pudo escribir en el archivo %1.</translation>
</message>
@@ -141,351 +144,399 @@ Eric Young (eay@cryptsoft.com) y UPnP software escrito por Thomas Bernard.</tran
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
- <source>(no label)</source>
- <translation>(sin etiqueta)</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etiqueta</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Dirección</translation>
</message>
+ <message>
+ <location line="+36"/>
+ <source>(no label)</source>
+ <translation>(sin etiqueta)</translation>
+ </message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Cambiar contraseña</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Diálogo de contraseña</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Contraseña actual </translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Nueva contraseña</translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Repita la nueva contraseña</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Para descifrar el monedero esta operación necesita de su contraseña.</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Introduzca la nueva contraseña del monedero.&lt;br/&gt;Por favor elija una con &lt;b&gt;10 o más caracteres aleatorios&lt;/b&gt; u &lt;b&gt;ocho o más palabras&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>Nueva contraseña</translation>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Cifrar el monedero</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Para desbloquear el monedero esta operación necesita de su contraseña.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Desbloquear monedero</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Para descifrar el monedero esta operación necesita de su contraseña.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Descifrar monedero</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Cambiar contraseña</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Introduzca la contraseña anterior del monedero y la nueva. </translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>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.</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Confirmar cifrado del monedero</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>La contraseña introducida para descifrar el monedero es incorrecta.</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Atencion: ¡Si cifra su monedero y pierde la contraseña perderá &lt;b&gt;TODOS SUS BITCOINS&lt;/b&gt;!&quot;</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>Ha fallado el descifrado del monedero</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>¿Seguro que desea cifrar su monedero?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>La contraseña de cartera ha sido cambiada con exit.</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
<translation>Aviso: ¡La tecla de bloqueo de mayúsculas está activada!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Para desbloquear el monedero esta operación necesita de su contraseña.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Introduzca la nueva contraseña del monedero.&lt;br/&gt;Por favor elija una con &lt;b&gt;10 o más caracteres aleatorios&lt;/b&gt; u &lt;b&gt;ocho o más palabras&lt;/b&gt;.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Cifrar el monedero</translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Monedero cifrado</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Cambiar contraseña:</translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin se cerrará para finalizar el proceso de cifrado. Recuerde que el cifrado de su monedero no puede proteger totalmente sus bitcoins de robo por malware que infecte su sistema.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
- <source>Unlock wallet</source>
- <translation>Desbloquear monedero</translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Ha fallado el cifrado del monedero</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Confirmar cifrado del monedero</translation>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Ha fallado el cifrado del monedero debido a un error interno. El monedero no ha sido cifrado.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin cerrará al finalizar el proceso de cifrado. Recuerde que el cifrado de su monedero no puede proteger totalmente sus bitcoin de ser robados por el malware que infecte su sistema.</translation>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>Las contraseñas no coinciden.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Ha fallado el desbloqueo del monedero</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ATENCION: ¡Si encriptas tu cartera y pierdes la contraseña perderas &lt;b&gt;TODOS TUS BITCOINS&lt;/b&gt;!&quot;
-¿Seguro que quieres seguir encriptando la cartera?</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Ha fallado el cifrado del monedero debido a un error interno. El monedero no ha sido cifrado.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>Las contraseñas no coinciden.</translation>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>La contraseña introducida para descifrar el monedero es incorrecta.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Ha fallado el cifrado del monedero</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Ha fallado el descifrado del monedero</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Monedero cifrado</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Se ha cambiado correctamente la contraseña del monedero.</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Editar la lista de las direcciones y etiquetas almacenadas</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Opciones...</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Firmar &amp;mensaje...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Exportar…</translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Sincronizando con la red…</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Envia monedas a una dirección bitcoin</translation>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Vista general</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>A&amp;yuda</translation>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Mostrar vista general del monedero</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Transacciones</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Examinar el historial de transacciones</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Transacciones</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Enviar monedas</translation>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Libreta de direcciones</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Salir</translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Editar la lista de las direcciones y etiquetas almacenadas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Salir de la aplicación</translation>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Recibir monedas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Mostrar la lista de direcciones utilizadas para recibir pagos</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Cartera Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Cambiar la contraseña</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Enviar monedas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Mostrar vista general del monedero</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Salir</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Vista general</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Salir de la aplicación</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
<translation>Mostrar información acerca de Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Acerca de &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show information about Qt</source>
<translation>Mostrar información acerca de Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>&amp;Libreta de direcciones</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Opciones...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;Recibir monedas</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Cifrar monedero…</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Mostrar/ocultar &amp;Bitcoin</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>Copia de &amp;respaldo del monedero...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Configuración</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Cambiar la contraseña…</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
<translation>
- <numerusform>%n conexión activa hacia la red Bitcoin</numerusform>
- <numerusform>%n conexiones activas hacia la red Bitcoin</numerusform>
+ <numerusform>~%n bloque restante</numerusform>
+ <numerusform>~%n bloques restantes</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Descargados %1 de %2 bloques del historial de transacciones (%3% hecho).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Ha habido un error al intentar guardar los datos del monedero a la nueva ubicación.</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Exportar…</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Barra de pestañas</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Enviar monedas a una dirección Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Se han bajado %1 bloques de historial.</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modificar las opciones de configuración de Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>cliente Bitcoin</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Exportar a un archivo los datos de esta pestaña</translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Cifrar o descifrar el monedero</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation>Copia de seguridad del monedero en otra ubicación</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
+ <location line="+2"/>
<source>Change the passphrase used for wallet encryption</source>
<translation>Cambiar la contraseña utilizada para el cifrado del monedero</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Descargado %1 de %2 bloques del historial de transacciones (%3% hecho).</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>Ventana de &amp;depuración</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Abrir la consola de depuración y diagnóstico</translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Verificar mensaje</translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Monedero</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Acerca de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>Mo&amp;strar/ocultar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>&amp;Archivo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Firmar &amp;mensaje...</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Configuración</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>A&amp;yuda</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>S&amp;obre %1</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Barra de pestañas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Modifica opciones de configuración</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Barra de acciones</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Cliente Bitcoin</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n conexión activa hacia la red Bitcoin</numerusform>
+ <numerusform>%n conexiones activas hacia la red Bitcoin</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Se han bajado %1 bloques de historial.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>hace %n segundo</numerusform>
@@ -493,7 +544,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>hace %n minuto</numerusform>
@@ -501,7 +552,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>hace %n hora</numerusform>
@@ -509,7 +560,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>hace %n día</numerusform>
@@ -517,32 +568,42 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Actualizado</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Recuperando...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>El último bloque recibido fue generado %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Esta transacción supera el límite. Puede seguir enviándola incluyendo una comisión de %1 que se va a repartir entre los nodos que procesan su transacción y ayudan a mantener la red. ¿Desea pagar esa tarifa?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Confirme la tarifa de la transacción</translation>
+ </message>
+ <message>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Transacción enviada</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Transacción entrante</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -551,829 +612,1193 @@ Address: %4
<translation>Fecha: %1
Cantidad: %2
Tipo: %3
-Dirección: %4</translation>
+Dirección: %4
+</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Exportar a un archivo los datos de esta pestaña</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>Gestión de URI</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>¡No se puede interpretar la URI! Esto puede deberse a una dirección Bitcoin inválida o a parámetros de URI mal formados.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>El monedero está &lt;b&gt;cifrado&lt;/b&gt; y actualmente &lt;b&gt;desbloqueado&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>El monedero está &lt;b&gt;cifrado&lt;/b&gt; y actualmente &lt;b&gt;bloqueado&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Cifrar o descifrar el monedero</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Mostrar u ocultar la ventana Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>Copia de &amp;respaldo del monedero...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation>Copia de seguridad del monedero</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>Datos del monedero (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Barra de acciones</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Sincronizando con la red…</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>~%n bloque restante</numerusform>
- <numerusform>~%n bloques restantes</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation>La copia de seguridad ha fallado</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Enviando...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Encriptar cartera</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Acerca de &amp;Qt</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Ha habido un error al intentar guardar los datos del monedero en la nueva ubicación.</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation>Ha ocurrido un error crítico. Bitcoin ya no puede continuar con seguridad y se cerrará.</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Elige la subdivisión por defecto para mostrar cantidaded en la interfaz cuando se envien monedas</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Unidad en la que mostrar cantitades: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Muestra direcciones en el listado de movimientos</translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Mostrar las direcciones Bitcoin en la lista de transacciones</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Alerta de red</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Editar Dirección</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Etiqueta</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>La etiqueta asociada con esta entrada en la libreta</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Dirección</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
- <translation>La dirección asociada con esta entrada en la guia. Solo puede ser modificada para direcciones de envío.</translation>
+ <translation>La dirección asociada con esta entrada en la guía. Solo puede ser modificada para direcciones de envío.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Nueva dirección para recibir</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Nueva dirección para enviar</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Editar dirección de recepción</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Editar dirección de envío</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>La dirección introducida &quot;%1&quot; ya está presente en la libreta de direcciones.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>La dirección introducida &quot;%1&quot; no es una dirección Bitcoin válida.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>No se pudo desbloquear el monedero.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Ha fallado la generación de la nueva clave.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>Editar dirección de envio</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
- <source>The entered address &quot;%1&quot; is already in the address book.</source>
- <translation>La dirección introducida &quot;%1&quot; ya está presente en la libreta de direcciones.</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versión</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Uso:</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>La dirección introducida &quot;%1&quot; no es una dirección Bitcoin valida.</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>opciones de la línea de órdenes</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>Opciones GUI</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Establecer el idioma, por ejemplo, &quot;es_ES&quot; (predeterminado: configuración regional del sistema)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Arrancar minimizado</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Mostrar pantalla de bienvenida en el inicio (predeterminado: 1)</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Puerto:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Opciones</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Arranca Bitcoin al iniciar el sistema</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Principal</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Arranca Bitcoin cuando se encienda el ordenador</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimiza a la bandeja en vez de la barra de tareas</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Comisión de &amp;transacciones</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Muestra solo el icono de sistema cuando se minimize la ventana</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Iniciar Bitcoin automáticamente al encender el sistema.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimiza a la bandeja al cerrar</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Iniciar Bitcoin al iniciar el sistema</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimiza la ventana en lugar de salir de la aplicación.Cuando esta opcion esta activa la aplicación solo se puede cerrar seleccionando Salir desde el menu.</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Desconectar las bases de datos de bloques y direcciones al cerrar la aplicación. Implica que pueden moverse a otro directorio de datos pero ralentiza el cierre. El monedero siempre queda desconectado.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Mapea el puerto usando &amp;UPnP</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Desconectar las bases de datos al cerrar la aplicación</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Conecta atraves de un proxy SOCKS4:</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Red</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>&amp;IP Proxy:</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Abrir automáticamente el puerto del cliente Bitcoin en el router. Esta opción solo funciona si el router admite UPnP y está activado.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>Dirección IP del proxy (ej. 127.0.0.1)</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Mapear el puerto usando &amp;UPnP</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Puerto del servidor proxy (ej. 1234)</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Conectar a la red Bitcoin a través de un proxy SOCKS (ej. para conectar con la red Tor)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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 recomendado.</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Conectar a través de un proxy SOCKS:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Comision de &amp;transacciónes</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Dirección &amp;IP del proxy:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Desconectar las bases de datos al cerrar la aplicación</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Dirección IP del proxy (ej. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Desconectar las bases de datos de bloques y direcciones al cerrar la aplicación. Implica que pueden moverse a otros directorios de datos pero ralentiza el cierre. El monedero siempre queda desconectado.</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Puerto:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Intenta abrir el puerto adecuado en el router automaticamente. Esta opcion solo funciona si el router soporta UPnP y esta activado.</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Puerto del servidor proxy (ej. 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Conecta a la red Bitcoin atraves de un proxy SOCKS4 (ej. para conectar con la red Tor)</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>&amp;Versión SOCKS:</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Pega dirección desde portapapeles</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Versión del proxy SOCKS (ej. 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Ventana</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Introduzca el mensaje que desea firmar aquí</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Minimizar la ventana a la bandeja de iconos del sistema.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copiar al portapapeles</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimizar a la bandeja en vez de a la barra de tareas</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Mensaje</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimizar en lugar de salir de la aplicación al cerrar la ventana.Cuando esta opción está activa, la aplicación solo se puede cerrar seleccionando Salir desde el menú.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Puede firmar los mensajes con sus direcciones para demostrar que las posee. Tenga cuidado de no firmar cualquier cosa vaga, ya que los ataques de phishing pueden tratar de engañarle firmando su identidad a través de ellos. Solo firme declaraciones totalmente detalladas con las que usted esté de acuerdo.</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimizar al cerrar</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Introduce una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Interfaz</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Elije dirección de la guia</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>I&amp;dioma de la interfaz de usuario</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>El idioma de la interfaz de usuario puede establecerse aquí. Este ajuste se aplicará cuando se reinicie Bitcoin.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Haga clic en &quot;Firmar mensaje&quot; para generar la firma</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>Mostrar las cantidades en la &amp;unidad:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Firme un mensaje para demostrar que posee una dirección Bitcoin</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Elegir la subdivisión predeterminada para mostrar cantidades en la interfaz y cuando se envían monedas.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Firme mensaje</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Mostrar o no las direcciones Bitcoin en la lista de transacciones.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Copiar la firma actual al portapapeles del sistema</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Mostrar las direcciones en la lista de transacciones</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished">La dirección introducida &quot;%1&quot; no es una dirección Bitcoin válida.</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;Aceptar</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation type="unfinished">Error</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Cancelar</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation type="unfinished"></translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Aplicar</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation type="unfinished"></translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>predeterminado</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Opciones</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Aviso</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Principal</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Esta configuración tendrá efecto tras reiniciar Bitcoin.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Mostrado</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>La dirección proxy indicada es inválida.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Desde</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Número de movimientos:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Número total de movimientos en el monedero</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>No confirmado(s):</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>Desde</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Monedero</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>No disponible:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Monedero</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Saldo recién minado que aún no está disponible.</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Movimientos recientes&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Saldo actual</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Total de las transacciones que faltan por confirmar y que no se cuentan para el total general</translation>
</message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Número total de movimientos en el monedero</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>desincronizado</translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation>Error al codificar la URI en el código QR.</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>Diálogo de códigos QR</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation>Solicitud de pago</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;Guardar Como ...</translation>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Cuantía:</translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Etiqueta:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>Mensaje:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation type="unfinished">Código QR</translation>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Guardar como...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Error al codificar la URI en el código QR.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation></translation>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>La cantidad introducida es inválida. Compruébela, por favor.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>URI demasiado larga, trata de reducir el texto de la etiqueta / mensaje.</translation>
+ <translation>URI esultante demasiado larga. Intente reducir el texto de la etiqueta / mensaje.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Guardar código QR</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>Imágenes PNG (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Cambiar contraseña</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Nombre del cliente</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>Cuantía:</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>N/D</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Label:</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Versión del cliente</translation>
</message>
-</context>
-<context>
- <name>SendCoinsDialog</name>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Información</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>&amp;Borra todos</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Utilizando la versión OpenSSL</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
- <source>Send Coins</source>
- <translation>Envía monedas</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Hora de inicio</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
- <source>Send to multiple recipients at once</source>
- <translation>Envía a multiples destinatarios de una vez</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Red</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Agrega destinatario...</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Número de conexiones</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Saldo:</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>En la red de pruebas</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation>&amp;Envía</translation>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Cadena de bloques</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Número actual de bloques</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Bloques totales estimados</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Hora del último bloque</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Abrir</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Opciones de la línea de órdenes</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Mostrar el mensaje de ayuda de Bitcoin-Qt que enumera las opciones disponibles de línea de órdenes para Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Mostrar</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Consola</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Fecha de compilación</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Ventana de depuración</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Núcleo de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Archivo de registro de depuración</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Abrir el archivo de registro de depuración en el directorio actual de datos. Esto puede llevar varios segundos para archivos de registro grandes.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Borrar consola</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Bienvenido a la consola RPC de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Use las flechas arriba y abajo para navegar por el historial y &lt;b&gt;Control+L&lt;/b&gt; para limpiar la pantalla.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Escriba &lt;b&gt;help&lt;/b&gt; para ver un resumen de los comandos disponibles.</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Enviar monedas</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>Enviar a multiples destinatarios de una vez</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Añadir &amp;destinatario</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Eliminar todos los campos de las transacciones</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Limpiar &amp;todo</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Saldo:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
- <translation>Confirma el envío</translation>
+ <translation>Confirmar el envío</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>&amp;Envía</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; a %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Confirmar el envío de monedas</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
- <translation>Estas seguro que quieres enviar %1?</translation>
+ <translation>¿Está seguro de que desea enviar %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation>y</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
- <translation>La dirección de destinatarion no es valida, comprueba otra vez.</translation>
+ <translation>La dirección de recepción no es válida, compruébela de nuevo.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
- <translation>La cantidad por pagar tiene que ser mayor 0.</translation>
+ <translation>La cantidad por pagar tiene que ser mayor de 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>La cantidad sobrepasa su saldo.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>El total sobrepasa su saldo cuando se incluye la tasa de envío de %1</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>Se ha encontrado una dirección duplicada. Solo se puede enviar a cada dirección una vez por operación de envío.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
- <translation>Error: ha fallado la creación de transacción.</translation>
+ <translation>Error: ha fallado la creación de la transacción.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Error: transacción rechazada. Puede haber ocurrido si alguna de las monedas ya estaba gastada o si ha usado una copia de wallet.dat y las monedas se gastaron en la copia pero no se han marcado así aquí.</translation>
</message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
- <source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation>Tienes una dirección duplicada, solo puedes enviar a direcciónes individuales de una sola vez.</translation>
- </message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
- <translation>Envio</translation>
+ <translation>Envío</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>Ca&amp;ntidad:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>&amp;Pagar a:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Etiquete esta dirección para añadirla a la libreta</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Etiqueta:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>La dirección donde enviar el pago (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Elija una dirección de la libreta de direcciones</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
- <translation>Pega dirección desde portapapeles</translation>
+ <translation>Pegar dirección desde portapapeles</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
- <translation>Elimina destinatario</translation>
+ <translation>Eliminar destinatario</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Introduce una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <translation>Introduzca una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, no ha sido emitido satisfactoriamente todavía</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Firmas - Firmar / verificar un mensaje</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>desconocido</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Firme mensaje</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Puede firmar mensajes con sus direcciones para demostrar que las posee. Tenga cuidado de no firmar cualquier cosa vaga, ya que los ataques de phishing pueden tratar de engañarle para suplantar su identidad. Firme solo declaraciones totalmente detalladas con las que usted esté de acuerdo.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>La dirección con la que firmar el mensaje (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Elija una dirección de la libreta de direcciones</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Pegar dirección desde portapapeles</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Introduzca el mensaje que desea firmar aquí</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Copiar la firma actual al portapapeles del sistema</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Firme el mensaje para demostrar que posee esta dirección Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Limpiar todos los campos de la firma de mensaje</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Limpiar &amp;todo</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verificar mensaje</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Introduzca la dirección para la firma, el mensaje (asegurándose de copiar tal cual los saltos de línea, espacios, tabulaciones, etc.) y la firma a continuación para verificar el mensaje. Tenga cuidado de no asumir más información de lo que dice el propio mensaje firmado para evitar fraudes basados en ataques de tipo man-in-the-middle.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>La dirección con la que se firmó el mensaje (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Verifique el mensaje para comprobar que fue firmado con la dirección Bitcoin indicada</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Limpiar todos los campos de la verificación de mensaje</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduzca una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Haga clic en &quot;Firmar mensaje&quot; para generar la firma</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Introduzca una firma Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>La dirección introducida es inválida.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Verifique la dirección e inténtelo de nuevo.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>La dirección introducida no corresponde a una clave.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Se ha cancelado el desbloqueo del monedero. </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>No se dispone de la clave privada para la dirección introducida.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Ha fallado la firma del mensaje.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Mensaje firmado.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>No se puede decodificar la firma.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Compruebe la firma e inténtelo de nuevo.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>La firma no coincide con el resumen del mensaje.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>La verificación del mensaje ha fallado.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Mensaje verificado.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Abierto hasta %1</translation>
</message>
- <message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Abierto hasta %1 bloques</translation>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Abierto para %n bloque</numerusform>
+ <numerusform>Abierto para %n bloques</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/fuera de linea?</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/fuera de línea</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/no confirmado</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Estado:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 confirmaciones</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, emitido mediante %1 nodo</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Estado</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, transmitir a través de %n nodo</numerusform>
+ <numerusform>, transmitir a través de %n nodos</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, emitido mediante %1 nodos</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Fecha</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Fecha:&lt;/b&gt; </translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Fuente</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Fuente:&lt;/b&gt; Generado&lt;br&gt;</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generado</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;De:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>De</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Para:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Para</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation>(tuya, etiqueta: </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>dirección propia</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (tuya)</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>etiqueta</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Crédito:&lt;/b&gt; </translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Crédito</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>disponible en %n bloque más</numerusform>
+ <numerusform>disponible en %n bloques más</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 madura en %2 bloques mas)</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>no aceptada</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(no aceptada)</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Débito</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Comisión transacción:&lt;/b&gt; </translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Comisión de transacción</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Cantidad total:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Cantidad neta</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Mensaje:</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Mensaje</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Comentario:</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Comentario</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Identificador de transacción:</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Identificador de transacción</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Las monedas generadas deben esperar 120 bloques antes de ser gastadas. Cuando has generado este bloque se emitió a la red para ser agregado en la cadena de bloques. Si falla al incluirse en la cadena, cambiará a &quot;no aceptado&quot; y las monedas no se podrán gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque casi al mismo tiempo que el tuyo.</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Las monedas generadas deben esperar 120 bloques antes de que se puedan gastar. Cuando se generó este bloque, se emitió a la red para ser agregado a la cadena de bloques. Si no consigue incorporarse a la cadena, su estado cambiará a &quot;no aceptado&quot; y las monedas no se podrán gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque casi al mismo tiempo que el suyo.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 confirmaciones</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Información de depuración</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transacción</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>entradas</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Cantidad</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>verdadero</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Débito:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>falso</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, no ha sido emitido satisfactoriamente todavía</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>desconocido</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Detalles de transacción</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Esta ventana muestra información detallada sobre la transacción</translation>
</message>
@@ -1381,27 +1806,27 @@ Dirección: %4</translation>
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Fecha</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Type</source>
<translation>Tipo</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Dirección</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>Cantidad</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Fecha</translation>
- </message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Abierto por %n bloque</numerusform>
@@ -1409,267 +1834,267 @@ Dirección: %4</translation>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Abierto hasta %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
- <translation>Fuera de linea (%1 confirmaciones)</translation>
+ <translation>Fuera de línea (%1 confirmaciones)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>No confirmado (%1 de %2 confirmaciones)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Confirmado (%1 confirmaciones)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>El saldo recién minado estará disponible cuando venza el plazo en %n bloque más</numerusform>
+ <numerusform>El saldo recién minado estará disponible cuando venza el plazo en %n bloques más</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Este bloque no ha sido recibido por otros nodos y probablemente no sea aceptado !</translation>
+ <translation>Este bloque no ha sido recibido por otros nodos y ¡probablemente no sea aceptado!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Generado pero no aceptado</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Recibido con</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Cantidad retirada o añadida al balance.</translation>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Recibidos de</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Enviado a</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Pago propio</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Minado</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
- <translation>(n/a)</translation>
+ <translation>(nd)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Estado de transacción. Pasa el ratón sobre este campo para ver el número de confirmaciones.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
- <translation>Fecha y hora de cuando se recibió la transacción.</translation>
+ <translation>Fecha y hora en que se recibió la transacción.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Tipo de transacción.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Dirección de destino de la transacción.</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>El balance minado estará disponible en %n bloque mas</numerusform>
- <numerusform>El balance minado estará disponible en %n bloques mas</numerusform>
- </translation>
- </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Recibidos de</translation>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Cantidad retirada o añadida al saldo.</translation>
</message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Mes pasado</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Archivos de columnas separadas por coma (*.csv)</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Tipo</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Dirección</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Todo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Rango:</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Hoy</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Confirmado</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Esta semana</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Fecha</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Este mes</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Etiqueta</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Mes pasado</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>Este año</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>Rango...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>Recibido con</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation>Enviado a</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Copiar dirección</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Copiar etiqueta</translation>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>A usted mismo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Editar etiqueta</translation>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Minado</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation>Otra</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Introduzca una dirección o etiqueta que buscar</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Cantidad mínima</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Error exportando</translation>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Copiar dirección</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>No se pudo escribir en el archivo %1.</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Copiar etiqueta</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Copiar cuantía</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Editar etiqueta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Mostrar detalles de la transacción</translation>
+ </message>
+ <message>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>Exportar datos de la transacción</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Cantidad</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Archivos de columnas separadas por coma (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Todo</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Confirmado</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Hoy</translation>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Fecha</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Esta semana</translation>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Tipo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Este mes</translation>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Etiqueta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>para</translation>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Dirección</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>A ti mismo</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Cantidad</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Minado</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>Cantidad mínima</translation>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Error exportando</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Copiar cuantía</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>No se pudo escribir en el archivo %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Muestra detalles...</translation>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Rango:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>para</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Enviando...</translation>
</message>
@@ -1677,518 +2102,645 @@ Dirección: %4</translation>
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
<source>Bitcoin version</source>
<translation>Versión de Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Cargando el índice de bloques...</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Uso:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Cargando monedero...</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Envíar comando a -server o bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Generado pero no aceptado</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Muestra comandos
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Envíar comando a -server o bitcoind</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Recibir ayuda para un comando
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Especifica archivo de configuración (predeterminado: bitcoin.conf)
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Opciones:
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Especifica archivo pid (predeterminado: bitcoin.pid)
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Especificar archivo de configuración (predeterminado: bitcoin.conf)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>Establecer el tamaño del caché de la base de datos en megabytes (por defecto: 25)</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Especificar archivo pid (predeterminado: bitcoin.pid)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Mantener en la mayoría de las conexiones &lt;n&gt; a sus compañeros (por defecto: 125)</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generar monedas</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Error al cargar wallet.dat: El monedero requiere una versión más reciente de Bitcoin</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>No generar monedas</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
+ <location line="+60"/>
<source>Specify data directory</source>
<translation>Especificar directorio para los datos</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Usa OpenSSL (https) para las conexiones JSON-RPC
-</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Establecer el tamaño de caché de la base de datos en megabytes (predeterminado: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Tarifa por KB que añadir a las transacciones que envíe</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Establecer el tamaño de registro en disco de la base de datos en megabytes (predeterminado: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Escuchar conexiones en &lt;puerto&gt; (predeterminado: 8333 o testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Mantener como máximo &lt;n&gt; conexiones a pares (predeterminado: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Error: ha fallado la creación de transacción.</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Conectar a un nodo para obtener direcciones de pares y desconectar</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Error: transacción rechazada. Puede haber ocurrido si alguna de las monedas ya estaba gastada o si ha usado una copia de wallet.dat y las monedas se gastaron en la copia pero no se han marcado así aquí.</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Especifique su propia dirección pública</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>Encontrar pares mediante búsqueda de DNS (predeterminado: 1)</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Vincular a la dirección dada. Utilice la notación [host]:port para IPv6</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Búfer de recepción máximo por conexión, &lt;n&gt;*1000 bytes (predeterminado: 10000)</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Umbral para la desconexión de pares con mal comportamiento (predeterminado: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Búfer de recepción máximo por conexión, , &lt;n&gt;*1000 bytes (predeterminado: 10000)</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Número de segundos en que se evita la reconexión de pares con mal comportamiento (predeterminado: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation type="unfinished"></translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Ha ocurrido un error al configurar el puerto RPC %u para escucha en IPv4: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Anteponer la salida de depuración, con indicación de la hora</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>Ha ocurrido un error al configurar el puerto RPC %u para escuchar mediante IPv6. Recurriendo a IPv4: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Usuario para las conexiones JSON-RPC
-</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Desconectar las bases de datos de bloques y direcciones al cerrar la aplicación. El tiempo de parada de la aplicación aumentará (predeterminado: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Contraseña para las conexiones JSON-RPC
-</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Escucha conexiones JSON-RPC en el puerto &lt;port&gt; (predeterminado: 8332)
-</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Error: transacción rechazada. Puede haber ocurrido si alguna de las monedas ya estaba gastada o si ha usado una copia de wallet.dat y las monedas se gastaron en la copia pero no se han marcado así aquí.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Envía comando al nodo situado en &lt;ip&gt; (predeterminado: 127.0.0.1)
-</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Error: esta transacción está sujeta a una tarifa de %s, bien por su cantidad, complejidad, o por el uso de fondos recientemente recibidos </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Actualizar el monedero al último formato</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Escuchar conexiones JSON-RPC en &lt;puerto&gt; (predeterminado: 8332 o testnet:18332)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Volver a examinar la cadena de bloques en busca de transacciones del monedero perdidas</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Cómo completa la verificación del bloque es (0-6, por defecto: 1)</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Precaución: -paytxfee es muy alta. Esta es la comisión que pagarás si envias una transacción.</translation>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Aceptar comandos consola y JSON-RPC
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Error: CreateThread(StartNode) fallido</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Certificado del servidor (Predeterminado: server.cert)
-</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Error: ha fallado la creación de la transacción.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Clave privada del servidor (Predeterminado: server.pem)
-</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Error: monedero bloqueado. Bitcoin es incapaz de crear la transacción </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Precaución: Por favor revisa que la fecha y hora de tu ordenador son correctas. Si tu reloj está mal Bitcoin no funcionará correctamente.</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Importando fichero de datos de cadena de bloques.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Este mensaje de ayuda
-</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Importando fichero de datos para iniciar la cadena de bloques.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Opciones:
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Correr como demonio y aceptar comandos
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Usar la red de pruebas
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Mostrar pantalla de bienvenida en el inicio (por defecto: 1)</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Aceptar conexiones desde el exterior (predeterminado: 1 si no -proxy o -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Error cargando addr.dat</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Establecer el tamaño máximo de las transacciones de alta prioridad/comisión baja en bytes (predeterminado:27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Permite búsqueda DNS para addnode y connect
-</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Aviso: ¡-paytxfee tiene un valor muy alto! Esta es la comisión que pagará si envía una transacción.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Conecta solo al nodo especificado
-</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Aviso: ¡Las transacciones mostradas pueden no ser correctas! Puede necesitar una actualización o bien otros nodos necesitan actualizarse.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation>Aceptar conexiones desde el exterior (predeterminado: 1)</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Precaución: Por favor, ¡revise que la fecha y hora de su ordenador son correctas! Si su reloj está mal, Bitcoin no funcionará correctamente.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation>Usar UPnP para asignar el puerto de escucha (predeterminado: 1)</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Opciones de creación de bloques:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>Opciones SSL: (ver la Bitcoin Wiki para instrucciones de configuración SSL)
-</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Conectar sólo a los nodos (o nodo) especificados</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Enviando...</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Descubrir dirección IP propia (predeterminado: 1 al escuchar sin -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Cuantía no válida</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Ha fallado la escucha en todos los puertos. Use -listen=0 si desea esto.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Fondos insuficientes</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Encontrar pares mediante búsqueda de DNS (predeterminado: 1 salvo con -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>Para utilizar la opción %s</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Dirección -tor inválida: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, tiene que establecer rpcpassword en el archivo de configuración: ⏎
-%s ⏎
-Se recomienda utilizar la siguiente contraseña aleatoria: ⏎
-rpcuser = bitcoinrpc ⏎
-rpcpassword =%s ⏎
-(no es necesario para recordar esta contraseña) ⏎
-Si el archivo no existe se crea con los permisos de lectura y escritura solamente del propietario. ⏎</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Búfer de recepción máximo por conexión, &lt;n&gt;*1000 bytes (predeterminado: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Error</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Búfer de recepción máximo por conexión, , &lt;n&gt;*1000 bytes (predeterminado: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Uso:</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Conectarse solo a nodos de la red &lt;net&gt; (IPv4, IPv6 o Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Tiene que establecer rpcpassword=&lt;contraseña&gt; en el fichero de configuración: ⏎
-%s ⏎
-Si el archivo no existe, se crea con permisos de propietario de lectura de sólo archivos.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Base de datos de conjunto de discos de registro de tamaño en megabytes (por defecto: 100)</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Mostrar información de depuración adicional. Abarca todas las demás opciones -debug*</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Desconectar las bases de datos de bloques y direcciones al cerrar la aplicación. El tiempo de parada de la aplicación aumentará. (Predeterminado: 0)</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Mostrar información de depuración adicional</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>No se puede obtener permiso de trabajo en la carpeta de datos %s. Probablemente Bitcoin ya se está ejecutando.
-</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Anteponer marca temporal a la información de depuración</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Rescaneando...</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>Opciones SSL: (ver la Bitcoin Wiki para instrucciones de configuración SSL)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Cargando direcciones...</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Elija la versión del proxy socks a usar (4-5, predetermiando: 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Cantidad inválida para -paytxfee=&lt;amount&gt;</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Enviar información de trazas/depuración a la consola en lugar de al archivo debug.log</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Atención: Poco espacio en el disco duro</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Enviar información de trazas/depuración al depurador</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>No es posible escuchar en el puerto %d en este ordenador. Probablemente Bitcoin ya se está ejecutando.</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Establecer tamaño máximo de bloque en bytes (predeterminado: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Dirección -proxy invalida</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Establecer tamaño mínimo de bloque en bytes (predeterminado: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Añadir un nodo para conectarse y tratar de mantener la conexión abierta</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Reducir el archivo debug.log al iniciar el cliente (predeterminado: 1 sin -debug)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>No se puede rebajar el monedero</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Especificar el tiempo máximo de conexión en milisegundos (predeterminado: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Muestra comandos
-</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Usar UPnP para asignar el puerto de escucha (predeterminado: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Ejecutar un comando cuando cambia el mejor bloque (%s en cmd se sustituye por el hash de bloque)</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Usar UPnP para asignar el puerto de escucha (predeterminado: 1 al escuchar)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>No se puede inicializar grupo de teclas</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Utilizar proxy para conectar a servicios ocultos (predeterminado: igual que -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Recibir ayuda para un comando
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Nombre de usuario para las conexiones JSON-RPC
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>No se puede escribir la dirección por defecto</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Generar monedas</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Atención: ¡Poco espacio en el disco duro!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Ha ocurrido un error al configurar el puerto RPC %u para escucha: %s</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Aviso: Esta versión es obsoleta, ¡actualización necesaria!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>No generar monedas</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Arranca minimizado
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Contraseña para las conexiones JSON-RPC
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Especifica tiempo de espera para conexion (en milisegundos)
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Permitir conexiones JSON-RPC desde la dirección IP especificada
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Conecta mediante proxy socks4
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Enviar comando al nodo situado en &lt;ip&gt; (predeterminado: 127.0.0.1)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Preste atención a las conexiones en &lt;puerto&gt; (por defecto: 8333 o testnet: 18333)</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Ejecutar un comando cuando cambia el mejor bloque (%s en cmd se sustituye por el hash de bloque)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Encontrar los pares utilizando Internet Relay Chat (por defecto: 0)</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Actualizar el monedero al último formato</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Establecer el idioma, por ejemplo, &quot;es_ES&quot; (por defecto: configuración regional del sistema)</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Ajustar el número de claves en reserva &lt;n&gt; (predeterminado: 100)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Umbral para la desconexión de los compañeros se portan mal (por defecto: 100)</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Volver a examinar la cadena de bloques en busca de transacciones del monedero perdidas</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Número de segundos que se mantienen los compañeros se portan mal en volver a conectarse (por defecto: 86400)</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Cuántos bloques comprobar al iniciar (predeterminado: 2500, 0 = todos)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation>Usar UPnP para asignar el puerto de escucha (predeterminado: 0)</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Nivel de detalle en la verificación de bloques (0-6, predeterminado: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Permite conexiones JSON-RPC desde la dirección IP especificada
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Importa los bloques desde un archivo externo blk000?.dat</translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Usar OpenSSL (https) para las conexiones JSON-RPC
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Aceptar comandos consola y JSON-RPC
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Certificado del servidor (predeterminado: server.cert)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Correr como demonio y acepta comandos
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Clave privada del servidor (predeterminado: server.pem)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Usa la red de pruebas
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Cifrados aceptados (predeterminado: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Enviar rastrear/debug info a la consola en lugar de debug.log archivo</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Este mensaje de ayuda
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Enviar rastrear / debug info al depurador</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>No se puede obtener permiso de trabajo en la carpeta de datos %s. Probablemente Bitcoin ya se está ejecutando.
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>El monedero ha necesitado ser reescrito. Reinicie Bitcoin para completar el proceso</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Ajusta el número de claves en reserva &lt;n&gt; (predeterminado: 100)
-</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>No es posible conectar con %s en este sistema (bind ha dado el error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Cuántos bloques para comprobar en el arranque (por defecto: 2500, 0 = todos)</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Conectar mediante proxy socks</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Cifrados aceptados (Predeterminado: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
-</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Permitir búsquedas DNS para -addnode, -seednode y -connect</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Cargando direcciones...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
+ <location line="-26"/>
<source>Error loading blkindex.dat</source>
<translation>Error al cargar blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation>Error al cargar wallet.dat: el monedero está dañado</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Error al cargar wallet.dat: El monedero requiere una versión más reciente de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>El monedero ha necesitado ser reescrito. Reinicie Bitcoin para completar el proceso</translation>
+ </message>
+ <message>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation>Error al cargar wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Uso</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Dirección -proxy inválida: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>La red especificada en -onlynet &apos;%s&apos; es desconocida</translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Solicitada versión de proxy -socks desconocida: %i</translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>No se puede resolver la dirección de -bind: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>No se puede resolver la dirección de -externalip: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Cantidad inválida para -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Error: no se ha podido iniciar el nodo</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Enviando...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Cuantía no válida</translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Fondos insuficientes</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Cargando el índice de bloques...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Añadir un nodo al que conectarse y tratar de mantener la conexión abierta</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>No es posible conectar con %s en este sistema. Probablemente Bitcoin ya está ejecutándose.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Encontrar los pares utilizando Internet Relay Chat (predeterminado: 0)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Tarifa por KB que añadir a las transacciones que envíe</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Cargando monedero...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>No se puede rebajar el monedero</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>No se puede inicializar la reserva de claves</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>No se puede escribir la dirección predeterminada</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Rescaneando...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Generado pero no aceptado</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Para utilizar la opción %s</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, tiene que establecer rpcpassword en el archivo de configuración: ⏎
+%s ⏎
+Se recomienda utilizar la siguiente contraseña aleatoria: ⏎
+rpcuser = bitcoinrpc ⏎
+rpcpassword =%s ⏎
+(no es necesario recordar esta contraseña) ⏎
+Si el archivo no existe, créelo con permiso de lectura solamente del propietario. ⏎</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Error</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Tiene que establecer rpcpassword=&lt;contraseña&gt; en el fichero de configuración: ⏎
+%s ⏎
+Si el archivo no existe, créelo con permiso de lectura solamente del propietario.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_es_CL.ts b/src/qt/locale/bitcoin_es_CL.ts
index 5ba8ce4438..01817b6a6a 100644
--- a/src/qt/locale/bitcoin_es_CL.ts
+++ b/src/qt/locale/bitcoin_es_CL.ts
@@ -5,30 +5,33 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Sobre Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; - versión </translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Developers
-
+ <translation>
Este es un software experimental.
Distribuido bajo la licencia MIT/X11, vea el archivo adjunto
-license.txt o http://www.opensource.org/licenses/mit-license.php.
+COPYING o http://www.opensource.org/licenses/mit-license.php.
Este producto incluye software desarrollado por OpenSSL Project para su uso en
el OpenSSL Toolkit (http://www.openssl.org/), software criptográfico escrito por
@@ -38,120 +41,120 @@ Eric Young (eay@cryptsoft.com) y UPnP software escrito por Thomas Bernard.</tran
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Guia de direcciones</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Estas son tus direcciones Bitcoin para recibir pagos. Puedes utilizar una diferente por cada persona emisora para saber quien te está pagando.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Haz doble clic para editar una dirección o etiqueta</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Crea una nueva dirección</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
- <source>Export Address Book Data</source>
- <translation>Exporta datos de la guia de direcciones</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Archivos separados por coma (*.csv)</translation>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Copia la dirección seleccionada al portapapeles</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
<translation>&amp;Nueva dirección</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
- <translation>Copia la dirección seleccionada al portapapeles</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Estas son tus direcciones Bitcoin para recibir pagos. Puedes utilizar una diferente por cada persona emisora para saber quien te está pagando.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copiar al portapapeles</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Copia dirección</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Mostrar Código &amp;QR </translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation>Firmar un mensaje para provar que usted es dueño de esta dirección</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>Firmar Mensaje</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Borra la dirección seleccionada de la lista. Solo las direcciónes de envio se pueden borrar.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Borrar</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Copia dirección</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Copia etiqueta</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Borrar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Editar</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Copia &amp;etiqueta</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Borrar</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Editar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>No se pudo escribir al archivo %1.</translation>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Exporta datos de la guia de direcciones</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Archivos separados por coma (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Exportar errores</translation>
</message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>No se pudo escribir al archivo %1.</translation>
+ </message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Address</source>
- <translation>Dirección</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etiqueta</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Dirección</translation>
+ </message>
+ <message>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(sin etiqueta)</translation>
</message>
@@ -159,458 +162,448 @@ Eric Young (eay@cryptsoft.com) y UPnP software escrito por Thomas Bernard.</tran
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
- <source>Decrypt wallet</source>
- <translation>Decodificar cartera</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Esta operación necesita la contraseña para desbloquear la billetera.</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Introduce contraseña actual </translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Nueva contraseña</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Repite nueva contraseña:</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
- <source>Change passphrase</source>
- <translation>Cambia contraseña</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Introduce la nueva contraseña para la billetera.&lt;br/&gt;Por favor utiliza un contraseña &lt;b&gt;de 10 o mas caracteres aleatorios&lt;/b&gt;, u &lt;b&gt;ocho o mas palabras&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Cambiar contraseña</translation>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Codificar billetera</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>Ha fallado la decodificación de la billetera</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Esta operación necesita la contraseña para desbloquear la billetera.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Confirma la codificación de cartera</translation>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Desbloquea billetera</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>La contraseña introducida para decodificar la billetera es incorrecta.</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Esta operación necesita la contraseña para decodificar la billetara.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ATENCIÓN: ¡Si codificas tu billetera y pierdes la contraseña perderás &lt;b&gt;TODOS TUS BITCOINS&lt;/b&gt;!&quot;
-¿Seguro que quieres seguir codificando la billetera?</translation>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Decodificar cartera</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Cambiar contraseña:</translation>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Cambia contraseña</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Codificar billetera</translation>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Introduce la contraseña anterior y la nueva de cartera</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Falló la codificación de la billetera</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Confirma la codificación de cartera</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>Las contraseñas no coinciden.</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Atención: ¡Si codificas tu billetera y pierdes la contraseña perderás &lt;b&gt;TODOS TUS BITCOINS&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Esta operación necesita la contraseña para decodificar la billetara.</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>¿Seguro que quieres seguir codificando la billetera?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin se cerrará para finalizar el proceso de encriptación. Recuerde que encriptar su billetera no protegera completatamente sus bitcoins de ser robados por malware que infecte su computador</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Billetera codificada</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Precaucion: Mayúsculas Activadas</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Introduce la nueva contraseña para la billetera.&lt;br/&gt;Por favor utiliza un contraseña &lt;b&gt;de 10 o mas caracteres aleatorios&lt;/b&gt;, u &lt;b&gt;ocho o mas palabras&lt;/b&gt;.</translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Billetera codificada</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
- <source>Unlock wallet</source>
- <translation>Desbloquea billetera</translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin se cerrará para finalizar el proceso de encriptación. Recuerde que encriptar su billetera no protegera completatamente sus bitcoins de ser robados por malware que infecte su computador</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Falló la codificación de la billetera</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>La codificación de la billetera falló debido a un error interno. Tu billetera no ha sido codificada.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>Las contraseñas no coinciden.</translation>
+ </message>
+ <message>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Ha fallado el desbloqueo de la billetera</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>La contraseña de billetera ha sido cambiada con éxito.</translation>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>La contraseña introducida para decodificar la billetera es incorrecta.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Precaucion: Mayúsculas Activadas</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Ha fallado la decodificación de la billetera</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Introduce la contraseña anterior y la nueva de cartera</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>La contraseña de billetera ha sido cambiada con éxito.</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>&amp;Guia de direcciónes</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Modifica las opciones de configuración de bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Billetera Bitcoin</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Firmar &amp;Mensaje...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>Sincronizando con la red...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Vista general</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Muestra una vista general de la billetera</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Transacciónes</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Explora el historial de transacciónes</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Guia de direcciónes</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Edita la lista de direcciones y etiquetas almacenadas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>&amp;Recibir monedas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Muestra la lista de direcciónes utilizadas para recibir pagos</translation>
+ </message>
+ <message>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Envíar monedas</translation>
+ </message>
+ <message>
+ <location line="+35"/>
<source>E&amp;xit</source>
<translation>&amp;Salir</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
+ <location line="+1"/>
<source>Quit application</source>
<translation>Salir del programa</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
<translation>Muestra información acerca de Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Codificar o decodificar la billetera</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Cambiar la contraseña</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="242"/>
+ <location line="+2"/>
<source>About &amp;Qt</source>
<translation>Acerca de</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+1"/>
<source>Show information about Qt</source>
<translation>Mostrar Información sobre QT</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Archivo</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Opciones</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Explora el historial de transacciónes</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Codificar la billetera...</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n conexión activa hacia la red Bitcoin</numerusform>
- <numerusform>%n conexiones activas hacia la red Bitcoin</numerusform>
- </translation>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Respaldar billetera...</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>Hace %n segundo</numerusform>
- <numerusform>Hace %n segundos</numerusform>
- </translation>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Cambiar la contraseña...</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
<translation>
- <numerusform>Hace %n minuto</numerusform>
- <numerusform>Hace %n minutos</numerusform>
+ <numerusform>%n bloque restante</numerusform>
+ <numerusform>%n bloques restantes</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Muestra la lista de direcciónes utilizadas para recibir pagos</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[red-de-pruebas]</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Mostrar u ocultar la ventana de Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Exportar los datos de la pestaña actual a un archivo</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Cliente Bitcoin</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Descargados %1 de %2 bloques del historial de transacciones (%3% hecho).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
+ <location line="-242"/>
<source>&amp;Export...</source>
<translation>&amp;Exportar...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Codificar la billetera</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>Hace %n hora</numerusform>
- <numerusform>Hace %n horas</numerusform>
- </translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Enviar monedas a una dirección bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Ayuda</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modifica las opciones de configuración de bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Descargado %1 bloques del historial de transacciones.</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
- <translation>
- <numerusform>Hace %n día</numerusform>
- <numerusform>Hace %n días</numerusform>
- </translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Exportar los datos de la pestaña actual a un archivo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>Actualizado</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Codificar o decodificar la billetera</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Descargados %1 de %2 bloques del historial de transacciones (%3% hecho).</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Respaldar billetera en otra ubicación</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
+ <location line="+2"/>
<source>Change the passphrase used for wallet encryption</source>
<translation>Cambiar la contraseña utilizada para la codificación de la billetera</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Enviar monedas a una dirección bitcoin</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Firmar Mensaje</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Respaldar billetera</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Datos de billetera (*.dat)</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Ha fallado el respaldo</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Cartera</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Opciones</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Sobre Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Muestra una vista general de la billetera</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Mostrar/Ocultar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Transacciónes</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Archivo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Envíar monedas</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Configuración</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Suministre dirección de control</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Ayuda</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>S&amp;obre %1</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Barra de pestañas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Mostrar/Ocultar &amp;Bitcoin</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Barra de acciónes</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>&amp;Respaldar billetera</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[red-de-pruebas]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Respaldar billetera en otra ubicación</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Cliente Bitcoin</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Configuración</translation>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n conexión activa hacia la red Bitcoin</numerusform>
+ <numerusform>%n conexiones activas hacia la red Bitcoin</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Barra de pestañas</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Descargado %1 bloques del historial de transacciones.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>Hace %n segundo</numerusform>
+ <numerusform>Hace %n segundos</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>Hace %n minuto</numerusform>
+ <numerusform>Hace %n minutos</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>Hace %n hora</numerusform>
+ <numerusform>Hace %n horas</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>Hace %n día</numerusform>
+ <numerusform>Hace %n días</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Barra de acciónes</translation>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Actualizado</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Recuperando...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>El ultimo bloque recibido fue generado %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+58"/>
<source>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?</source>
- <translation type="unfinished"></translation>
+ <translation>Esta transacción supera el límite. Puedes seguir enviandola incluyendo una comisión de %s que se va a repartir entre los nodos que procesan su transacción y ayudan a mantener la red. ¿Quieres seguir con la transacción?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>%n bloque restante</numerusform>
- <numerusform>%n bloques restantes</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Transacción enviada</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Transacción entrante</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -622,540 +615,750 @@ Tipo: %3
Dirección: %4</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>La billetera esta &lt;b&gt;codificada&lt;/b&gt; y actualmente &lt;b&gt;desbloqueda&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>La billetera esta &lt;b&gt;codificada&lt;/b&gt; y actualmente &lt;b&gt;bloqueda&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Enviando...</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Respaldar billetera</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation type="unfinished"></translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Datos de billetera (*.dat)</translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Elige la subdivisión por defecto para mostrar cantidaded en la interfaz cuando se envien monedas</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Ha fallado el respaldo</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Unidad en la que mostrar cantitades: </translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Muestra direcciones en el listado de transaccioines</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Editar dirección</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Etiqueta</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>La etiqueta asociada con esta entrada de la libreta de direcciones</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Dirección</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>La dirección asociada con esta entrada en la libreta de direcciones. Solo puede ser modificada para direcciónes de envío.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>Nueva dirección para recibir</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Nueva dirección para enviar</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Editar dirección de recepción</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Editar dirección de envio</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>La dirección introducida &quot;%1&quot; ya esta guardada en la libreta de direcciones.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>No se pudo desbloquear la billetera.</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>La dirección introducida &quot;%1&quot; no es una dirección Bitcoin valida.</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>&amp;Dirección</translation>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>No se pudo desbloquear la billetera.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>La generación de nueva clave falló.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
- <source>New receiving address</source>
- <translation>Nueva dirección para recibir</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>La dirección introducida &quot;%1&quot; no es una dirección Bitcoin valida.</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versión</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Uso:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI opciones</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Arranca minimizado
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Inicia Bitcoin al iniciar el sistema</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Opciones</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Principal</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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 </translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Comisión de &amp;transacciónes</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation>Inicia Bitcoin automáticamente despues de encender el computador</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimiza a la bandeja en vez de la barra de tareas</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Inicia Bitcoin al iniciar el sistema</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Muestra solo un ícono en la bandeja después de minimizar la ventana</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Direcciona el puerto usando &amp;UPnP</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimiza a la bandeja al cerrar</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
+ <location line="+6"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Abre automáticamente el puerto del cliente Bitcoin en el router. Esto funciona solo cuando tu router es compatible con UPnP y está habilitado.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimiza la ventana en lugar de salir del programa cuando la ventana se cierra. Cuando esta opción esta activa el programa solo se puede cerrar seleccionando Salir desde el menu.</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Direcciona el puerto usando &amp;UPnP</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Conecta a traves de un proxy SOCKS4:</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Conecta a la red Bitcoin a través de un proxy SOCKS (ej. cuando te conectas por la red Tor)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Conecta a la red Bitcoin a través de un proxy SOCKS4 (ej. cuando te conectas por la red Tor)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Conecta a traves de un proxy SOCKS:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
<translation>&amp;IP Proxy:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
+ <location line="+19"/>
<source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation>Dirección IP del servidor proxy (ej. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Puerto: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Puerto del servidor proxy (ej. 1234)</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Puerto:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Comisión de &amp;transacciónes</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Puerto del servidor proxy (ej. 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
- <message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Falló Firma</translation>
- </message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Introduce una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Mensaje</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Muestra solo un ícono en la bandeja después de minimizar la ventana</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimiza a la bandeja en vez de la barra de tareas</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Elije dirección de la guia</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimiza la ventana en lugar de salir del programa cuando la ventana se cierra. Cuando esta opción esta activa el programa solo se puede cerrar seleccionando Salir desde el menu.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimiza a la bandeja al cerrar</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Firmar un mensjage para probar que usted es dueño de esta dirección</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Mostrado</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Firmar Mensaje</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copiar al portapapeles</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Unidad en la que mostrar cantitades:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Error al firmar</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Elige la subdivisión por defecto para mostrar cantidaded en la interfaz cuando se envien monedas</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 no es una dirección válida.</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Llave privada para %q no esta disponible.</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Muestra direcciones en el listado de transaccioines</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Pega dirección desde portapapeles</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Escriba el mensaje que desea firmar</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Click en &quot;Firmar Mensage&quot; para conseguir firma</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Principal</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Atención</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Mostrado</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Opciones</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>No confirmados:</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Formulario</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Numero de transacciones:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>No confirmados:</translation>
+ </message>
+ <message>
+ <location line="-78"/>
<source>Wallet</source>
<translation>Cartera</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Transacciones recientes&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Tu saldo actual</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Total de transacciones que no han sido confirmadas aun, y que no cuentan para el saldo actual.</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Número total de transacciones en la billetera</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Etiqueta</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Solicitar Pago</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Cantidad:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Etiqueta</translation>
+ </message>
+ <message>
+ <location line="+19"/>
<source>Message:</source>
<translation>Mensaje:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;Guardar Como...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>Imágenes PNG (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="-217"/>
+ <source>Client version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Cambiar contraseña</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>Código QR </translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Solicitar Pago</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Enviar monedas</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Enviar a múltiples destinatarios</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Agrega destinatario...</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Agrega destinatario</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Remover todos los campos de la transacción</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Borra todos</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Balance:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Confirma el envio</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Envía</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Confirmar el envio de monedas</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Estas seguro que quieres enviar %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation>y</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>&amp;Borra todos</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>La dirección de destinatarion no es valida, comprueba otra vez.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>La cantidad por pagar tiene que ser mayor 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>La cantidad sobrepasa tu saldo.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>El total sobrepasa tu saldo cuando se incluyen %1 como tasa de envio.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Tienes una dirección duplicada, solo puedes enviar a direcciónes individuales de una sola vez.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Error: La transacción no se pudo crear.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Error: La transacción fue rechazada. Esto puede haber ocurrido si alguna de las monedas ya estaba gastada o si ha usado una copia de wallet.dat y las monedas se gastaron en la copia pero no se han marcado como gastadas aqui.</translation>
</message>
@@ -1163,217 +1366,439 @@ Dirección: %4</translation>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
- <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Introduce una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Envio</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
- <source>Paste address from clipboard</source>
- <translation>Pega dirección desde portapapeles</translation>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>Cantidad:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>&amp;Pagar a:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
- <source>&amp;Label:</source>
- <translation>&amp;Etiqueta:</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>Cantidad:</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Introduce una etiqueta a esta dirección para añadirla a tu guia</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Etiqueta:</translation>
+ </message>
+ <message>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>La dirección donde enviar el pago (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Elije dirección de la guia</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Pega dirección desde portapapeles</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Elimina destinatario</translation>
</message>
+ <message>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduce una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(no aceptada)</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Mensaje:</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Firmar Mensaje</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduce una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Elije dirección de la guia</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Pega dirección desde portapapeles</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Escriba el mensaje que desea firmar</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Firmar un mensjage para probar que usted es dueño de esta dirección</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Borra todos</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduce una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduce una dirección Bitcoin (ej. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Click en &quot;Firmar Mensage&quot; para conseguir firma</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Abierto hasta %1</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Abierto por %n bloque</numerusform>
+ <numerusform>Abierto por %n bloques</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>desconocido</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/fuera de linea</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Abierto hasta %1 bloques</translation>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/no confirmado</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 confirmaciónes</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/fuera de linea?</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Estado</translation>
</message>
- <message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Estado:&lt;/b&gt; </translation>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, no ha sido emitido satisfactoriamente todavía</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Fecha</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, emitido mediante %1 nodo</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, emitido mediante %1 nodos</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generado</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Fecha:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>De</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Fuente:&lt;/b&gt; Generado&lt;br&gt;</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;De:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Para:&lt;/b&gt; </translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>etiqueta</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (tuya, etiqueta: </translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Credito</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Crédito:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>no aceptada</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 madura en %2 bloques mas)</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debito</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Débito:&lt;/b&gt; </translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Comisión transacción</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Comisión transacción:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Cantidad total</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Cantidad total:&lt;/b&gt; </translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Mensaje</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Comentario:</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Comentario</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>ID de Transacción:</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID de Transacción</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation>Las monedas generadas deben esperar 120 bloques antes de ser gastadas. Cuando has generado este bloque se emitió a la red para ser agregado en la cadena de bloques. Si falla al incluirse en la cadena, cambiará a &quot;no aceptado&quot; y las monedas no se podrán gastar. Esto puede ocurrir ocasionalmente si otro nodo genera un bloque casi al mismo tiempo que el tuyo.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (tuya)</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/no confirmado</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transacción</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Cantidad</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, no ha sido emitido satisfactoriamente todavía</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>desconocido</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Detalles de transacción</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Esta ventana muestra información detallada sobre la transacción</translation>
</message>
@@ -1381,27 +1806,27 @@ Dirección: %4</translation>
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>Fecha</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>Tipo</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Dirección</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>Cantidad</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Abierto por %n bloque</numerusform>
@@ -1409,783 +1834,912 @@ Dirección: %4</translation>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Abierto hasta %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Fuera de linea (%1 confirmaciónes)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>No confirmado (%1 de %2 confirmaciónes)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Confirmado (%1 confirmaciones)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Este bloque no ha sido recibido por otros nodos y probablemente no sea aceptado !</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Generado pero no acceptado</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Recibido con</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>Recibido de</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Enviado a</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Pagar a usted mismo</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Minado</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Estado de transacción. Pasa el raton sobre este campo para ver el numero de confirmaciónes.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Fecha y hora cuando se recibió la transaccion</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Tipo de transacción.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Dirección de destino para la transacción</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Cantidad restada o añadida al balance</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>El balance minado estará disponible en %n bloque mas</numerusform>
- <numerusform>El balance minado estará disponible en %n bloques mas</numerusform>
- </translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Tipo</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Dirección</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>No se pudo escribir en el archivo %1.</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Enviado a</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Copia etiqueta</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Confirmado</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>para</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Muestra detalles...</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Etiqueta</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Cantidad</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>Todo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>Hoy</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Archivos separados por coma (*.csv)</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Esta semana</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Copiar Cantidad</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Esta mes</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>Mes pasado</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>Este año</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>Rango...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Recibido con</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Enviado a</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>A ti mismo</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Mined</source>
<translation>Minado</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation>Otra</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Introduce una dirección o etiqueta para buscar</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Cantidad minima</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Copia dirección</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Rango:</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Copia etiqueta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Exportar datos de transacción</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Copiar Cantidad</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation>Edita etiqueta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Error exportando</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Fecha</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Exportar datos de transacción</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Esta semana</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Archivos separados por coma (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Esta mes</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Confirmado</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Recibido con</translation>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Fecha</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>A ti mismo</translation>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Tipo</translation>
</message>
-</context>
-<context>
- <name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
- <source>Sending...</source>
- <translation>Enviando...</translation>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Etiqueta</translation>
</message>
-</context>
-<context>
- <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Versión Bitcoin</translation>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Dirección</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Cantidad</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Cargando cartera...</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Cargando el index de bloques...</translation>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Error exportando</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Rescaneando...</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>No se pudo escribir en el archivo %1.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Atención: Poco espacio en el disco duro</translation>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Rango:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Error: CreateThread(StartNode) fallido</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>para</translation>
</message>
+</context>
+<context>
+ <name>WalletModel</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>No es posible escuchar en el puerto %d en este ordenador. Probablemente Bitcoin ya se está ejecutando.</translation>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>Enviando...</translation>
</message>
+</context>
+<context>
+ <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Dirección -proxy invalida</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Versión Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Precaución: -paytxfee es muy alta. Esta es la comisión que pagarás si envias una transacción.</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Uso:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>La billetera necesita ser reescrita: reinicie Bitcoin para completar</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Envia comando a bitcoin lanzado con -server u bitcoind
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Error cargando blkindex.dat</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Muestra comandos
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
+ <location line="-11"/>
<source>Get help for a command</source>
<translation>Recibir ayuda para un comando
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Muestra comandos
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Opciones:
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
+ <location line="+23"/>
<source>Specify configuration file (default: bitcoin.conf)</source>
<translation>Especifica archivo de configuración (predeterminado: bitcoin.conf)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>No generar monedas
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Especifica archivo pid (predeterminado: bitcoin.pid)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Especifica archivo pid (predeterminado: bitcoin.pid)
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Genera monedas
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Error cargando addr.dat</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>No generar monedas
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
+ <location line="+60"/>
<source>Specify data directory</source>
<translation>Especifica directorio para los datos
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Especifica tiempo de espera para conexion (en milisegundos)
-</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-26"/>
<source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation>Escuchar por conecciones en &lt;puerto&gt; (Por defecto: 8333 o red de prueba: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
+ <location line="+4"/>
<source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation>Mantener al menos &lt;n&gt; conecciones por cliente (por defecto: 125) </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+77"/>
<source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation>Umbral de desconección de clientes con mal comportamiento (por defecto: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Arranca minimizado
-</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Usa la red de pruebas
-</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Conecta mediante proxy socks4
-</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Este mensaje de ayuda
-</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Escucha conexiones JSON-RPC en el puerto &lt;port&gt; (predeterminado: 8332)
-</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Ajusta el numero de claves en reserva &lt;n&gt; (predeterminado: 100)
-</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Error: La transacción fue rechazada. Esto puede haber ocurrido si alguna de las monedas ya estaba gastada o si ha usado una copia de wallet.dat y las monedas se gastaron en la copia pero no se han marcado como gastadas aqui.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Certificado del servidor (Predeterminado: server.cert)
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Error: Esta transación requiere una comisión de al menos %s por su cantidad, complejidad o uso de fondos recibidos recientemente.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Escucha conexiones JSON-RPC en el puerto &lt;port&gt; (predeterminado: 8332 or testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Aceptar comandos consola y JSON-RPC
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Agrega un nodo para conectarse and attempt to keep the connection open</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Usuario para las conexiones JSON-RPC
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Error: La transacción no se pudo crear.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Error: Billetera bloqueada, no es posible crear la transacción</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Correr como demonio y acepta comandos
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Conecta solo al nodo especificado
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Usa la red de pruebas
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Error: La transacción no se pudo crear.</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Precaución: -paytxfee es muy alta. Esta es la comisión que pagarás si envias una transacción.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Error: La transacción fue rechazada. Esto puede haber ocurrido si alguna de las monedas ya estaba gastada o si ha usado una copia de wallet.dat y las monedas se gastaron en la copia pero no se han marcado como gastadas aqui.</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Precaución: Por favor revise que la fecha y hora de tu ordenador son correctas. Si tu reloj está mal configurado Bitcoin no funcionará correctamente.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Conecta solo al nodo especificado
+</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Dirección -tor invalida: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">Aceptar conexiones desde el exterior (predeterminado: 1)</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Adjuntar informacion extra de depuracion. Implies all other -debug* options</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Anteponer salida de depuracion con marca de tiempo</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>Opciones SSL: (ver la Bitcoin Wiki para instrucciones de configuración SSL)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Enviar informacion de seguimiento a la consola en vez del archivo debug.log</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Enviar informacion de seguimiento al depurador</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Intenta usar UPnP para mapear el puerto de escucha (default: 1)</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Especifica tiempo de espera para conexion en milisegundos (predeterminado: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Intenta usar UPnP para mapear el puerto de escucha (default: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Intenta usar UPnP para mapear el puerto de escucha (default: 1 when listening)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Comisión por kB para adicionarla a las transacciones enviadas</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Usuario para las conexiones JSON-RPC
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Atención: Poco espacio en el disco duro</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>Opciones SSL: (ver la Bitcoin Wiki para instrucciones de configuración SSL)
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Contraseña para las conexiones JSON-RPC
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Cargando direcciónes...</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Permite conexiones JSON-RPC desde la dirección IP especificada
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Envia comando al nodo situado en &lt;ip&gt; (predeterminado: 127.0.0.1)
+</translation>
+ </message>
+ <message>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Actualizar billetera al formato actual</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Ajusta el numero de claves en reserva &lt;n&gt; (predeterminado: 100)
+</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Rescanea la cadena de bloques para transacciones perdidas de la cartera
+</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Cantidad inválida para -paytxfee=&lt;amount&gt;</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Precaución: Por favor revise que la fecha y hora de tu ordenador son correctas. Si tu reloj está mal configurado Bitcoin no funcionará correctamente.</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Usa OpenSSL (https) para las conexiones JSON-RPC
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Uso:</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Certificado del servidor (Predeterminado: server.cert)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Clave privada del servidor (Predeterminado: server.pem)
+</translation>
+ </message>
+ <message>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Cifrados aceptados (Predeterminado: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
+</translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Este mensaje de ayuda
+</translation>
+ </message>
+ <message>
+ <location line="-131"/>
<source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
<translation>No se puede obtener permiso de trabajo en la carpeta de datos %s. Probablemente Bitcoin ya se está ejecutando.
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Carga completa</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Enviando...</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>No es posible escuchar en el %s en este ordenador (bind returned error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Cantidad inválida</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Conecta mediante proxy socks</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Fondos insuficientes</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Permite búsqueda DNS para addnode y connect
+</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Cargando direcciónes...</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Error cargando blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation>Error cargando wallet.dat: Billetera corrupta</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation>Error cargando wallet.dat: Billetera necesita una vercion reciente de Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>La billetera necesita ser reescrita: reinicie Bitcoin para completar</translation>
+ </message>
+ <message>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation>Error cargando wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Error</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Dirección -proxy invalida: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Envia comando a bitcoin lanzado con -server u bitcoind
-</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Opciones:
-</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Genera monedas
-</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Permite búsqueda DNS para addnode y connect
-</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Cantidad inválida para -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Buscar pares usando &apos;internet relay chat (IRC)&apos; (predeterminado: 0)</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Enviando...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Intenta usar UPnP para mapear el puerto de escucha (default: 0)</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Cantidad inválida</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Aceptar comandos consola y JSON-RPC
-</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Fondos insuficientes</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Correr como demonio y acepta comandos
-</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Cargando el index de bloques...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Adjuntar informacion extra de depuracion</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Agrega un nodo para conectarse and attempt to keep the connection open</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Anteponer salida de depuracion con marca de tiempo</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>No es posible escuchar en el %s en este ordenador. Probablemente Bitcoin ya se está ejecutando.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Enviar informacion de seguimiento a la consola en vez del archivo debug.log</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Buscar pares usando &apos;internet relay chat (IRC)&apos; (predeterminado: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Enviar informacion de seguimiento al depurador</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Comisión por kB para adicionarla a las transacciones enviadas</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Contraseña para las conexiones JSON-RPC
-</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Cargando cartera...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Permite conexiones JSON-RPC desde la dirección IP especificada
-</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Envia comando al nodo situado en &lt;ip&gt; (predeterminado: 127.0.0.1)
-</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Actualizar billetera al formato actual</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Rescanea la cadena de bloques para transacciones perdidas de la cartera
-</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Rescaneando...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Usa OpenSSL (https) para las conexiones JSON-RPC
-</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Carga completa</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Clave privada del servidor (Predeterminado: server.pem)
-</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Cifrados aceptados (Predeterminado: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
-</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Error</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Uso</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_et.ts b/src/qt/locale/bitcoin_et.ts
index c3ace4bcd8..c704d80ff6 100644
--- a/src/qt/locale/bitcoin_et.ts
+++ b/src/qt/locale/bitcoin_et.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,102 +33,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Aadressiraamat</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Loo uus aadress</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Uus aadress...</translation>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>Kopeeri lõikelauale</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Kustuta</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Kustuta</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation type="unfinished">Muuda</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Kustuta</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Viga eksportimisel</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -132,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Silt</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Aadress</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(silti pole)</translation>
</message>
@@ -150,344 +154,368 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialoog</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Ülevaade</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Tehingud</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Sirvi tehingute ajalugu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Aadressiraamat</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
+ <location line="+1"/>
+ <source>Quit application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Valikud...</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Valikud...</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Ekspordi...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Ekspordi...</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
+ <location line="-186"/>
+ <source>Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>&amp;Fail</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
<translation>&amp;Seaded</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation>&amp;Abiinfo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation type="unfinished"></translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -495,22 +523,12 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -518,7 +536,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -526,7 +544,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -534,7 +552,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -542,42 +560,42 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+58"/>
<source>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?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -586,563 +604,749 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation type="unfinished"></translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
- </message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Muuda aadressi</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>Si&amp;lt</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation type="unfinished">&amp;Aadress</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="-12"/>
+ <source>version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <location line="+2"/>
+ <source>Usage:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
+ <location line="+1"/>
+ <source>command-line options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
+ <location line="+4"/>
+ <source>UI options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
+ <location line="+1"/>
+ <source>Start minimized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation type="unfinished">Valikud</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
+ <location line="+21"/>
+ <source>&amp;Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation type="unfinished">Sõnum</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+36"/>
+ <source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>Kopeeri lõikelauale</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="+21"/>
+ <source>&amp;Display</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation type="unfinished">Valikud</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
+ <location line="-141"/>
+ <source>Balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialoog</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation type="unfinished">Kogus:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation type="unfinished">Silt:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>Sõnum:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation type="unfinished"></translation>
</message>
@@ -1150,217 +1354,439 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation type="unfinished">&amp;Kogus</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation type="unfinished">Si&amp;lt:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
+ <location line="+8"/>
+ <source>%1/offline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation type="unfinished">&lt;b&gt;Staatus:&lt;/b&gt; </translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Staatus</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Kuupäev</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
+ <location line="+0"/>
+ <source>Generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation type="unfinished">&lt;b&gt;Kuupäev:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
+ <location line="-2"/>
+ <source>label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>tundmatu</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
+ <location line="-39"/>
+ <source>Transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
+ <location line="+16"/>
+ <source>Net amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation type="unfinished">Sõnum</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Kommentaar</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
+ <location line="+7"/>
+ <source>Debug information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
+ <location line="+8"/>
+ <source>Transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
+ <location line="+5"/>
+ <source>Inputs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Sõnum:</translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Kogus</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Kommentaar:</translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="+0"/>
+ <source>false</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>tundmatu</translation>
+ </message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1368,27 +1794,27 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>Kuupäev</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>Tüüp</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Aadress</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>Kogus</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -1396,95 +1822,95 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation type="unfinished"></translation>
</message>
@@ -1492,163 +1918,163 @@ Address: %4
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Kogus</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Viga eksportimisel</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Kuupäev</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
+ <location line="+1"/>
+ <source>Show transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Kuupäev</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Type</source>
<translation>Tüüp</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
<translation>Silt</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation>Aadress</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Kogus</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Viga eksportimisel</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation type="unfinished"></translation>
</message>
@@ -1656,7 +2082,7 @@ Address: %4
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation type="unfinished"></translation>
</message>
@@ -1664,483 +2090,617 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="+82"/>
+ <source>Usage:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
+ <location line="-19"/>
+ <source>List commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
+ <location line="-11"/>
+ <source>Get help for a command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation type="unfinished">Valikud:</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
+ <location line="-47"/>
+ <source>Generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+60"/>
+ <source>Specify data directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation type="unfinished">Valikud:</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
+ <location line="+33"/>
+ <source>Use the test network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Username for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
+ <location line="-131"/>
<source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
+ <location line="+73"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-39"/>
<source>Cannot downgrade wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
+ <location line="+1"/>
<source>Cannot initialize keypool</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
+ <location line="+3"/>
<source>Cannot write default address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
+ <location line="+46"/>
<source>Rescanning...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
+ <location line="-40"/>
<source>Done loading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
+ <location line="+64"/>
+ <source>To use the %s option</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
+ <location line="+91"/>
+ <source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/src/qt/locale/bitcoin_eu_ES.ts b/src/qt/locale/bitcoin_eu_ES.ts
index d17ca29232..9df8d4a3b2 100644
--- a/src/qt/locale/bitcoin_eu_ES.ts
+++ b/src/qt/locale/bitcoin_eu_ES.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; Bertsio</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,102 +33,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Helbide-liburua</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Sortu helbide berria</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
+ <location line="-46"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Ezabatu</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Ezabatu</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Ezabatu</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -132,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Address</source>
- <translation>Helbidea</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Helbidea</translation>
+ </message>
+ <message>
+ <location line="+36"/>
<source>(no label)</source>
<translation type="unfinished"></translation>
</message>
@@ -150,344 +154,368 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation type="unfinished">Helbide-liburu&amp;a</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
+ <location line="+1"/>
+ <source>Quit application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+39"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation type="unfinished"></translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -495,22 +523,12 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -518,7 +536,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -526,7 +544,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -534,7 +552,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -542,42 +560,42 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+58"/>
<source>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?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -586,563 +604,749 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation type="unfinished"></translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
- </message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation type="unfinished">Helbide&amp;a</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="-12"/>
+ <source>version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <location line="+2"/>
+ <source>Usage:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
+ <location line="+1"/>
+ <source>command-line options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
+ <location line="+4"/>
+ <source>UI options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
+ <location line="+1"/>
+ <source>Start minimized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
+ <location line="+16"/>
+ <source>&amp;Main</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+21"/>
+ <source>&amp;Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+36"/>
+ <source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
+ <location line="+21"/>
+ <source>&amp;Display</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
+ <location line="-141"/>
+ <source>Balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation type="unfinished"></translation>
</message>
@@ -1150,217 +1354,439 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
+ <location line="+8"/>
+ <source>%1/offline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
+ <location line="+18"/>
+ <source>Status</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
+ <location line="+4"/>
+ <source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
+ <location line="+7"/>
+ <source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
+ <location line="+0"/>
+ <source>Generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
+ <location line="-2"/>
+ <source>label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
+ <location line="+2"/>
+ <source>not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
+ <location line="-39"/>
+ <source>Transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
+ <location line="+16"/>
+ <source>Net amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
+ <location line="+6"/>
+ <source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>Transaction ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
+ <location line="+0"/>
+ <source>false</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="+35"/>
+ <source>unknown</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1368,22 +1794,27 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Helbidea</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -1391,264 +1822,259 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Helbidea</translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
+ <location line="+1"/>
+ <source>Show transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation>Helbidea</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation type="unfinished"></translation>
</message>
@@ -1656,7 +2082,7 @@ Address: %4
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation type="unfinished"></translation>
</message>
@@ -1664,483 +2090,617 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation type="unfinished">Bitcoin Bertsio</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <source>Usage:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="-19"/>
+ <source>List commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
+ <location line="-11"/>
+ <source>Get help for a command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
+ <location line="+20"/>
+ <source>Options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
+ <location line="-47"/>
+ <source>Generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+60"/>
+ <source>Specify data directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation type="unfinished">Bitcoin Bertsio</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
+ <location line="+33"/>
+ <source>Use the test network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Username for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
+ <location line="-131"/>
<source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
+ <location line="+73"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-39"/>
<source>Cannot downgrade wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
+ <location line="+1"/>
<source>Cannot initialize keypool</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
+ <location line="+3"/>
<source>Cannot write default address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
+ <location line="+46"/>
<source>Rescanning...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
+ <location line="-40"/>
<source>Done loading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
+ <location line="+64"/>
+ <source>To use the %s option</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
+ <location line="+91"/>
+ <source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/src/qt/locale/bitcoin_fa.ts b/src/qt/locale/bitcoin_fa.ts
index 98f953852f..a060a3ed3d 100644
--- a/src/qt/locale/bitcoin_fa.ts
+++ b/src/qt/locale/bitcoin_fa.ts
@@ -5,133 +5,130 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>در مورد Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>نسخه Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>حق مولف © 2009-2012 توسعه دهندگان bitcoin</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>کپی رایت © 2012-2009 Bitcoin Developers
-
-این یک نرم‌افزار آزمایشی است.
-
-توزیع شده تحت امتیاز نرم‌افزار MIT/X11، از فایل همراه با عنوان license.txt یا http://www.opensource.org/licenses/mit-license.php دیدن کنید.
-
-این محصول از نرم‌افزار ساخته شده در OpenSSL Project برای استفاده در جعبه ابزار OpenSSL‏ (http://www.openssl.org/‎)، نرم‌افزار نهفته نوشته شده توسط اریک یانگ (eay@cryptsoft.com) و نرم‌افزار UPnP نوشته شده توسط توماس برنارد تشکیل شده است.</translation>
+ <translation>⏎ ⏎ این نسخه نرم افزار آزمایشی است⏎ ⏎ نرم افزار تحت لیسانس MIT/X11 منتشر شده است. به فایل coping یا آدرس http://www.opensource.org/licenses/mit-license.php. مراجعه شود⏎ ⏎ این محصول شامل نرم افزاری است که با OpenSSL برای استفاده از OpenSSL Toolkit (http://www.openssl.org/) و نرم افزار نوشته شده توسط اریک یانگ (eay@cryptsoft.com ) و UPnP توسط توماس برنارد طراحی شده است.</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>فهرست آدرس</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>ااینجا آدرسهای بیتکویین هستند برای در یافت پر داختها. شما می توانید از مسیر های متفاوت پر داخت در بیابید بدین دلیل شما می توانید مسیر پر داخت کننده نگهداری کنید
-درس روی پنجره اصلی نمایش می شود</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>برای ویرایش آدرس یا بر چسب دو بار کلیک کنید</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>آدرس جدید ایجاد کنید</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>آدرس نو...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>آدرس انتخاب شده در سیستم تخته رسم گیره دار کپی کنید</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>کپی در تخته رسم گیره دار</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>آدرس جدید</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>این آدرسها، آدرسهای bitcoin شما برای دریافت وجوه هستند. شما ممکن است آدرسهای متفاوت را به هر گیرنده اختصاص دهید که بتوانید مواردی که پرداخت می کنید را پیگیری نمایید</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>کپی آدرس</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>نمایش &amp;کد QR</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>یک پیام را امضا کنید تا ثابت کنید صاحب این نشانی هستید</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>پیام را برای اثبات آدرس Bitcoin خود امضا کنید</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>امضای &amp;پیام</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>آدرس انتخاب شده از لیست حذف کنید. فقط آدرسهای ارسال شده می شود حذف کرد</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>آدرس انتخاب شده در سیستم تخته رسم گیره دا حذف</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>حذف</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>یک پیام را برای حصول اطمینان از ورود به سیستم با آدرس bitcoin مشخص، شناسایی کنید</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>کپی آدرس </translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>شناسایی پیام</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>کپی بر چسب</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>حذف</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>ویرایش</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>کپی و برچسب گذاری</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>حذف</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>ویرایش</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>آدرس انتخاب شده در سیستم تخته رسم گیره دار کپی کنید</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Comma separated file (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>خطای صدور</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>تا فایل %1 نمی شود نوشت</translation>
</message>
@@ -139,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>بر چسب</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>آدرس</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>بدون برچسب</translation>
</message>
@@ -157,998 +154,1198 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>تگفتگو</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>دیالوگ Passphrase </translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>وارد عبارت عبور</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>عبارت عبور نو</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>تکرار عبارت عبور نو</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>وارد کنید..&amp;lt;br/&amp;gt عبارت عبور نو در پنجره
10 یا بیشتر کاراکتورهای تصادفی استفاده کنید &amp;lt;b&amp;gt لطفا عبارت عبور</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>رمز بندی پنجره</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>این عملیت نیاز عبارت عبور پنجره شما دارد برای رمز گشایی آن</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>تکرار عبارت عبور نو</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>این عملیت نیاز عبارت عبور شما دارد برای رمز بندی آن</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>رمز بندی پنجره</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>تغییر عبارت عبور</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>عبارت عبور نو و قدیم در پنجره وارد کنید</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>تایید رمز گذاری</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>بر چسب</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>هشدار: اگر wallet رمزگذاری شود و شما passphrase را گم کنید شما همه اطلاعات bitcoin را از دست خواهید داد.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>آیا اطمینان دارید که می خواهید wallet رمزگذاری شود؟</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>هشدار: Caps lock key روشن است</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>تغییر عبارت عبور</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>Biticon هم اکنون بسته می‌شود تا فرایند رمزگذاری را تمام کند. به خاطر داشته باشید که رمزگذاری کیف پولتان نمی‌تواند به طور کامل بیتیکون‌های شما را در برابر دزدیده شدن توسط بدافزارهایی که رایانه شما را آلوده می‌کنند، محافظت نماید.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>عبارت عبور نو و قدیم در پنجره وارد کنید</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>تنا موفق رمز بندی پنجره ناشی از خطای داخل شد. پنجره شما مرز بندی نشده است</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>عبارت عبور عرضه تطابق نشد</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>نجره رمز گذار شد</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>اموفق رمز بندی پنجر</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>wallet passphrase با موفقیت تغییر یافت</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>ناموفق رمز بندی پنجره</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>هشدار اگر شما روی پنجره رمز بگذارید و عبارت عبور فراموش کنید همه بیتکویینس شما گم می کنید. متماینید کن که می خواهید رمز بگذارید</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>هشدار: کلید حروف بزرگ روشن است.</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>wallet passphrase با موفقیت تغییر یافت</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>ویرایش لیست آدرسها و بر چسب های ذخیره ای</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;;صادرات</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>امضا و پیام</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>همگام سازی با شبکه ...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>بررسی اجمالی</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>نمای کلی پنجره نشان بده</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>دانلود بلوکهای معملات %1</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;معاملات</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>نمایش تاریخ معاملات</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>دفتر آدرس</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
- <translation>
- <numerusform>%n بعد از چند روزز </numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>رسال سکه ها</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>خروج از برنامه </translation>
- </message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;معاملات</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>تا تاریخ</translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>ویرایش لیست آدرسها و بر چسب های ذخیره ای</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>در یافت سکه</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>زمایش شبکه</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>نمایش لیست آدرس ها برای در یافت پر داخت ها</translation>
+ </message>
+ <message>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>رسال سکه ها</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
+ <location line="+35"/>
<source>E&amp;xit</source>
<translation>خروج</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>نمایش اطلاعات در مورد بیتکویین</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>خروج از برنامه </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>فایل</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>نمایش اطلاعات در مورد بیتکویین</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>عبارت عبور رمز گشایی پنجره تغییر کنید</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>درباره &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>نوار ابزار زبانه ها</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>نمایش اطلاعات درباره Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>نوار ابزار عملیت</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>تنظیمات...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>نمایش/ عدم نمایش BITCOIN</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>رمزگذاری wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>صفحه Bitcoin را نمایش دهید/ندهید</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>پشتیبان گیری از wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>امضای &amp;پیام</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>تغییر Passphrase</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>پنجره بیتکویین</translation>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>%n بلاکِ باقیمانده
+%n بلاکِ باقیمانده</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>نمایش لیست آدرس ها برای در یافت پر داخت ها</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>دانلود %1 از %2 بلاکهای تاریخچه تراکنش (%3% انجام شد)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>ارسال سکه به آدرس بیتکویین </translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;;صادرات</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;حدود%1</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>سکه ها را به آدرس bitocin ارسال کن</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>صلاح تنظیمات برای بیتکویین</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>انتخابهای پیکربندی را برای bitcoin اصلاح کن</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;رمز بندی پنجره</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>%n بعد از چند دقیقه </numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>%n بعد از چند دقیقه </numerusform>
- </translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>داده ها نوارِ جاری را به فایل انتقال دهید</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>رمز بندی یا رمز گشایی پنجره</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
- <translation>تاریخ %1
-مبلغ%2
-نوع %3
-آدرس %4</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>نسخه پیشتیبان wallet را به محل دیگر انتقال دهید</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>دانلود %1 از %2 بلاکهای تاریخچه تراکنش (%3% انجام شد)</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>عبارت عبور رمز گشایی پنجره تغییر کنید</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>اثبات کنید که روی یک نشانی کنترل دارید</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>اشکال زدایی از صفحه</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>کمک</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>کنسول اشکال زدایی و تشخیص را باز کنید</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation>خطا روی داده است. Bitcoin نمی تواند بدون مشکل ادامه دهد و باید بسته شود</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>%n بعد از چند دقیقه</numerusform>
- </translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>بازبینی پیام</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>درباره &amp;Qt</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>یت کویین </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>نمایش اطلاعات درباره Qt</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>داده ها نوارِ جاری را به فایل انتقال دهید</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>در مورد bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>نسخه پیشتیبان wallet را به محل دیگر انتقال دهید</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;نمایش/ عدم نمایش</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">پشتیبان گیری از wallet</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>فایل</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>تغییر عبارت عبور</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>تنظیمات</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>تنظیمات...</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>کمک</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>رمز بندی یا رمز گشایی پنجره</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>نوار ابزار زبانه ها</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>تنظیمات</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>نوار ابزار عملیت</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
<translation>آزمایش شبکه</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation>مشتری Bitcoin</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>بیتکویین</translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>در صد ارتباطات فعال بیتکویین با شبکه %n</numerusform>
</translation>
</message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>دانلود بلوکهای معملات %1</translation>
+ </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
<translation>
- <numerusform>%n بلاکِ باقیمانده
-%n بلاکِ باقیمانده</numerusform>
+ <numerusform>%n بعد از چند دقیقه</numerusform>
</translation>
</message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n بعد از چند دقیقه </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>%n بعد از چند دقیقه </numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n بعد از چند روزز </numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>تا تاریخ</translation>
+ </message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>ابتلا به بالا</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>خرین بلوک در یافت شده تولید شده بود %1 </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>این معامله از اندازه محدوده بیشتر است. شما می توانید آد را با دستمزد 1% بفرستید که شامل گره معامله شما می باشد و به شبکه های اینترنتی کمک خواهد کردو آیا شما می خواهید این پول پر داخت%1</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>هزینه تراکنش را تایید کنید</translation>
+ </message>
+ <message>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>معامله ارسال شده</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>معامله در یافت شده</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>نسخه پیشتیبان از wallet </translation>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>تاریخ %1
+مبلغ%2
+نوع %3
+آدرس %4</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>مدیریت URI</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI قابل تحلیل نیست. این خطا ممکن است به دلیل ادرس BITCOIN اشتباه یا پارامترهای اشتباه URI رخ داده باشد</translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>زمایش شبکهه</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>زمایش شبکه</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>نسخه پیشتیبان از wallet </translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>داده wallet (*.DAT)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation>عملیات پیشتیبان گیری انجام نشد</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation>در زمان انتقال داده wallet به محل جدید خطا روی داد</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>ارسال...</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>خطا روی داده است. Bitcoin نمی تواند بدون مشکل ادامه دهد و باید بسته شود</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;;واحد نمایش مبلغ</translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>زیر بخش پیش فرض در واسط انتخاب کنید و سکه ها ارسال کنید</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>نمایش آدرسها در فهرست تراکنش</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">تا آدرسهای bITCOIN در فهرست تراکنش نمایش داده شوند یا نشوند.</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>پیام شبکه</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>آدرس</translation>
- </message>
- <message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>اصلاح آدرس</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>بر چسب</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>بر چسب با دفتر آدرس ورود مرتبط است</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>آدرس</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>آدرس با دفتر آدرس ورودی مرتبط است. این فقط در مورد آدرسهای ارسال شده است</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>آدرس در یافت نو</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>آدرس ارسال نو</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>اصلاح آدرس در یافت</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
- <source>New key generation failed.</source>
- <translation>کلید نسل جدید ناموفق است</translation>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>اصلاح آدرس ارسال</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>%1آدرس وارد شده دیگر در دفتر آدرس است</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>آدرس وارد شده %1 یک ادرس صحیح bitcoin نیست</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>رمز گشایی پنجره امکان پذیر نیست</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
- <source>The entered address &quot;%1&quot; is already in the address book.</source>
- <translation>%1آدرس وارد شده دیگر در دفتر آدرس است</translation>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation>کلید نسل جدید ناموفق است</translation>
+ </message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
+ <message>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>اصلاح آدرس ارسال</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>نسخه</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>ستفاده :</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>انتخابها برای خطوط دستور command line</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>انتخابهای UI </translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>زبان را تنظیم کنید برای مثال &quot;de_DE&quot; (پیش فرض: system locale)</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>آدرس وارد شده آدرس معتبر بیتکویید نیست %1 </translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>شروع حد اقل</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>نمایش صفحه splash در STARTUP (پیش فرض:1)</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>شروع بیتکویین از پنجره سیستم استارت</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>اصلی</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>شروع بیتکویین اتوماتین بعد از روشن کامپیوتر</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>اصلی</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>حد اقل رساندن در جای نوار ابزار ها</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>نرخ اختیاری تراکنش هر کیلوبایت که به شما کمک می‌کند اطمینان پیدا کنید که تراکنش‌ها به سرعت پردازش می‌شوند. بیشتر تراکنش‌ها ۱ کیلوبایت هستند. نرخ 0.01 پیشنهاد می‌شود.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>نمایش فقط نماد سینی بعد از حد اقل رساندن پنجره</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>دستمزد&amp;پر داخت معامله</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>درگاه با استفاده از</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>در زمان ورود به سیستم به صورت خودکار bitcoin را اجرا کن</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>اتوماتیک باز کردن بندر بیتکویین در روتر . این فقط در مواردی می باشد که روتر با کمک یو پ ن پ کار می کند</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>اجرای bitcoin در زمان ورود به سیستم</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>حد اقل رساندن در نزدیک</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>بلاک و آدرس بانکهای داده را در زمان خاموشی جدا کن.این بدان معنی است که آنها می توانند به دایرکتوری داده دیگری منتقل شوند اما این باعث کندی روند خاموشی در سیستم خواهد شد. wallet همیشه تفکیک شده است.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>حد اقل رساندن در جای خروج بر نامه وقتیکه پنجره بسته است.وقتیکه این فعال است برنامه خاموش می شود بعد از انتخاب دستور خاموش در منیو</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>تفکیک بانک داده در زمان خاموشی</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>ارتباط با توسط</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>شبکه</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation type="unfinished">وسل به شبکه بیتکویین با توسط</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>اتوماتیک باز کردن بندر بیتکویین در روتر . این فقط در مواردی می باشد که روتر با کمک یو پ ن پ کار می کند</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>درس پروکسی</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>درگاه با استفاده از</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>اتصال به شبکه BITCOIN از طریق پراکسی ساکس (برای مثال وقتی از طریق نرم افزار TOR متصل می شوید)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>اتصال با پراکسی SOCKS</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>پراکسی و آی.پی.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
+ <location line="+19"/>
<source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation>درس پروکسی</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>پورت پروکسی</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>درگاه</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>ورت پروکسی</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>درگاه پراکسی (مثال 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>دستمزد&amp;پر داخت معامله</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS و نسخه</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>تفکیک بانک داده در زمان خاموشی</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>نسخه SOCKS از پراکسی (مثال 5)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>بلاک و آدرس بانکهای داده را در زمان خاموشی جدا کن.این بدان معنی است که آنها می توانند به دایرکتوری داده دیگری منتقل شوند اما این باعث کندی روند خاموشی در سیستم خواهد شد. wallet همیشه تفکیک شده است.</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>صفحه</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>نرخ اختیاری تراکنش هر کیلوبایت که به شما کمک می‌کند اطمینان پیدا کنید که تراکنش‌ها به سرعت پردازش می‌شوند. بیشتر تراکنش‌ها ۱ کیلوبایت هستند. نرخ 0.01 پیشنهاد می‌شود.</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>tray icon را تنها بعد از کوچک کردن صفحه نمایش بده</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>پیام</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>حد اقل رساندن در جای نوار ابزار ها</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>شما می توانید پیامها را با آدرس خودتان امضا نمایید تا ثابت شود متعلق به شما هستند. مواظب باشید تا چیزی که بدان مطمئن نیستنید را امضا نکنید زیرا حملات فیشینگ در زمان ورود شما به سیستم فریبنده هستند. تنها مواردی را که حاوی اطلاعات دقیق و قابل قبول برای شما هستند را امضا کنید</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>حد اقل رساندن در جای خروج بر نامه وقتیکه پنجره بسته است.وقتیکه این فعال است برنامه خاموش می شود بعد از انتخاب دستور خاموش در منیو</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">آدرس برای امضا کردن پیام با (برای مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>کوچک کردن صفحه در زمان بستن</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>آدرس از دفتر انتخاب کنید </translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>نمایش</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>میانجی کاربر و زبان</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>آدرس از تخته رسم گیره دار پست کنید </translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>زبان میانجی کاربر می تواند در اینجا تنظیم شود. این تنظیمات بعد از شروع دوباره RESTART در BITCOIN اجرایی خواهند بود.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>واحد برای نمایش میزان وجوه در:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>پیامی را که می‌خواهید امضا کنید در اینجا وارد کنید</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>بخش فرعی پیش فرض را برای نمایش میانجی و زمان ارسال سکه ها مشخص و انتخاب نمایید</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>روی «امضای پیام» کلیک کنید تا امضا را دریافت نمایید</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>تا آدرسهای bITCOIN در فهرست تراکنش نمایش داده شوند یا نشوند.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>یک پیام را امضا کنید تا ثابت کنید صاحب این نشانی هستید</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>نمایش آدرسها در فهرست تراکنش</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;امضای پیام</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>تایید</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>این امضا را در system clipboard کپی کن</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>رد</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>کپی در تخته رسم گیره دار</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>انجام</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>خطا در امضا</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>پیش فرض</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 یک نشانی معتبر نیست.</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>هشدار</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>کلید خصوصی برای %1 در دسترس نیست.</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>این تنظیمات پس از اجرای دوباره Bitcoin اعمال می شوند</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>امضا موفق نبود</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>آدرس پراکسی داده شده صحیح نیست</translation>
</message>
</context>
<context>
- <name>OptionsDialog</name>
+ <name>OverviewPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>صلی</translation>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>تراز</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>دیسپلی</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>اطلاعات نمایش داده شده روزآمد نیستند.wallet شما به صورت خودکار با شبکه bitcoin بعد از برقراری اتصال روزآمد می شود اما این فرایند هنوز کامل نشده است.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>اصلی</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>راز:</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>تعداد معامله</translation>
+ </message>
+ <message>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>تایید نشده</translation>
</message>
-</context>
-<context>
- <name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation>wallet</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>تراز</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>نابالغ</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>راز:</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>بالانس/تتمه حساب استخراج شده، نابالغ است /تکمیل نشده است</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>اخرین معاملات&amp;lt</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>تزار جاری شما</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>تایید نشده</translation>
- </message>
- <message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>تعداد معاملات که تایید شده ولی هنوز در تزار جاری شما بر شمار نرفته است</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>تعداد معامله</translation>
- </message>
- <message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>تعداد معاملات در صندوق</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>اخرین معاملات&amp;lt</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>روزآمد نشده</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>دیالوگ QR CODE</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>درخواست پرداخت</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>مقدار:</translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>برچسب:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>پیام</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;ذخیره به عنوان...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation>خطا در زمان رمزدار کردن URI در کد QR</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished"></translation>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>میزان وجه وارد شده صحیح نیست، لطفا بررسی نمایید</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>URI ذکر شده بسیار طولانی است، متن برچسب/پیام را کوتاه کنید</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>ذخیره کد QR</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>تصاویر با فرمت PNG (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>URI ذکر شده بسیار طولانی است، متن برچسب/پیام را کوتاه کنید</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>نام مشتری</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>درخواست پرداخت</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>-</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>مقدار:</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>نسخه مشتری</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>برچسب:</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>اطلاعات</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>استفاده از نسخه OPENSSL</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>تگفتگو</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>زمان آغاز STARTUP</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>کد QR</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>شبکه</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>پیام</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>تعداد اتصالات</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;ذخیره به عنوان...</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>در testnetکها</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>زنجیره بلاک</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>تعداد کنونی بلاکها</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>تعداد تخمینی بلاکها</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>زمان آخرین بلاک</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>باز کردن</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>گزینه های command-line</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>پیام راهنمای Bitcoin-Qt را برای گرفتن فهرست گزینه های command-line نشان بده</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>نمایش</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>کنسول</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>ساخت تاریخ</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>صفحه اشکال زدایی Bitcoin </translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation> هسته Bitcoin </translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>فایلِ لاگِ اشکال زدایی</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>فایلِ لاگِ اشکال زدایی Bitcoin را از دایرکتوری جاری داده ها باز کنید. این عملیات ممکن است برای فایلهای لاگِ حجیم طولانی شود.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>پاکسازی کنسول</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>به کنسول Bitcoin RPC خوش آمدید</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>دکمه های بالا و پایین برای مرور تاریخچه و Ctrl-L برای پاکسازی صفحه</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>با تایپ عبارت HELP دستورهای در دسترس را مرور خواهید کرد</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>ارسال سکه ها</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>ارسال چندین در یافت ها فورا</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;;در یافت کننده اضافه کنید ...</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>اضافه کردن دریافت کننده</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>پاک کردن تمام ستون‌های تراکنش</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>&gt;همه چیز پاک کنید</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>پاکسازی همه</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation>تزار :</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 بتس</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>عملیت دوم تایید کنید</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;;ارسال</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>(%3) تا &lt;b&gt;%1&lt;/b&gt; درصد%2</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>ارسال سکه ها تایید کنید</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation> %1شما متماینید که می خواهید 1% ارسال کنید ؟</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation>و</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>آدرس گیرنده نادرست است، لطفا دوباره بررسی کنید.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>مبلغ پر داخت باید از 0 بیشتر باشد </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>میزان وجه از بالانس/تتمه حساب شما بیشتر است</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>کل میزان وجه از بالانس/تتمه حساب شما بیشتر می شود وقتی %1 هزینه تراکنش نیز به ین میزان افزوده می شود</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>آدرس تکراری یافت شده است، در زمان انجام عملیات به هر آدرس تنها یکبار می توانید اطلاعات ارسال کنید</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>خطا: ایجاد تراکنش انجام نشد</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>خطا: تراکنش تایید نشد. این پیام زمانی روی می دهد که مقداری از سکه های WALLET شما استفاده شده اند برای مثال اگر شما از WALLET.DAT استفاده کرده اید، ممکن است سکه ها استفاده شده باشند اما در اینجا نمایش داده نشوند</translation>
</message>
@@ -1156,217 +1353,439 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>تراز</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>A&amp;مبلغ :</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>به&amp;پر داخت :</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>برای آدرس بر پسب وارد کنید که در دفتر آدرس اضافه شود</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;بر چسب </translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>آدرس برای ارسال پر داخت (bijvoorbeeld: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>اآدرسن ازدفتر آدرس انتخاب کنید</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>آدرس از تخته رسم گیره دار پست کنید </translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>بر داشتن این در یافت کننده</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>آدرس بیتکویین وارد کنید (bijvoorbeeld: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>تراز</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>امضا - امضا کردن /شناسایی یک پیام</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>A&amp;مبلغ :</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;امضای پیام</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>به&amp;پر داخت :</translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>شما می توانید پیامها را با آدرس خودتان امضا نمایید تا ثابت شود متعلق به شما هستند. مواظب باشید تا چیزی که بدان مطمئن نیستنید را امضا نکنید زیرا حملات فیشینگ در زمان ورود شما به سیستم فریبنده هستند. تنها مواردی را که حاوی اطلاعات دقیق و قابل قبول برای شما هستند را امضا کنید</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>آدرس برای امضا کردن پیام با (برای مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>یک آدرس را از فهرست آدرسها انتخاب کنید</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>آدرس از تخته رسم گیره دار پست کنید </translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>پیامی را که می‌خواهید امضا کنید در اینجا وارد کنید</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>این امضا را در system clipboard کپی کن</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>پیام را برای اثبات آدرس BITCOIN خود امضا کنید</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>تنظیم دوباره تمامی فیلدهای پیام</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>پاکسازی همه</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>تایید پیام</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>آدرس/پیام خود را وارد کنید (مطمئن شوید که فاصله بین خطوط، فاصله ها، تب ها و ... را دقیقا کپی می کنید) و سپس امضا کنید تا پیام تایید شود. مراقب باشید که پیام را بیشتر از مطالب درون امضا مطالعه نمایید تا فریب شخص سوم/دزدان اینترنتی را نخورید.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>آدرس برای امضا کردن پیام با (برای مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>پیام را برای اطمنان از ورود به سیستم با آدرس BITCOIN مشخص خود،تایید کنید</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>تنظیم دوباره تمامی فیلدهای پیام تایید شده</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>آدرس بیتکویین وارد کنید (bijvoorbeeld: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>با کلیک بر &quot;امضای پیام&quot; شما یک امضای جدید درست می کنید</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>امضای BITOCOIN خود را وارد کنید</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>آدرس وارد شده صحیح نیست</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>اطفا آدرس را بررسی کرده و دوباره امتحان کنید</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>آدرس وارد شده با کلید وارد شده مرتبط نیست</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>قفل کردن wallet انجام نشد</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>کلید شخصی برای آدرس وارد شده در دسترس نیست</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>پیام امضا کردن انجام نشد</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>پیام امضا شد</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>امضا نمی تواند رمزگشایی شود</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>لطفا امضا را بررسی و دوباره تلاش نمایید</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>امضا با تحلیلِ پیام مطابقت ندارد</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>عملیات شناسایی پیام انجام نشد</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>پیام شناسایی شد</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>باز کردن تا%1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>برای n% بلاک باز کن
+برای %n بلاک باز کن</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1 آفلاین</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1 تایید نشده </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>ایید %1 </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>باز کردن 1% بلوک 1%1 </translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>وضعیت</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>انتشار از طریق n% گره
+انتشار از طریق %n گره</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>باز کردن تا%1</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>تاریخ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1 انلاین نیست </translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>منبع</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&amp;lt;b&amp;gt;وضعیت :&amp;lt;/b&amp;gt;</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>تولید شده</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>هنوز با مو فقیت ارسال نشده</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>فرستنده</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>ارسال توسط گره %1</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>گیرنده</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&amp;lt;b&amp;gt;به :&amp;lt;/b&amp;gt;</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>آدرس شما</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation>مال شما) (</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>برچسب</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>بدهی </translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>بلوغ در n% از بیشتر بلاکها
+بلوغ در %n از بیشتر بلاکها</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&amp;lt;b&amp;gt;پر داخت معامله :&amp;lt;/b&amp;gt;</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>غیرقابل قبول</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&amp;lt;b&amp;gt;مبلغ خالص :&amp;lt;/b&amp;gt;</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>اعتبار</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>پیام</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>هزینه تراکنش</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>مورد نظر</translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>هزینه خالص</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>شماره تراکنش:</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>پیام</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation> برای ارسال واحد های تولید شده باید 120 بلوک باشند. هنگامی که بلون ایجاد می شود به شبکه ارسال می شود تا در زنجیر بلوکها اضافه شود. و گر نه بلوک به غیر قابول و غیر ارسال عوض می شود. این اتفاقی می افتد وقتی که همزمان گره دیگر در بلوک ایجاد می شود.</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>نظر</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>رسال توسط گره های %1</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>شناسه کاربری برای تراکنش</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&amp;lt;b&amp;gt;تاریخ :&amp;lt;/b&amp;gt</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>سکه های ایجاد شده باید 120 بلاک را قبل از استفاده بالغ کنند. در هنگام ایجاد بلاک، آن بلاک در شبکه منتشر می شود تا به زنجیره بلاکها بپیوندد. اگر در زنجیره قرار نگیرد، پیام وضعیت به غیرقابل قبول تغییر می بپیابد و قابل استفاده نیست. این مورد معمولا زمانی پیش می آید که گره دیگری به طور همزمان بلاکی را با فاصل چند ثانیه ای از شما ایجاد کند.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&amp;lt;b&amp;gt;منبع :&amp;lt;/b&amp;gt; Generated&amp;lt;br&amp;gt</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>اشکال زدایی طلاعات</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&amp;lt;b&amp;gt;از:&amp;lt;/b&amp;gt;</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>تراکنش</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>مشخص نیست </translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>درونداد</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&amp;lt;b&amp;gt;اعتبار :&amp;lt;/b&amp;gt;</translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>مبلغ</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 )بالغ در بلوک 2% و بیشتر%2</translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>صحیح</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>قابل قبول نیست ( )</translation>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>نادرست</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&amp;lt;b&amp;gt;مقدار خالص:&amp;lt;/b&amp;gt;</translation>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>هنوز با مو فقیت ارسال نشده</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation>مال شما ، بر چسب( </translation>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>مشخص نیست </translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>جزییات معاملات</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>در این قاب شیشه توصیف دقیق معامله نشان می شود</translation>
</message>
@@ -1374,121 +1793,122 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>ارسال به :</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>تاریخ</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>نوع</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>ایل جدا </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>این بلوک از دیگر گره ها در یافت نشده بدین دلیل شاید قابل قابول نیست</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
- <source>Generated but not accepted</source>
- <translation>تولید شده ولی قبول نشده</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>دریافتی از</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>پر داخت به خودتان</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>مبلغ</translation>
</message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>بلوک %n باز شده برای</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>از شده تا 1%1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>افلایین (%1)</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
- <source>Open for %n block(s)</source>
- <translation>
- <numerusform>بلوک %n باز شده برای</numerusform>
- </translation>
- </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>تایید نشده (%1/%2)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>تایید شده (%1)</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation>
- <numerusform></numerusform>
+ <numerusform>بالانس/تتمه حساب استخراج شده زمانی که %n از بیشتر بلاکها بالغ شدند در دسترس خواهد بود
+بالانس/تتمه حساب استخراج شده زمانی که n% از بیشتر بلاکها بالغ شدند در دسترس خواهد بود</numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>این بلوک از دیگر گره ها در یافت نشده بدین دلیل شاید قابل قابول نیست</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>تولید شده ولی قبول نشده</translation>
+ </message>
+ <message>
+ <location line="+43"/>
<source>Received with</source>
<translation>در یافت با :</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>دریافتی از</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>ارسال به :</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>پر داخت به خودتان</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Mined</source>
<translation>استخراج</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(کاربرد ندارد)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>وضعیت معالمه . عرصه که تعداد تایید نشان می دهد</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>تاریخ و ساعت در یافت معامله</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>نوع معاملات</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>آدرس مقصود معاملات </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>مبلغ از تزار شما خارج یا وارد شده</translation>
</message>
@@ -1496,171 +1916,171 @@ Address: %4
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>صادرات تاریخ معامله</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Comma فایل جدا </translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>تاریخ </translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>ر چسب</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>به</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>همه</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>روگرفت مقدار</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>امروز</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation>این هفته</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation>این ماه</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>ماه گذشته</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>امسال</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>محدوده </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>در یافت با</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation>ارسال به</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation>به خودتان </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>استخراج</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation>یگر </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>برای جست‌‌وجو نشانی یا برچسب را وارد کنید</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>حد اقل مبلغ </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>امروز</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>همه</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>کپی آدرس </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>کپی بر چسب</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>روگرفت مقدار</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Edit label</source>
<translation>اصلاح بر چسب</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>جزییت نشان بده</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>جزئیات تراکنش را نمایش بده</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>صادرات تاریخ معامله</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Comma فایل جدا </translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>تایید شده</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>تاریخ </translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Type</source>
<translation>نوع </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>ر چسب</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>ایل جدا </translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Amount</source>
<translation>مبلغ</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation>آی دی</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>خطای صادرت</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>تا فایل %1 نمی شود نوشت</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation>&gt;محدوده</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>ایل جدا </translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>به</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>ارسال...</translation>
</message>
@@ -1668,487 +2088,620 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>زمانی که بهترین بلاک تغییر کرد، دستور را اجرا کن (%s در cmd با block hash جایگزین شده است)</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>سخه بیتکویین</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>استفاده شبکه آزمایش</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>ستفاده :</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>بار گیری آدرس ها</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>ارسال فرمان به سرور یا باتکویین</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>خطا در بارگیری blkindex.dat</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>لیست فومان ها</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>خطا در بارگیری wallet.dat: کیف پول به ویرایش جدیدتری از Biticon نیاز دارد</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>کمک برای فرمان </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>امکان تنزل نسخه در wallet وجود ندارد</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>تنظیمات</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>آدرس پیش فرض قابل ذخیره نیست</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>(: bitcoin.confپیش فرض: )فایل تنظیمی خاص </translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>(bitcoind.pidپیش فرض : ) فایل پید خاص</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>سکه های تولید شده</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>تولید سکه ها</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>دایرکتور اطلاعاتی خاص</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation>سایز کَش بانک داده را بر حسب مگابایت تنظیم کنید (پیش فرض:25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>JSON-RPC شناسه برای ارتباطات</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>سایز دیسک لاگِ بانک داده را بر حسب مگابایت تنظیم کنید (پیش فرض:100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>JSON-RPC عبارت عبور برای ارتباطات</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>برای اتصالات به &lt;port&gt; (پیش‌فرض: 8333 یا تست‌نت: 18333) گوش کنید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>(127.0.0.1پیش فرض: ) &amp;lt;ip&amp;gt; دادن فرمانها برای استفاده گره ها روی</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>حداکثر &lt;n&gt; اتصال با همکاران برقرار داشته باشید (پیش‌فرض: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s، شما باید یک rpcpassword را در فایل پیکربندی تنظیم کنید :⏎%s⏎ توصیه می شود از رمزهای تصادفی زیر استفاده کنید⏎ rpcuser=bitcoinrpc⏎ rpcpassword=%s⏎ (لازم نیست این رمز را به خاطر بسپارید) ⏎ اگر فایل ایجاد نشد، یک فایل فقط متنی ایجاد کنید
-</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>اتصال به گره برای دریافت آدرسهای قرینه و قطع اتصال</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>تولید سکه ها</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>آدرس عمومی خود را ذکر کنید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>%s، شما باید یک rpcpassword را در فایل پیکربندی تنظیم کنید :⏎%s⏎ اگر فایل ایجاد نشد، یک فایل فقط متنی ایجاد کنید.
-</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>تعهد به آدرس ذکر شده. از Use [host]:port notation برای IPv6 استفاده کنید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>بود جه نا کافی </translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>آستانه برای قطع ارتباط با همکاران بدرفتار (پیش‌فرض: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>برای استفاده از %s از انتخابات</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>مدت زمان به ثانیه برای جلوگیری از همکاران بدرفتار برای اتصال دوباره (پیش‌فرض: 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>در زمان تنظیم درگاه RPX %u در فهرست کردن %s اشکالی رخ داده است</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation> تفکیک بلاک و آدرس بانک داده ها. افزایش زمان خاموشی (پیش فرض:0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>خطا: تراکنش تایید نشد. این پیام زمانی روی می دهد که مقداری از سکه های WALLET شما استفاده شده اند برای مثال اگر شما از WALLET.DAT استفاده کرده اید، ممکن است سکه ها استفاده شده باشند اما در اینجا نمایش داده نشوند</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>خطا: این تراکنش نیازمند هزینه تراکنش به مبلغ حداقل %s است به علت میزان وجه، دشواری، یا استفاده از وجوه دریافتی اخیر</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>( 8332پیش فرض :) &amp;lt;poort&amp;gt; JSON-RPC شنوایی برای ارتباطات</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Accept command line and JSON-RPC commands</source>
<translation>JSON-RPC قابل فرمانها و</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>به اتصال یک گره اضافه کنید و اتصال را باز نگاه دارید</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>( 8332پیش فرض :) &amp;lt;poort&amp;gt; JSON-RPC شنوایی برای ارتباطات</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>خطا: ایجاد تراکنش انجام نشد</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>اطلاعات ردگیری/اشکال‌زدایی را به جای فایل لاگ اشکال‌زدایی به کنسول بفرستید</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>خطا: Wallet قفل شده است. ایجاد تراکنش امکان پذیر نیست</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>یافتنت قرینه با استفاده از internet relay chat (پیش فرض:0)</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>ارسال فرمان به سرور یا باتکویین</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>پر داجت برای هر کیلو بیت برای اضافه به معامله ارسال</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>اجرای در پس زمینه به عنوان شبح و قبول فرمان ها</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>(: bitcoin.confپیش فرض: )فایل تنظیمی خاص </translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>استفاده شبکه آزمایش</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation> (100پیش فرض:)&amp;lt;n&amp;gt; گذاشتن اندازه کلید روی </translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>پذیرش اتصالات از بیرون (پیش فرض:1 بدون پراکسی یا اتصال)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>اسکان مجدد</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>حجم حداکثر تراکنشهای با/کم اهمیت را به بایت تنظیم کنید (پیش فرض:27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>بار گیری شاخص بلوک</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>هشدار:paytxfee بسیار بالا تعریف شده است! این هزینه تراکنش است که باید در زمان ارسال تراکنش بپردازید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>یت کویین </translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>هشدار: تراکنش نمایش داده شده ممکن است صحیح نباشد! شما/یا یکی از گره ها به روزآمد سازی نیاز دارید </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>چند بلاک برای بررسی در زمان startup (پیش فرض:2500 , 0=همه)</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>هشدار: لطفا زمان و تاریخ رایانه خود را تصحیح نمایید! اگر ساعت رایانه شما اشتباه باشد bitcoin ممکن است صحیح کار نکند</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>JSON-RPCبرای ارتباطات استفاده کنید OpenSSL (https)</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>بستن گزینه ایجاد</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>wallet را به جدیدترین فرمت روزآمد کنید</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>تنها در گره (های) مشخص شده متصل شوید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>(server.pemپیش فرض: ) کلید خصوصی سرور</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>آدرس آی.پی. خود را شناسایی کنید (پیش فرض:1 در زمان when listening وno -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>پیام کمکی</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>شنیدن هر گونه درگاه انجام پذیر نیست. ازlisten=0 برای اینکار استفاده کیند.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>بار گیری والت</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>قرینه ها را برای جستجوی DNS بیاب (پیش فرض: 1 مگر در زمان اتصال)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>اجرای در پس زمینه به عنوان شبح و قبول فرمان ها</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>آدرس نرم افزار تور غلط است %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>اطلاعات ردگیری/اشکال‌زدایی را به اشکال‌زدا بفرستید</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>حداکثر بافر دریافت شده بر اساس اتصال &lt;n&gt;* 1000 بایت (پیش فرض:5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>ارسال...</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>حداکثر بافر دریافت شده بر اساس اتصال &lt;n&gt;* 1000 بایت (پیش فرض:1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>میزان وجه اشتباه</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>تنها =به گره ها در شبکه متصا شوید &lt;net&gt; (IPv4, IPv6 or Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>رمز های قابل قبول( TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>برونداد اطلاعات اشکال زدایی اضافی. گزینه های اشکال زدایی دیگر رفع شدند</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>رمز گشایی دایرکتور داده ها امکان پذیر نیست. شاید بیت کویین در حال فعال می باشد%s</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>برونداد اطلاعات اشکال زدایی اضافی برای شبکه</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>خطا</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>به خروجی اشکال‌زدایی برچسب زمان بزنید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>مدت زمان به ثانیه برای جلوگیری از همکاران بدرفتار برای اتصال دوباره (پیش‌فرض: 86400)</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>گزینه ssl (به ویکیbitcoin برای راهنمای راه اندازی ssl مراجعه شود)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>لیست فومان ها</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>نسخه ای از پراکسی ساکس را برای استفاده انتخاب کنید (4-5 پیش فرض:5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>تنظیمات</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>اطلاعات ردگیری/اشکال‌زدایی را به جای فایل لاگ اشکال‌زدایی به کنسول بفرستید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>سکه های تولید شده</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>اطلاعات ردگیری/اشکال‌زدایی را به اشکال‌زدا بفرستید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>دایرکتور اطلاعاتی خاص</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>حداکثر سایز بلاک بر اساس بایت تنظیم شود (پیش فرض: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>سایز دیسک لاگِ بانک داده را بر حسب مگابایت تنظیم کنید (پیش فرض:100)</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>حداقل سایز بلاک بر اساس بایت تنظیم شود (پیش فرض: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>فایل debug.log را در startup مشتری کوچک کن (پیش فرض:1 اگر اشکال زدایی روی نداد)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
<translation>(میلی ثانیه )فاصله ارتباط خاص</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>از آدرس آی پی خاص JSON-RPC قبول ارتباطات</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>از UPnP برای شناسایی درگاه شنیداری استفاده کنید (پیش فرض:0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>سخه بیتکویین</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>از UPnP برای شناسایی درگاه شنیداری استفاده کنید (پیش فرض:1 در زمان شنیدن)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>امکان مقداردهی اولیه برای key pool وجود ندارد</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>برای دستیابی به سرویس مخفیانه نرم افزار تور از پراکسی استفاده کنید (پیش فرض:same as -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation> تفکیک بلاک و آدرس بانک داده ها. افزایش زمان خاموشی (پیش فرض:0)</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>JSON-RPC شناسه برای ارتباطات</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>بار گیری انجام شده است</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>خطا در بارگیری wallet.dat</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>هشدار: فضای دیسک محدود است!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>خطا در بارگیری wallet.dat: کیف پول خراب شده است</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>هشدار: این نسخه قدیمی است، روزآمدسازی مورد نیاز است</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>کمک برای فرمان </translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>برای اتصالات به &lt;port&gt; (پیش‌فرض: 8333 یا تست‌نت: 18333) گوش کنید</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>JSON-RPC عبارت عبور برای ارتباطات</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>حداکثر &lt;n&gt; اتصال با همکاران برقرار داشته باشید (پیش‌فرض: 125)</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>از آدرس آی پی خاص JSON-RPC قبول ارتباطات</translation>
+ </message>
+ <message>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>(127.0.0.1پیش فرض: ) &amp;lt;ip&amp;gt; دادن فرمانها برای استفاده گره ها روی</translation>
+ </message>
+ <message>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>زمانی که بهترین بلاک تغییر کرد، دستور را اجرا کن (%s در cmd با block hash جایگزین شده است)</translation>
+ </message>
+ <message>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>wallet را به جدیدترین فرمت روزآمد کنید</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation> (100پیش فرض:)&amp;lt;n&amp;gt; گذاشتن اندازه کلید روی </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation>اسکان مجدد زنجیر بلوکها برای گم والت معامله</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>چند بلاک برای بررسی در زمان startup (پیش فرض:2500 , 0=همه)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>چقد کامل بلوک تصدیق است (0-6, پیش فرض:1)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>صدور بلاکها از فایل خارجی blk000?.dat </translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>JSON-RPCبرای ارتباطات استفاده کنید OpenSSL (https)</translation>
+ </message>
+ <message>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation> (server.certپیش فرض: )گواهی نامه سرور</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>(bitcoind.pidپیش فرض : ) فایل پید خاص</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>(server.pemپیش فرض: ) کلید خصوصی سرور</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>آستانه برای قطع ارتباط با همکاران بدرفتار (پیش‌فرض: 100)</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>رمز های قابل قبول( TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>ستفاده :</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>پیام کمکی</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>سلام</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>رمز گشایی دایرکتور داده ها امکان پذیر نیست. شاید بیت کویین در حال فعال می باشد%s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>به خروجی اشکال‌زدایی برچسب زمان بزنید</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>یت کویین </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation type="unfinished">هشدار: فضای دیسک محدود است!</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>امکان اتصال به %s از این رایانه وجود ندارد ( bind returned error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished">ستفاده </translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>اتصال از طریق پراکسی ساکس</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>شروع حد اقل</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>به DNS اجازه بده تا برای addnode ، seednode و اتصال جستجو کند</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>بار گیری آدرس ها</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>خطا در بارگیری blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">خطا: ایجاد تراکنش انجام نشد</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>خطا در بارگیری wallet.dat: کیف پول خراب شده است</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">خطا: تراکنش تایید نشد. این پیام زمانی روی می دهد که مقداری از سکه های WALLET شما استفاده شده اند برای مثال اگر شما از WALLET.DAT استفاده کرده اید، ممکن است سکه ها استفاده شده باشند اما در اینجا نمایش داده نشوند</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>خطا در بارگیری wallet.dat: کیف پول به ویرایش جدیدتری از Biticon نیاز دارد</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>در زمان تنظیم درگاه RPX %u در فهرست کردن %s اشکالی رخ داده است</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>سلام</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>ارتباط فقط به گره خاص</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>خطا در بارگیری wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>حداکثر بافر دریافتی در هر اتصال، 1000*&lt;n&gt; (پیش‌فرض: 10000)</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>آدرس پراکسی اشتباه %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>حداکثر بافر ارسالی در هر اتصال، 1000*&lt;n&gt; (پیش‌فرض: 10000)</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>شبکه مشخص شده غیرقابل شناسایی در onlynet: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>اطلاعات اشکال‌زدایی اضافی خروجی</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>نسخه پراکسی ساکس غیرقابل شناسایی درخواست شده است: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>چقد کامل بلوک تصدیق است (0-6, پیش فرض:1)</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>آدرس قابل اتصال- شناسایی نیست %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-( نگاه کنید Bitcoin Wiki در SSLتنظیمات ):SSL گزینه های</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>آدرس خارجی قابل اتصال- شناسایی نیست %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>خطا در بارگیری addr.dat</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>میزان وجه اشتباه برای paytxfee=&lt;میزان وجه&gt;: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>آدرس پروکسی معتبر نیست </translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>خطا: امکان شروع گره وجود ندارد</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>paytxfee=&amp;lt;بالغ &amp;gt;مبلغ نا معتبر</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>ارسال...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>خطا : پر داخت خیلی بالا است. این پر داخت معامله است که شما هنگام ارسال معامله باید پر داخت کنید</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>میزان وجه اشتباه</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>وسل بندر به کامپیوتر امکان پذیر نیست. شاید بیتکویید در حال فعال است%d</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>بود جه نا کافی </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>هشدار: تاریخ و ساعت کامپیوتر شما چک کنید. اگر ساعت درست نیست بیتکویین مناسب نخواهد کار کرد</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>بار گیری شاخص بلوک</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>خطا :ایجاد موضوع(گره) اشتباه بود</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>به اتصال یک گره اضافه کنید و اتصال را باز نگاه دارید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">پذیرش اتصالات از بیرون (پیش فرض:1 بدون پراکسی یا اتصال)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>اتصال به %s از این رایانه امکان پذیر نیست. Bitcoin احتمالا در حال اجراست.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>زبان را تنظیم کنید برای مثال &quot;de_DE&quot; (پیش فرض: system locale)</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>یافتنت قرینه با استفاده از internet relay chat (پیش فرض:0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">از UPnP برای شناسایی درگاه شنیداری استفاده کنید (پیش فرض:1 در زمان شنیدن)</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>پر داجت برای هر کیلو بیت برای اضافه به معامله ارسال</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">از UPnP برای شناسایی درگاه شنیداری استفاده کنید (پیش فرض:0)</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>بار گیری والت</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>نمایش صفحه splash در STARTUP (پیش فرض:1)</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>امکان تنزل نسخه در wallet وجود ندارد</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>socks4 proxy ارتباط توسط</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>امکان مقداردهی اولیه برای key pool وجود ندارد</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>اجازه متغیر دی ان اس برای اضافه گره یا ارتباط</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>آدرس پیش فرض قابل ذخیره نیست</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation type="unfinished">قرینه ها را برای جستجوی DNS بیاب (پیش فرض: 1 مگر در زمان اتصال)</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>اسکان مجدد</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>بار گیری انجام شده است</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>برای استفاده از %s از انتخابات</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s، شما باید یک rpcpassword را در فایل پیکربندی تنظیم کنید :⏎%s⏎ توصیه می شود از رمزهای تصادفی زیر استفاده کنید⏎ rpcuser=bitcoinrpc⏎ rpcpassword=%s⏎ (لازم نیست این رمز را به خاطر بسپارید) ⏎ اگر فایل ایجاد نشد، یک فایل فقط متنی ایجاد کنید
+</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>خطا</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>%s، شما باید یک rpcpassword را در فایل پیکربندی تنظیم کنید :⏎%s⏎ اگر فایل ایجاد نشد، یک فایل فقط متنی ایجاد کنید.
+</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_fa_IR.ts b/src/qt/locale/bitcoin_fa_IR.ts
index cfc3418c37..350d22751d 100644
--- a/src/qt/locale/bitcoin_fa_IR.ts
+++ b/src/qt/locale/bitcoin_fa_IR.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>در مورد بیتکویین</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; version</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,102 +33,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>دفترچه آدرس</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>برای ویرایش آدرس/برچسب دوبار کلیک نمایید</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>یک آدرس جدید بسازید</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation type="unfinished">و آدرس جدید</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>آدرس انتخاب شده را در کلیپ بوردِ سیستم کپی کنید</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>و آدرس جدید</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>و کپی آدرس</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>نشان و کد QR</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished">امضا و پیام</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>آدرس انتخاب شده را از لیست حذف کنید. تنها آدرس ارسال شده می تواند حذف شود</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>و حذف</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>آدرس را کپی کنید</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>برچسب را کپی کنید</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>و حذف</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation type="unfinished">و ویرایش</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>کپی و برچسب</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>و حذف</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>و ویرایش</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>انتقال اطلاعات دفترچه آدرس</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>سی.اس.وی. (فایل جداگانه دستوری)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>صدور پیام خطا</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>قابل کپی در فایل نیست %1</translation>
</message>
@@ -132,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>برچسب</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>آدرس</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(برچسب ندارد)</translation>
</message>
@@ -150,294 +154,368 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>رمز/پَس فرِیز را وارد کنید</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>رمز/پَس فرِیز جدید را وارد کنید</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>رمز/پَس فرِیز را دوباره وارد کنید</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>رمز/پَس فرِیز جدید را در wallet وارد کنید. برای انتخاب رمز/پَس فرِیز از 10 کاراکتر تصادفی یا بیشتر و یا هشت کلمه یا بیشتر استفاده کنید. </translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>wallet را رمزگذاری کنید</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>برای انجام این عملکرد به رمز/پَس فرِیزِwallet نیاز است تا آن را از حالت قفل درآورد.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>باز کردن قفل wallet </translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>برای کشف رمز wallet، به رمز/پَس فرِیزِwallet نیاز است.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>کشف رمز wallet</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>تغییر رمز/پَس فرِیز</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>رمز/پَس فرِیزِ قدیم و جدید را در wallet وارد کنید</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>رمزگذاری wallet را تایید کنید</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>تایید رمزگذاری</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>Bitcoin برای اتمام فرایند رمزگذاری بسته خواهد شد. به خاطر داشته باشید که رمزگذاری WALLET شما، کامپیوتر شما را از آلودگی به بدافزارها مصون نمی دارد.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>رمزگذاری تایید نشد</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>رمزگذاری به علت خطای داخلی تایید نشد. wallet شما رمزگذاری نشد</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>رمزهای/پَس فرِیزهایِ وارد شده با هم تطابق ندارند</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>قفل wallet باز نشد</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>رمزهای/پَس فرِیزهایِ وارد شده wallet برای کشف رمز اشتباه است.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>کشف رمز wallet انجام نشد</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>امضا و پیام</translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>به روز رسانی با شبکه...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>و بازبینی</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>نمای کلی از wallet را نشان بده</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>و تراکنش</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>تاریخچه تراکنش را باز کن</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>و دفترجه ادرس</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>فهرست آدرسها و برچسبهای ذخیره شده را ویرایش کن</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>و دریافت سکه ها</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>فهرست آدرسها را برای دریافت وجه نشان بده</translation>
+ </message>
+ <message>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation>و ارسال سکه ها</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
+ <location line="+35"/>
<source>E&amp;xit</source>
<translation>خروج</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
+ <location line="+1"/>
<source>Quit application</source>
<translation>از &quot;درخواست نامه&quot;/ application خارج شو</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
<translation>اطلاعات در مورد Bitcoin را نشان بده</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
+ <location line="+2"/>
<source>About &amp;Qt</source>
<translation>درباره و QT</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+1"/>
<source>Show information about Qt</source>
<translation>نمایش اطلاعات درباره QT</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
+ <location line="+2"/>
<source>&amp;Options...</source>
<translation>و انتخابها</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>به روز رسانی با شبکه...</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>و رمزگذاری wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>و بازبینی</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>و گرفتن نسخه پیشتیبان از wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>نمای کلی از wallet را نشان بده</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>تغییر رمز/پَس فرِیز</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n بلاک باقی مانده است
+~%n بلاک باقی مانده است</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>تاریخچه تراکنش را باز کن</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>دانلود %1 از %2 بلاک مربوط به تاریخچه تراکنش (%3% انجام شده است)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>و دفترجه ادرس</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>و صدور</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>فهرست آدرسها را برای دریافت وجه نشان بده</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>و تراکنش</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>اصلاح انتخابها برای پیکربندی Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>صدور داده نوار جاری به یک فایل</translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>رمزگذاری با رمزگشایی از wallet</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>گرفتن نسخه پیشتیبان در آدرسی دیگر</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>رمز مربوط به رمزگذاریِ wallet را تغییر دهید</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation type="unfinished">امضا و پیام</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>اصلاح انتخابها برای پیکربندی Bitcoin</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>گرفتن نسخه پیشتیبان در آدرسی دیگر</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>کیف پول</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;در مورد بیتکویین</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation type="unfinished">تغییر رمز/پَس فرِیز</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;نمایش/ عدم نمایش و</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>و فایل</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
<translation>و تنظیمات</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation>و راهنما</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>نوار ابزار</translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation>نوار عملیات</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
<translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation type="unfinished"></translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>مشتری bitcoin</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n ارتباط فعال به شبکه Bitcoin
@@ -445,44 +523,20 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>دانلود %1 از بلاکها در تاریخچه تراکنش</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
- <translation>
- <numerusform>%n روز قبل
-%n روز قبل
-</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>بلاک دریافت شده قبلی به میزان %1 تولید شده است</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n ثانیه قبل
%n ثانیه قبل</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>نمایش/ عدم نمایش و bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation type="unfinished">درباره و %1</translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>%n دقیقه قبل
@@ -490,103 +544,59 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n ساعت قبل
%n ساعت قبل</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">گرفتن نسخه پیشتیبان از Wallet</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation type="unfinished">و رمزگذاری wallet</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>و صدور</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>نمایش یا عدم نمایش در صفحه bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>صدور داده نوار جاری به یک فایل</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>رمزگذاری با رمزگشایی از wallet</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>رمز مربوط به رمزگذاریِ wallet را تغییر دهید</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>نوار ابزار</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>مشتری bitcoin</translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
<translation>
- <numerusform>~%n بلاک باقی مانده است
-~%n بلاک باقی مانده است</numerusform>
+ <numerusform>%n روز قبل
+%n روز قبل
+</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>دانلود %1 از %2 بلاک مربوط به تاریخچه تراکنش (%3% انجام شده است)</translation>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>روزآمد</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>در حال روزآمد سازی..</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>روزآمد</translation>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>بلاک دریافت شده قبلی به میزان %1 تولید شده است</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+58"/>
<source>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?</source>
- <translation type="unfinished"></translation>
+ <translation>تراکنش بیشتر از محدودیتهای شماست. شما می توانید همچنان با هزینه %1 آن را ارسال کنید که این هزینه به گره هایی که تراکنش را برایتان انجام می دهد تعلق می گیرد و به حمایت از شبکه کمک می کند. آیا شما می خواهید این هزینه را پرداخت کنید؟</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>در حال ارسال...</translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>ارسال تراکنش</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>تراکنش دریافتی</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -596,557 +606,751 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>wallet رمزگذاری شد و در حال حاضر از حالت قفل در آمده است</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>wallet رمزگذاری شد و در حال حاضر قفل است</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation>گرفتن نسخه پیشتیبان از Wallet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>داده های Wallet
(*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation>عملیات گرفتن نسخه پیشتیبان انجام نشد</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation>در هنگام ذخیره داده های wallet به نسخه جدید خطایی ایجاد شده است</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>و نمایش آدرسها در فهرست تراکنش</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished"></translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>هشدار شبکه</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>ویرایش آدرسها</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>و برچسب</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>برچسب مربوط به این دفترچه آدرس</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>و آدرس</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>برچسب مربوط به این دفترچه آدرس و تنها ب</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>آدرسِ دریافت کننده جدید</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>آدرس ارسال کننده جدید</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>ویرایش آدرسِ دریافت کننده</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>ویرایش آدرسِ ارسال کننده</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>آدرس وارد شده %1 قبلا به فهرست آدرسها اضافه شده بوده است.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation>آدرس وارد شده &quot;%1&quot; یک آدرس صحیح برای bitcoin نسشت</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>عدم توانیی برای قفل گشایی wallet</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>عدم توانیی در ایجاد کلید جدید</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>نسخه</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>میزان استفاده:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <location line="+4"/>
+ <source>UI options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
+ <location line="+1"/>
+ <source>Start minimized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>انتخاب/آپشن</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
+ <location line="+21"/>
+ <source>&amp;Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>پیام</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">یک آدرس bitcoin وارد کنید (مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>آدرس از فهرست آدرس انتخاب کنید</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt و A</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>آدرس را بر کلیپ بورد کپی کنید</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt و P</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>و امضای پیام </translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+21"/>
+ <source>&amp;Display</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation type="unfinished">خطا</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished">آدرس وارد شده &quot;%1&quot; یک آدرس صحیح برای bitcoin نسشت</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>و نمایش آدرسها در فهرست تراکنش</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>و تایید</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>و رد</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>و به کار گرفتن</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>پیش فرض</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>انتخاب/آپشن</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>فرم</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>مانده حساب جاری</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>اطلاعات نمایش داده شده ممکن است روزآمد نباشد. wallet شما به صورت خودکار بعد از برقراری اتصال با شبکه bitcoin به روز می شود اما این فرایند هنوز تکمیل نشده است.</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>تعداد تراکنشهایی که نیاز به تایید دارند و هنوز در مانده حساب جاری شما به حساب نیامده اند</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="-141"/>
<source>Balance:</source>
<translation>مانده حساب:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>تعداد کل تراکنشهای wallet شما</translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>تعداد تراکنشها</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>تایید نشده</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>تعداد تراکنشها</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>کیف پول</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
+ <location line="+124"/>
+ <source>Immature:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>کیف پول</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>تراکنشهای اخیر</translation>
</message>
+ <message>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>مانده حساب جاری</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>تعداد تراکنشهایی که نیاز به تایید دارند و هنوز در مانده حساب جاری شما به حساب نیامده اند</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>تعداد کل تراکنشهای wallet شما</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>خارج از روزآمد سازی</translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation>درخواست وجه</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation type="unfinished"></translation>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>میزان وجه:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>برچسب:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>پیام:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>میزان وجه:</translation>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>و ذخیره با عنوانِ...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>متن وارد شده طولانی است، متنِ برچسب/پیام را کوتاه کنید</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>تصاویر با فرمت PNG
(*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>و ذخیره با عنوانِ...</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>متن وارد شده طولانی است، متنِ برچسب/پیام را کوتاه کنید</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>به کنسول آر.پی.سی. BITCOIN خوش آمدید</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>سکه های ارسالی</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>ارسال همزمان به گیرنده های متعدد</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>تمامی فیلدهای تراکنش حذف شوند</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation>مانده حساب:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>تایید عملیات ارسال </translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>و ارسال</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>%1 به %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>تایید ارسال سکه ها</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>شما مطمئن هستید که می خواهید %1 را ارسال کنید؟</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation>و</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>میزان پرداخت باید بیشتر از 0 باشد</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>خطا: ایجاد تراکنش امکان پذیر نیست</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>خطا: تراکنش تایید نشد. این خطا ممکن است به این دلیل اتفاق بیافتد که سکه های wallet شما خرج شده باشند مثلا اگر wallet.dat را مپی کرده باشید و سکه های شما در آن کپی استفاده شده باشند اما در اینجا نمایش داده نشده اند.</translation>
</message>
@@ -1154,204 +1358,425 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>فرم</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>و میزان وجه</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>پرداخت و به چه کسی</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>یک برچسب برای این آدرس بنویسید تا به دفترچه آدرسهای شما اضافه شود</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>و برچسب</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>آدرس برای ارسال وجه به (برای مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>آدرس از فهرست آدرس انتخاب کنید</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt و A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>آدرس را بر کلیپ بورد کپی کنید</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt و P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>این گیرنده را حذف کن</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>یک آدرس bitcoin وارد کنید (مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>و امضای پیام </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
+ <location line="-118"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>یک آدرس bitcoin وارد کنید (مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>آدرس از فهرست آدرس انتخاب کنید</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt و A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>آدرس را بر کلیپ بورد کپی کنید</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt و P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>یک آدرس bitcoin وارد کنید (مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>یک آدرس bitcoin وارد کنید (مثال 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>باز کن تا %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>تراکنشهای چندتایی
+یک:برای %n را باز کن
+دیگر: برای %n را باز کن</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1 غیرقابل تایید</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 تاییدها</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
+ <location line="+18"/>
+ <source>Status</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>تاریخ</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
+ <location line="+0"/>
+ <source>Generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation type="unfinished">&lt;b&gt;تاریخ:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>برچسب</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
+ <location line="+2"/>
+ <source>not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
+ <location line="-39"/>
+ <source>Transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
+ <location line="+16"/>
+ <source>Net amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>پیام</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>Transaction ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
+ <location line="+7"/>
+ <source>Debug information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>پیام:</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
+ <location line="+5"/>
+ <source>Inputs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>میزان</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="+0"/>
+ <source>false</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
+ <location line="-211"/>
<source>, has not been successfully broadcast yet</source>
<translation>تا به حال با موفقیت انتشار نیافته است</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>باز کن تا %1</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="92"/>
+ <location line="+35"/>
<source>unknown</source>
<translation>ناشناس</translation>
</message>
@@ -1359,12 +1784,12 @@ Address: %4
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>جزئیات تراکنش</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>این بخش جزئیات تراکنش را نشان می دهد</translation>
</message>
@@ -1372,123 +1797,123 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>وجه برای شما </translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
- <source>Open for %n block(s)</source>
- <translation>
- <numerusform>تراکنشهای چندتایی
-یک:برای %n را باز کن
-دیگر: برای %n را باز کن</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>آدرس</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>تاریخ</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>نوع</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>آدرس</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation>میزان وجه</translation>
</message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>تراکنشهای چندتایی
+یک:برای %n را باز کن
+دیگر: برای %n را باز کن</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>تایید نشده (%1 از %2 تاییدها)</translation>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>باز کن تا %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>برون خطی (%1 تاییدها)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>باز کن تا %1</translation>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>تایید نشده (%1 از %2 تاییدها)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>تایید شده (%1 تاییدها)</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>این block توسط گره های دیگری دریافت نشده است و ممکن است قبول نشود</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>تولید شده اما قبول نشده است</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>قبول با </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>دریافت شده از</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>ارسال به</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>وجه برای شما </translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Mined</source>
<translation>استخراج شده</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>خالی</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>وضعیت تراکنش. با اشاره به این بخش تعداد تاییدها نمایش داده می شود</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>زمان و تاریخی که تراکنش دریافت شده است</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>نوع تراکنش</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>آدرس مقصد در تراکنش</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>میزان وجه کم شده یا اضافه شده به حساب</translation>
</message>
@@ -1496,163 +1921,163 @@ Address: %4
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>میزان</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>همه</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>امروز</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation>این هفته</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation>این ماه</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>ماه گذشته</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>این سال</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>حدود..</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>دریافت با</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation>ارسال به</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation>به شما</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>استخراج شده</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation>دیگر</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>آدرس یا برچسب را برای جستجو وارد کنید</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>حداقل میزان وجه</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>آدرس را کپی کنید</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>برچسب را کپی کنید</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation>میزان وجه کپی شود</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation>برچسب را ویرایش کنید</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
+ <location line="+1"/>
+ <source>Show transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>داده های تراکنش را صادر کنید</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Comma separated file (*.csv) فایل جداگانه دستوری</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>تایید شده</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>تاریخ</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation>نوع</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
<translation>برچسب</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation>آدرس</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>میزان</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>ID</source>
<translation>شناسه کاربری</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>خطا در ارسال</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>قابل کپی به فایل نیست %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation>دامنه:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation>به</translation>
</message>
@@ -1660,7 +2085,7 @@ Address: %4
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>در حال ارسال...</translation>
</message>
@@ -1668,486 +2093,620 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>wallet در حال لود شدن است...</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>نسخه bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>آستانه قطع برای قرینه سازی اشتباه (پیش فرض:100)</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>میزان استفاده:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>رمز اختصاصی سرور (پیش فرض: server.pem)</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>ارسال دستور به سرور یا bitcoined</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>حجم key pool را به اندازه &lt;n&gt; تنظیم کنید (پیش فرض:100)</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>فهرست دستورها</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>این پیام راهنما</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>درخواست کمک برای یک دستور</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>برای ارتباطاتِ JSON-RPC از OpenSSL (https) استفاده کنید</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>انتخابها:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation type="unfinished"></translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>فایل پیکربندیِ را مشخص کنید (پیش فرض: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>ارتباطاتِ JSON-RPC را از آدرس آی.پی. مشخصی برقرار کنید.</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>فایل pid را مشخص کنید (پیش فرض: bitcoind.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>ciphers قابل قبول (پیش فرض: default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>سکه ها را تولید کن</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>قفل دایرکتوری داده ها %s قابل دریافت نیست. احتمال این وجود دارد که Bitcoin در حال اجرا باشد</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>سکه ها را تولید نکن</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>درخواست کمک برای یک دستور</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>دایرکتوری داده را مشخص کن</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation>حافظه بانک داده را به مگابایت تنظیم کنید (پیش فرض: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>خطا در هنگام لود شدن wallet.dat: Wallet corrupted</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>سایز disk log بانک داده را به مگابایت تنظیم کنید (پیش فرض: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>خطا در هنگام لود شدن wallet.dat. به نسخه جدید Bitocin برای wallet نیاز است.</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>ارتباطات را در &lt;PORT&gt; بشنوید (پیش فرض: 8333 or testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>چند بلاک در startup بررسی شوند (پیش فرض: 2500 و 0= همه)</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>نگهداری &lt;N&gt; ارتباطات برای قرینه سازی (پیش فرض:125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>چگونگی تایید تمامی بلاکها (پیش فرض: 1 و 0-6)</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>ارتباطاتِ JSON-RPC را در &lt;port&gt; گوش کنید (پیش فرض:8332)</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>آستانه قطع برای قرینه سازی اشتباه (پیش فرض:100)</translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>تعداد ثانیه ها برای اتصال دوباره قرینه های اشتباه (پیش فرض:86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">خطا: ایجاد تراکنش امکان پذیر نیست</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">خطا: تراکنش تایید نشد. این خطا ممکن است به این دلیل اتفاق بیافتد که سکه های wallet شما خرج شده باشند مثلا اگر wallet.dat را مپی کرده باشید و سکه های شما در آن کپی استفاده شده باشند اما در اینجا نمایش داده نشده اند.</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>شما باید یک رمز rpcpassword=&lt;password&gt; را در فایل تنظیمات ایجاد کنید⏎ %s ⏎ اگر فایل ایجاد نشده است، آن را با یک فایل &quot;فقط متنی&quot; ایجاد کنید.
-</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>خطا: تراکنش تایید نشد. این خطا ممکن است به این دلیل اتفاق بیافتد که سکه های wallet شما خرج شده باشند مثلا اگر wallet.dat را مپی کرده باشید و سکه های شما در آن کپی استفاده شده باشند اما در اینجا نمایش داده نشده اند.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>خطا: تراکنش نیازمند پرداخت هزینه به میران حداقل %s است به علت هزینه، دشواری عملیات یا استفاده از وجوه دریافت شده اخیر</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>ارتباطاتِ JSON-RPC را در &lt;port&gt; گوش کنید (پیش فرض:8332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>command line و JSON-RPC commands را قبول کنید</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>دایرکتوری داده را مشخص کن</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>خطا: ایجاد تراکنش امکان پذیر نیست</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>خطا: wallet قفل شده است، ایجاد تراکنش امکان پذیر نیست</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>به عنوان daemon بک گراند را اجرا کنید و دستورات را قبول نمایید</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>از تستِ شبکه استفاده نمایید</translation>
+ </message>
+ <message>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>هزینه بر اساس کیلو بایت برای اضافه شدن به تراکنشی که ارسال کرده اید</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>به عنوان daemon بک گراند را اجرا کنید و دستورات را قبول نمایید</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>رمز برای ارتباطاتِ JSON-RPC</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>زنجیره بلاک را برای تراکنش جا افتاده در WALLET دوباره اسکن کنید</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>initialize keypool امکان پذیر نیست</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>برونداد اشکال زدایی با timestamp</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation type="unfinished">میزان اشتباه است for -paytxfee=&lt;amount&gt;</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>ارسال اطلاعات پیگیری/خطایابی به کنسول به جای ارسال به فایل debug.log</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>ارسال اطاعات خطایابی/پیگیری به سیستم خطایاب</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s شما باید یک رمز rpc در فایل تنظیمات ایجاد کنید⏎ %s ⏎ توصیه می شود از رمزهای تصادفی زیر استفاده کنید rpcuser=bitcoinrpc⏎ rpcpassword=%s (شما لازم نیست این رمزها را به خاطر بسپارید)⏎ اگر فایل ایجاد نشده است، آن را با یک فایل &quot;فقط متنی&quot; ایجاد کنید.
-</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>تعیین مدت زمان وقفه (time out) به هزارم ثانیه</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>یافتن همتا/دوست با استفاده از internet relay chat (پیش فرض:0)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>لود شدن آدرسها..</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>فایل certificate سرور (پیش فرض server.cert)</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>اسکنِ دوباره...</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>شناسه کاربری برای ارتباطاتِ JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>یک گره برای اتصال اضافه کنید و تلاش کنید تا اتصال را باز نگاه دارید</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>میزان استفاده:</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>فایل پیکربندیِ را مشخص کنید (پیش فرض: bitcoin.conf)</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>از تستِ شبکه استفاده نمایید</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>تعیین مدت زمان وقفه (time out) به هزارم ثانیه</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>رمز برای ارتباطاتِ JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>خطا در هنگام لود شدن فایل blkindex.dat</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>ارتباطاتِ JSON-RPC را از آدرس آی.پی. مشخصی برقرار کنید.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation>دستورات را به گره اجرا شده در&lt;ip&gt; ارسال کنید (پیش فرض:127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>دستور را وقتی بهترین بلاک تغییر کرد اجرا کن (%s در دستور توسط block hash جایگزین شده است)</translation>
+ </message>
+ <message>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation>wallet را به جدیدترین نسخه روزآمد کنید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>ارسال اطلاعات پیگیری/خطایابی به کنسول به جای ارسال به فایل debug.log</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>حجم key pool را به اندازه &lt;n&gt; تنظیم کنید (پیش فرض:100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>ارسال اطاعات خطایابی/پیگیری به سیستم خطایاب</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>زنجیره بلاک را برای تراکنش جا افتاده در WALLET دوباره اسکن کنید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>برونداد اشکال زدایی با timestamp</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>چند بلاک در startup بررسی شوند (پیش فرض: 2500 و 0= همه)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>اتمام لود شدن</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>چگونگی تایید تمامی بلاکها (پیش فرض: 1 و 0-6)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>نسخه bitcoin</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>سکه ها را تولید نکن</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>برای ارتباطاتِ JSON-RPC از OpenSSL (https) استفاده کنید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>تعداد ثانیه ها برای اتصال دوباره قرینه های اشتباه (پیش فرض:86400)</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>فایل certificate سرور (پیش فرض server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>سکه ها را تولید کن</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>رمز اختصاصی سرور (پیش فرض: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>فهرست دستورها</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>ciphers قابل قبول (پیش فرض: default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>ارتباطات را در &lt;PORT&gt; بشنوید (پیش فرض: 8333 or testnet: 18333)</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>این پیام راهنما</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>نگهداری &lt;N&gt; ارتباطات برای قرینه سازی (پیش فرض:125)</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>قفل دایرکتوری داده ها %s قابل دریافت نیست. احتمال این وجود دارد که Bitcoin در حال اجرا باشد</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>انتخابها:</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>command line و JSON-RPC commands را قبول کنید</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>ارسال دستور به سرور یا bitcoined</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation type="unfinished">خطا در هنگام لود شدن addr.dat</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>لود شدن آدرسها..</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>خطا در هنگام لود شدن فایل blkindex.dat</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>خطا در هنگام لود شدن wallet.dat: Wallet corrupted</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>خطا در هنگام لود شدن wallet.dat. به نسخه جدید Bitocin برای wallet نیاز است.</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>wallet نیاز به بازنویسی دارد. Bitcoin را برای تکمیل عملیات دوباره اجرا کنید.</translation>
+ </message>
+ <message>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation>خطا در هنگام لود شدن wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>قابلیت برگشت به نسخه قبلی برای wallet امکان پذیر نیست</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>لود شدن نمایه بلاکها..</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>میزان اشتباه است for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>در حال ارسال...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>میزان اشتباه است</translation>
+ </message>
+ <message>
+ <location line="-4"/>
<source>Insufficient funds</source>
<translation>وجوه ناکافی</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>برای استفاده از %s از اختیارات</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>لود شدن نمایه بلاکها..</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>دستور را وقتی بهترین بلاک تغییر کرد اجرا کن (%s در دستور توسط block hash جایگزین شده است)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>یک گره برای اتصال اضافه کنید و تلاش کنید تا اتصال را باز نگاه دارید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>شناسه کاربری برای ارتباطاتِ JSON-RPC</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished">میزان استفاده</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>یافتن همتا/دوست با استفاده از internet relay chat (پیش فرض:0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>bitcoin</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>هزینه بر اساس کیلو بایت برای اضافه شدن به تراکنشی که ارسال کرده اید</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>wallet در حال لود شدن است...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>قابلیت برگشت به نسخه قبلی برای wallet امکان پذیر نیست</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>initialize keypool امکان پذیر نیست</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Cannot write default address</source>
<translation>آدرس پیش فرض قابل ذخیره نیست</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>فایل pid را مشخص کنید (پیش فرض: bitcoind.pid)</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>اسکنِ دوباره...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>سایز disk log بانک داده را به مگابایت تنظیم کنید (پیش فرض: 100)</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>اتمام لود شدن</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>میزان اشتباه است</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>برای استفاده از %s از اختیارات</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>خطا</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s شما باید یک رمز rpc در فایل تنظیمات ایجاد کنید⏎ %s ⏎ توصیه می شود از رمزهای تصادفی زیر استفاده کنید rpcuser=bitcoinrpc⏎ rpcpassword=%s (شما لازم نیست این رمزها را به خاطر بسپارید)⏎ اگر فایل ایجاد نشده است، آن را با یک فایل &quot;فقط متنی&quot; ایجاد کنید.
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>در حال ارسال...</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>خطا</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>wallet نیاز به بازنویسی دارد. Bitcoin را برای تکمیل عملیات دوباره اجرا کنید.</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>شما باید یک رمز rpcpassword=&lt;password&gt; را در فایل تنظیمات ایجاد کنید⏎ %s ⏎ اگر فایل ایجاد نشده است، آن را با یک فایل &quot;فقط متنی&quot; ایجاد کنید.
+</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_fi.ts b/src/qt/locale/bitcoin_fi.ts
index 726ca6fff6..68e4993540 100644
--- a/src/qt/locale/bitcoin_fi.ts
+++ b/src/qt/locale/bitcoin_fi.ts
@@ -5,132 +5,136 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Tietoa Bitcoinista</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; versio</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Bitcoin kehittäjät</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Developers
-
-This is experimental software.
+ <translation>
+Tämä on kokeellinen ohjelmisto.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+Levitetään MIT/X11 ohjelmistolisenssin alaisuudessa. Tarkemmat tiedot löytyvät tiedostosta COPYING tai osoitteesta 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.</translation>
+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.
+</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Osoitekirja</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Nämä ovat sinun Bitcoin-osoitteesi suoritusten vastaanottamiseen. Voit halutessasi antaa kullekin lähettäjälle eri osoitteen, jotta voit seurata kuka sinulle maksaa.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Kaksoisnapauta muokataksesi osoitetta tai nimeä</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Luo uusi osoite</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Uusi osoite</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Kopioi valittu osoite leikepöydälle</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopioi leikepöydälle</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Uusi Osoite</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Nämä ovat Bitcoin-osoitteesi joihin voit vastaanottaa maksuja. Voit haluta antaa jokaiselle maksajalle omansa, että pystyt seuraamaan keneltä maksut tulevat.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopioi Osoite</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Näytä &amp;QR-koodi</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Allekirjoita viesti millä todistat omistavasi tämän osoitteen</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Allekirjoita viesti todistaaksesi, että omistat Bitcoin-osoitteen</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>Allekirjoita &amp;viesti</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Poista valittuna oleva osoite listasta. Vain lähettämiseen käytettäviä osoitteita voi poistaa.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Poista</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä Bitcoin-osoitteella</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopioi osoite</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Varmista viesti...</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopioi nimi</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Poista</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Muokkaa</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopioi &amp;Nimi</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Poista</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Muokkaa</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Vie osoitekirja</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Comma separated file (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Virhe viedessä osoitekirjaa</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Ei voida kirjoittaa tiedostoon %1.</translation>
</message>
@@ -138,17 +142,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Nimi</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Osoite</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(ei nimeä)</translation>
</message>
@@ -156,353 +160,381 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialogi</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Tunnuslause Dialogi</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Anna tunnuslause</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Uusi tunnuslause</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Toista uusi tunnuslause</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TekstiMerkki</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Anna lompakolle uusi tunnuslause.&lt;br/&gt;Käytä tunnuslausetta, jossa on ainakin &lt;b&gt;10 satunnaista mekkiä&lt;/b&gt; tai &lt;b&gt;kahdeksan sanaa&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Salaa lompakko</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Tätä toimintoa varten sinun täytyy antaa lompakon tunnuslause sen avaamiseksi.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Avaa lompakko</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin sulkeutuu lopettaakseen salausprosessin. Muista, että salattu lompakko ei täysin suojaa sitä haittaohjelmien aiheuttamilta varkauksilta.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Tätä toimintoa varten sinun täytyy antaa lompakon tunnuslause salauksen purkuun.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>VAROITUS: Mikäli salaat lompakkosi ja unohdat tunnuslauseen, &lt;b&gt;MENETÄT LOMPAKON KOKO SISÄLLÖN&lt;/b&gt;!
-Tahdotko varmasti salata lompakon?</translation>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Pura lompakon salaus</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Vaihda tunnuslause</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Anna vanha ja uusi tunnuslause.</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Hyväksy lompakon salaus</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Varoitus: Jos salaat lompakkosi ja menetät tunnuslauseesi, tulet &lt;b&gt;MENETTÄMÄÄN KAIKKI BITCOINISI&lt;/b&gt;!</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Haluatko varmasti salata lompakkosi?</translation>
+ </message>
+ <message>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Varoitus: Caps Lock on aktiivinen!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Lompakko salattu</translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin sulkeutuu lopettaakseen salausprosessin. Muista, että salattu lompakko ei täysin suojaa sitä haittaohjelmien aiheuttamilta varkauksilta.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Lompakon salaus epäonnistui</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Lompakon salaaminen epäonnistui sisäisen virheen vuoksi. Lompakkoa ei salattu.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Annetut tunnuslauseet eivät täsmää.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Lompakon avaaminen epäonnistui.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Annettu tunnuslause oli väärä.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Lompakon salauksen purku epäonnistui.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
- <translation>Lompakon tunnuslause on vaihdettu.</translation>
+ <translation>Lompakon tunnuslause vaihdettiin onnistuneesti.</translation>
</message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Varoitus: Caps Lock on päällä.</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>&amp;Allekirjoita viesti...</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
- <source>Decrypt wallet</source>
- <translation>Pura lompakon salaus</translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Synkronoidaan verkon kanssa...</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
- <source>Change passphrase</source>
- <translation>Vaihda tunnuslause</translation>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Yleisnäkymä</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Anna vanha ja uusi tunnuslause.</translation>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Näyttää kokonaiskatsauksen lompakon tilanteesta</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Hyväksy lompakon salaus</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Rahansiirrot</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Lompakko salattu</translation>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Selaa rahansiirtohistoriaa</translation>
</message>
-</context>
-<context>
- <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Osoitekirja</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Muokkaa tallennettujen nimien ja osoitteiden listaa</translation>
+ </message>
+ <message>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>&amp;Vastaanota Bitcoineja</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Näytä Bitcoinien vastaanottamiseen käytetyt osoitteet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoin-asiakas</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Lähetä Bitcoineja</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Varmuuskopioi lompakko toiseen sijaintiin</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>L&amp;opeta</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Lopeta ohjelma</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
- <translation>Päivä: %1
-Määrä: %2
-Tyyppi: %3
-Osoite: %4</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Näytä tietoa Bitcoin-projektista</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Lompakko on &lt;b&gt;salattu&lt;/b&gt; ja tällä hetkellä &lt;b&gt;lukittuna&lt;/b&gt;</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n aktiivinen yhteys Bitcoin-verkkoon</numerusform>
- <numerusform>%n aktiivista yhteyttä Bitcoin-verkkoon</numerusform>
- </translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Tietoja &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Ladattu %1 lohkoa rahansiirron historiasta.</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Näytä tietoja QT:ta</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Saapuva rahansiirto</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Asetukset...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Vie auki olevan välilehden tiedot tiedostoon</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Salaa lompakko...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Salaa tai poista salaus lompakosta</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Varmuuskopioi Lompakko...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Toimintopalkki</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Vaihda Tunnuslause...</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Lähetä Bitcoineja</translation>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n lohko jäljellä</numerusform>
+ <numerusform>~%n lohkoja jäljellä</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Vaihda lompakon salaukseen käytettävä tunnuslause</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Ladattu %1 / %2 lohkoista rahansiirtohistoriasta (%3% suoritettu).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Synkronoidaan verkon kanssa...</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Vie...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Yleisnäkymä</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Lähetä kolikoita Bitcoin-osoitteeseen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Näyttää kokonaiskatsauksen lompakon tilanteesta</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Muuta Bitcoinin konfiguraatioasetuksia</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Rahansiirrot</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Vie auki olevan välilehden tiedot tiedostoon</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Selaa rahansiirtohistoriaa</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Salaa tai poista salaus lompakosta</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>&amp;Osoitekirja</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Varmuuskopioi lompakko toiseen sijaintiin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Lähetä Bitcoin-osoitteeseen</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Vaihda lompakon salaukseen käytettävä tunnuslause</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Allekirjoita &amp;viesti</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Debug ikkuna</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Todista että hallitset osoitetta</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Avaa debuggaus- ja diagnostiikkakonsoli</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Näytä tietoa Bitcoin-projektista</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>Varmista &amp;viesti...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Näytä tietoja QT:ta</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Näytä tai piillota Bitcoin-ikkuna</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Lompakko</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>&amp;Varmuuskopioi lompakko</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>Tieto&amp;a Bitcoinista</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Vaihda tunnuslause</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Näytä / Piilota</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>&amp;Tiedosto</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>%n tunti sitten</numerusform>
- <numerusform>%n tuntia sitten</numerusform>
- </translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Asetukset</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Muokkaa tallennettujen nimien ja osoitteiden listaa</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Apua</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Näytä/Kätke &amp;Bitcoin</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Välilehtipalkki</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>L&amp;opeta</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Toimintopalkki</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Lopeta ohjelma</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Muokkaa asetuksia</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoin-asiakas</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n aktiivinen yhteys Bitcoin-verkkoon</numerusform>
+ <numerusform>%n aktiivista yhteyttä Bitcoin-verkkoon</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Salaa lompakko</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Ladattu %1 lohkoa rahansiirron historiasta.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n sekunti sitten</numerusform>
@@ -510,854 +542,1247 @@ Osoite: %4</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n minuutti sitten</numerusform>
+ <numerusform>%n minuuttia sitten</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>%n tunti sitten</numerusform>
+ <numerusform>%n tuntia sitten</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
- <numerusform></numerusform>
- <numerusform></numerusform>
+ <numerusform>%n päivä sitten</numerusform>
+ <numerusform>%n päivää sitten</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Rahansiirtohistoria on ajan tasalla</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Kurotaan kiinni...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Viimeisin vastaanotettu lohko tuotettu %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Lompakko on &lt;b&gt;salattu&lt;/b&gt; ja tällä hetkellä &lt;b&gt;avoinna&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Varmuuskopioi lompakko</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Lompakkodata (*.dat)</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Varmuuskopio epäonnistui</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Virhe tallennettaessa lompakkodataa uuteen sijaintiin.</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Tämä rahansiirto ylittää kokorajoituksen. Voit siitä huolimatta lähettää sen %1 siirtopalkkion mikä menee solmuille jotka käsittelevät rahansiirtosi tämä auttaa myös verkostoa. Haluatko maksaa siirtopalkkion? </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Tietoja &amp;Qt</translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Vahvista maksukulu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Asetukset...</translation>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Lähetetyt rahansiirrot</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Vie...</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>~%n lohko jäljellä</numerusform>
- <numerusform>~%n lohkoja jäljellä</numerusform>
- </translation>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Saapuva rahansiirto</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Ladattu %1 / %2 lohkoista rahansiirtohistoriasta (%3% suoritettu).</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>%n minuutti sitten</numerusform>
- <numerusform>%n minuuttia sitten</numerusform>
- </translation>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>Päivä: %1
+Määrä: %2
+Tyyppi: %3
+Osoite: %4</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin-lompakko</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI käsittely</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Lähetetään...</translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URIa ei voitu jäsentää! Tämä voi johtua kelvottomasta Bitcoin-osoitteesta tai virheellisistä URI parametreista.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Lähetetyt rahansiirrot</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Lompakko on &lt;b&gt;salattu&lt;/b&gt; ja tällä hetkellä &lt;b&gt;avoinna&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Tietoja %1</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Lompakko on &lt;b&gt;salattu&lt;/b&gt; ja tällä hetkellä &lt;b&gt;lukittuna&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Varmuuskopioi lompakko</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Asetukset</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Lompakkodata (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Apua</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Varmuuskopio epäonnistui</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Välilehtipalkki</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Virhe tallennettaessa lompakkodataa uuteen sijaintiin.</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation>Peruuttamaton virhe on tapahtunut. Bitcoin ei voi enää jatkaa turvallisesti ja sammutetaan.</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Yksikkö, jossa määrät näytetään: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Valitse oletus lisämääre mikä näkyy käyttöliittymässä ja kun lähetät kolikoita</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Näytä osoitteet rahansiirtoluettelossa</translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Näytetäänkö Bitcoin-osoitteet rahansiirrot listassa vai ei.</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Verkkohälytys</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Muokkaa osoitetta</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Nimi</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Tähän osoitteeseen liitetty nimi</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Osoite</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Osoite, joka liittyy tämän osoitekirjan merkintään. Tätä voidaan muuttaa vain lähtevissä osoitteissa.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Uusi vastaanottava osoite</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Uusi lähettävä osoite</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Muokkaa vastaanottajan osoitetta</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Muokkaa lähtevää osoitetta</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Osoite &quot;%1&quot; on jo osoitekirjassa.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Osoite &quot;%1&quot; ei ole kelvollinen Bitcoin-osoite.</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Antamasi osoite &quot;%1&quot; ei ole validi Bitcoin-osoite.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Lompakkoa ei voitu avata.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Uuden avaimen luonti epäonnistui.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Käynnistä Bitcoin kun kirjaudutaan sisään</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Käynnistä Bitcoin automaattisesti, kun tietokone kytketään päälle</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versio</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Pienennä ilmaisinalueelle työkalurivin sijasta</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Käyttö:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Näytä ainoastaan pikkukuvake ikkunan pienentämisen jälkeen</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>komentorivi parametrit</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Portin uudelleenohjaus &amp;UPnP:llä</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>Käyttöliittymäasetukset</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Avaa Bitcoin-asiakasohjelman portti reitittimellä automaattisesti. Tämä toimii vain, jos reitittimesi tukee UPnP:tä ja se on käytössä.</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Set language, for example &quot;de_DE&quot; (default: system locale)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>P&amp;ienennä ikkuna suljettaessa</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Käynnistä pienennettynä</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Ikkunaa suljettaessa vain pienentää Bitcoin-ohjelman ikkunan lopettamatta itse ohjelmaa. Kun tämä asetus on valittuna, ohjelman voi sulkea vain valitsemalla Lopeta ohjelman valikosta.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Näytä aloitusruutu käynnistettäessä (oletus: 1)</translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Yhdistä SOCKS4-välityspalvelimen kautta:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Asetukset</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Yhdistä Bitcoin-verkkoon SOCKS4-välityspalvelimen kautta (esimerkiksi käyttäessä Tor:ia)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Yleiset</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Palvelimen &amp;IP: </translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Vapaaehtoinen rahansiirtopalkkio per kB auttaa nopeuttamaan siirtoja. Useimmat rahansiirrot ovat 1 kB. 0.01 palkkio on suositeltava.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>Välityspalvelimen IP-osoite (esim. 127.0.0.1)</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Maksa rahansiirtopalkkio</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Portti: </translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Käynnistä Bitcoin kirjautumisen yhteydessä.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Portti, johon Bitcoin-asiakasohjelma yhdistää (esim. 1234)</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Käynnistä Bitcoin kirjautumisen yhteydessä</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>Vapaaehtoinen rahansiirtopalkkio per kB auttaa nopeuttamaan siirtoja. Useimmat rahansiirrot ovat 1 kB. 0.01 palkkio on suositeltava.</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Irroita lohko- ja osoite-tietokannat sammuttaessa. Tämä hidastaa sammutusta, mutta mahdollistaa tietokantojen kopioimisen toiselle koneelle. Lompakko irroitetaan aina.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Maksa rahansiirtopalkkio</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Irroita tietokannat sammutuksen yhteydessä</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Irroita tietokannat sammutuksen yhteydessä</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Verkko</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Irroita lohko- ja osoite-tietokannat sammuttaessa. Tämä hidastaa sammutusta, mutta mahdollistaa tietokantojen kopioimisen toiselle koneelle. Lompakko irroitetaan aina.</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Avaa Bitcoin-asiakasohjelman portti reitittimellä automaattisesti. Tämä toimii vain, jos reitittimesi tukee UPnP:tä ja se on käytössä.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Viesti</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Portin uudelleenohjaus &amp;UPnP:llä</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Voit allekirjoittaa viestit omalla osoitteellasi todistaaksesi että omistat ne. Ole huolellinen, että et allekirjoita mitään epämääräistä, phishing-hyökkääjät voivat huijata sinua allekirjoittamaan luovuttamalla henkilöllisyytesi. Allekirjoita selvitys täysin yksityiskohtaisesti mihin olet sitoutunut.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Ota yhteys Bitcoin-verkkoon SOCKS-proxyn läpi (esimerkiksi kun haluat käyttää Tor-verkkoa).</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Anna Bitcoin-osoite (esim. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Ota yhteys SOCKS-proxyn kautta:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Valitse osoite osoitekirjasta</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Proxyn &amp;IP:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Välityspalvelimen IP-osoite (esim. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Liitä osoite leikepöydältä</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Portti</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Proxyn Portti (esim. 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Kirjoita tähän viesti minkä haluat allekirjoittaa</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS &amp;Versio:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Klikkaa &quot;Allekirjoita viesti&quot; saadaksesi allekirjoituksen</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Proxyn SOCKS-versio (esim. 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Allekirjoita viesti millä todistat omistavasi tämän osoitteen</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Ikkuna</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Allekirjoita viesti</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Näytä ainoastaan ilmaisinalueella ikkunan pienentämisen jälkeen.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Kopioi tämänhetkinen allekirjoitus leikepöydälle</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Pienennä ilmaisinalueelle työkalurivin sijasta</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopioi leikepöydälle</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Ikkunaa suljettaessa vain pienentää Bitcoin-ohjelman ikkunan lopettamatta itse ohjelmaa. Kun tämä asetus on valittuna, ohjelman voi sulkea vain valitsemalla Lopeta ohjelman valikosta.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Virhe allekirjoitettaessa</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>P&amp;ienennä suljettaessa</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 ei ole kelvollinen osoite.</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Käyttöliittymä</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Yksityisavain %1 :lle ei ole saatavilla.</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>&amp;Käyttöliittymän kieli</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Allekirjoittaminen epäonnistui</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Tässä voit määritellä käyttöliittymän kielen. Muutokset astuvat voimaan seuraavan kerran, kun Bitcoin käynnistetään.</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Yleiset</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>Yksikkö jona bitcoin-määrät näytetään</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Näyttö</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Valitse mitä yksikköä käytetään ensisijaisesti bitcoin-määrien näyttämiseen.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Asetukset</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Näytetäänkö Bitcoin-osoitteet rahansiirrot listassa vai ei.</translation>
</message>
-</context>
-<context>
- <name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Vahvistamatta:</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Näytä osoitteet rahansiirrot listassa</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Lompakko</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Peruuta</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Hyväksy</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>oletus</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Varoitus</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Tämä asetus astuu voimaan seuraavalla kerralla, kun Bitcoin käynnistetään.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Antamasi proxy-osoite on virheellinen.</translation>
</message>
+</context>
+<context>
+ <name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Lomake</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Rahansiirtojen lukumäärä:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Vahvistamatta:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Lompakko</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Epäkypsää:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Louhittu saldo, joka ei ole vielä kypsynyt</translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Viimeisimmät rahansiirrot&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Tililläsi tällä hetkellä olevien Bitcoinien määrä</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Niiden saapuvien rahansiirtojen määrä, joita Bitcoin-verkko ei vielä ole ehtinyt vahvistaa ja siten eivät vielä näy saldossa.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Lompakolla tehtyjen rahansiirtojen yhteismäärä</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Niiden saapuvien rahansiirtojen määrä, joita Bitcoin-verkko ei vielä ole ehtinyt vahvistaa ja siten eivät vielä näy saldossa.</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>Ei ajan tasalla</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR-koodi Dialogi</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Vastaanota maksu</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Määrä:</translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Tunniste:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Viesti:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Tallenna nimellä...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation>Virhe käännettäessä URI:a QR-koodiksi.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Syötetty määrä on virheellinen. Tarkista kirjoitusasu.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>Tuloksen URI liian pitkä, yritä lyhentää otsikon tekstiä / viestiä.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Tallenna QR-koodi</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>PNG kuvat (*png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialogi</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Pääteohjelman nimi</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR-koodi</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>Ei saatavilla</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Vastaanota maksu</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Pääteohjelman versio</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>Määrä:</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>T&amp;ietoa</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Käytössä oleva OpenSSL-versio</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Tunniste:</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Käynnistysaika</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>Tallenna kuva...</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Verkko</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Viesti:</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Yhteyksien lukumäärä</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;Tallenna nimellä...</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>Käyttää testiverkkoa</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Lohkoketju</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Nykyinen Lohkojen määrä</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Arvioitu lohkojen kokonaismäärä</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Viimeisimmän lohkon aika</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Avaa</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Komentorivi parametrit</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Näytä Bitcoin-Qt komentoriviparametrien ohjesivu, jossa on listattuna mahdolliset komentoriviparametrit.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Näytä</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Konsoli</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Kääntöpäiväys</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Debug ikkuna</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Bitcoin-ydin</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Debug lokitiedosto</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Avaa lokitiedosto nykyisestä data-kansiosta. Tämä voi viedä useamman sekunnin, jos lokitiedosto on iso.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Tyhjennä konsoli</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Tervetuloa Bitcoin RPC konsoliin.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Ylös- ja alas-nuolet selaavat historiaa ja &lt;b&gt;Ctrl-L&lt;/b&gt; tyhjentää ruudun.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Kirjoita &lt;b&gt;help&lt;/b&gt; nähdäksesi yleiskatsauksen käytettävissä olevista komennoista.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Lähetä Bitcoineja</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Lähetä monelle vastaanottajalle</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
- <source>Remove all transaction fields</source>
- <translation>Poista kaikki rahansiiron kentät</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Lisää &amp;Vastaanottaja</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Lisää vastaanottaja...</translation>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Poista kaikki rahansiirtokentät</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Tyhjennä lista</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Tyhjennnä Kaikki</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123,456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Vahvista lähetys</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Lähetä</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Hyväksy Bitcoinien lähettäminen</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Haluatko varmasti lähettää %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation> ja </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>Maksettavan summan tulee olla suurempi kuin 0 Bitcoinia.</translation>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>Vastaanottajan osoite on virheellinen. Tarkista osoite.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
- <source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation>Tuplaosite löytynyt, voit ainoastaan lähettää kunkin osoitteen kerran yhdessä lähetysoperaatiossa.</translation>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>Maksettavan summan tulee olla suurempi kuin 0 Bitcoinia.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
- <source>Error: Transaction creation failed.</source>
- <translation>Virhe: Rahansiirron luonti epäonnistui.</translation>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>Määrä ylittää käytettävissä olevan saldon.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
- <source>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.</source>
- <translation>Virhe: Rahansiirto hylättiin. Tämä voi tapahtua jos jotkin bitcoineistasi on jo käytetty, esimerkiksi jos olet käyttänyt kopiota wallet.dat-lompakkotiedostosta ja bitcoinit on merkitty käytetyksi vain kopiossa.</translation>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation>Kokonaismäärä ylittää saldosi kun %1 maksukulu lisätään summaan.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
- <source>The recipient address is not valid, please recheck.</source>
- <translation>Vastaanottajan osoite ei kelpaa, ole hyvä ja tarkista.</translation>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>Sama osoite toistuu useamman kerran. Samaan osoitteeseen voi lähettää vain kerran per maksu.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
- <source>The amount exceeds your balance.</source>
- <translation>Määrä on suurempi kuin tilisi tämänhetkinen saldo.</translation>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Virhe: Rahansiirron luonti epäonnistui</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
- <source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>Kokonaissumma ylittäää tilisi saldon, kun siihen lisätään %1 BTC rahansiirtomaksu.</translation>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>Virhe: Rahansiirto hylättiin. Tämä voi tapahtua jos jotkin bitcoineistasi on jo käytetty, esimerkiksi jos olet käyttänyt kopiota wallet.dat-lompakkotiedostosta ja bitcoinit on merkitty käytetyksi vain kopiossa.</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>Maksun saaja:</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
- <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Lomake</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>M&amp;äärä:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>Lomake</translation>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Maksun saaja:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Anna nimi tälle osoitteelle, jos haluat lisätä sen osoitekirjaan</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Nimi:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+18"/>
+ <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Osoite, johon Bitcoinit lähetetään (esim. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Valitse osoite osoitekirjasta</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Liitä osoite leikepöydältä</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Poista </translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Anna Bitcoin-osoite (esim. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/vahvistamaton</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Allekirjoitukset - Allekirjoita / Varmista viesti</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Allekirjoita viesti</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Voit allekirjoittaa viestit omalla osoitteellasi todistaaksesi että omistat ne. Ole huolellinen, että et allekirjoita mitään epämääräistä, phishing-hyökkääjät voivat huijata sinua allekirjoittamaan luovuttamalla henkilöllisyytesi. Allekirjoita selvitys täysin yksityiskohtaisesti mihin olet sitoutunut.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Osoite, jolla viesti allekirjoitetaan (esimerkiksi 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Valitse osoite osoitekirjasta</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Liitä osoite leikepöydältä</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Kirjoita tähän viesti minkä haluat allekirjoittaa</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Kopioi tämänhetkinen allekirjoitus leikepöydälle</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Allekirjoita viesti todistaaksesi, että omistat tämän Bitcoin-osoitteen</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Tyhjennä kaikki allekirjoita-viesti-kentät</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Tyhjennä Kaikki</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Varmista viesti</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Syötä allekirjoittava osoite, viesti ja allekirjoitus alla oleviin kenttiin varmistaaksesi allekirjoituksen aitouden. Varmista että kopioit kaikki kentät täsmälleen oikein, myös rivinvaihdot, välilyönnit, tabulaattorit, jne.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Tila:&lt;/b&gt; </translation>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Osoite, jolla viesti allekirjoitettiin (esimerkiksi 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, lähetetään %1 solmun kautta</translation>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Tarkista viestin allekirjoitus varmistaaksesi, että se allekirjoitettiin tietyllä Bitcoin-osoitteella</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, lähetetään %1 solmunkautta</translation>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Tyhjennä kaikki varmista-viesti-kentät</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Päivä:&lt;/b&gt; </translation>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Anna Bitcoin-osoite (esim. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Klikkaa &quot;Allekirjoita Viesti luodaksesi allekirjoituksen </translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Syötä Bitcoin-allekirjoitus</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Syötetty osoite on virheellinen.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Tarkista osoite ja yritä uudelleen.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>Syötetyn osoitteen avainta ei löydy.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Lompakon avaaminen peruttiin.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Yksityistä avainta syötetylle osoitteelle ei ole saatavilla.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Viestin allekirjoitus epäonnistui.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Viesti allekirjoitettu.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Allekirjoitusta ei pystytty tulkitsemaan.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Lähde:&lt;/b&gt; Generoitu&lt;br&gt;</translation>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Tarkista allekirjoitus ja yritä uudelleen.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Lähettäjä:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>Allekirjoitus ei täsmää viestin tiivisteeseen.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Vast. ott.:&lt;/b&gt;</translation>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Viestin varmistus epäonnistui.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Avoinna %1 lohkolle</translation>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Viesti varmistettu.</translation>
</message>
+</context>
+<context>
+ <name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Avoinna %1 asti</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Auki %n lohkon ajan</numerusform>
+ <numerusform>Auki %n lohkon ajan</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/offline</translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/vahvistamaton</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 vahvistusta</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/ei linjalla?</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Tila</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>lähetetty %n noodin läpi</numerusform>
+ <numerusform>lähetetty %n noodin läpi</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Krediitti:&lt;/b&gt; </translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Päivämäärä</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 erääntyy %2 useammassa lohkossa)</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Lähde</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Rahansiirtomaksu:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generoitu</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Nettomäärä:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Lähettäjä</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Viesti:</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Saaja</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Kommentti:</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>oma osoite</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Rahansiirron ID:</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>nimi</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Luotujen kolikoiden on odotettava 120 lohkoa ennen kuin ne voidaan käyttää. Kun loit tämän lohkon, se lähetettiin verkkoon lisättäväksi lohkoketjuun. Jos se epäonnistuu ketjuun liittymisessä, se tila tulee muuttumaan &quot;ei hyväksytty&quot; eikä sitä voi käyttää. Tätä voi silloin tällöin esiintyä jos toinen solmu luo lohkon muutamia sekunteja omastasi.</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Credit</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>kypsyy %n lohkon kuluttua</numerusform>
+ <numerusform>kypsyy %n lohkon kuluttua</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>ei hyväksytty</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(ei hyväksytty)</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debit</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation>(sinun, tunniste: </translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Maksukulu</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation>(sinun)</translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Netto määrä</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debit:&lt;/b&gt; </translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Viesti</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Viesti</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Siirtotunnus</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Generoitujen kolikoiden täytyy kypsyä 120 lohkon ajan ennen kuin ne voidaan lähettää. Kun loit tämän lohkon, se lähetettiin verkkoon lisättäväksi lohkoketjuun. Jos se ei päädy osaksi lohkoketjua, sen tila vaihtuu &quot;ei hyväksytty&quot; ja sitä ei voida lähettää. Näin voi joskus käydä, jos toinen noodi löytää lohkon muutamaa sekuntia ennen tai jälkeen sinun lohkosi löytymisen.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Debug tiedot</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Rahansiirto</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Sisääntulot</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Määrä</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>tosi</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>epätosi</translation>
+ </message>
+ <message>
+ <location line="-211"/>
<source>, has not been successfully broadcast yet</source>
<translation>, ei ole vielä onnistuneesti lähetetty</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
+ <location line="+35"/>
<source>unknown</source>
<translation>tuntematon</translation>
</message>
@@ -1365,12 +1790,12 @@ Osoite: %4</translation>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Rahansiirron yksityiskohdat</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Tämä ruutu näyttää yksityiskohtaisen tiedon rahansiirrosta</translation>
</message>
@@ -1378,12 +1803,27 @@ Osoite: %4</translation>
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Päivämäärä</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Laatu</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Address</source>
<translation>Osoite</translation>
</message>
+ <message>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Määrä</translation>
+ </message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Auki %n lohkolle</numerusform>
@@ -1391,282 +1831,267 @@ Osoite: %4</translation>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Avoinna %1 asti</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Ei yhteyttä verkkoon (%1 vahvistusta)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Vahvistamatta (%1/%2 vahvistusta)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Vahvistettu (%1 vahvistusta)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Louhittu saldo on käytettävissä kun se kypsyy %n lohkon päästä</numerusform>
+ <numerusform>Louhittu saldo on käytettävissä kun se kypsyy %n lohkon päästä</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Tätä lohkoa ei vastaanotettu mistään muusta solmusta ja sitä ei mahdollisesti hyväksytä!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Generoitu mutta ei hyväksytty</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Vastaanotettu osoitteella</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>Vastaanotettu</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Saaja</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Päivämäärä</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>Määrä</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Laatu</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Maksu itsellesi</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
- <source>(n/a)</source>
- <translation>(ei saatavilla)</translation>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>Louhittu</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
- <source>Type of transaction.</source>
- <translation>Rahansiirron laatu.</translation>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(ei saatavilla)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Rahansiirron tila. Siirrä osoitin kentän päälle nähdäksesi vahvistusten lukumäärä.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
- <source>Mined</source>
- <translation>Louhittu</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Rahansiirron vastaanottamisen päivämäärä ja aika.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Rahansiirron laatu.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Rahansiirron kohteen Bitcoin-osoite</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Saldoon lisätty tai siitä vähennetty määrä.</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Louhittu saldo tulee saataville %n lohkossa</numerusform>
- <numerusform>Louhittu saldo tulee saataville %n lohkossa</numerusform>
- </translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Kopioi nimi</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Kaikki</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Vie rahansiirron tiedot</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Tänään</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Laatu</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Tällä viikolla</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Nimi</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Tässä kuussa</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Määrä</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Viime kuussa</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Tänä vuonna</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Virhe tietojen viennissä</translation>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Alue...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Tänään</translation>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Vastaanotettu osoitteella</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Saaja</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Itsellesi</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Louhittu</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Other</source>
<translation>Muu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Anna etsittävä osoite tai tunniste</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Minimimäärä</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Muokkaa nimeä</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Kopioi osoite</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Kaikki</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Kopioi nimi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Tällä viikolla</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Kopioi määrä</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Tässä kuussa</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Muokkaa nimeä</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Viime kuussa</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Näytä rahansiirron yksityiskohdat</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Tänä vuonna</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Vie rahansiirron tiedot</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Alue...</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Comma separated file (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Vastaanotettu osoitteella</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Vahvistettu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>Itsellesi</translation>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Aika</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Louhittu</translation>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Laatu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Kopioi määrä</translation>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Nimi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Comma separated file (*.csv)</translation>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Osoite</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Vahvistettu</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Määrä</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Aika</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Osoite</translation>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Virhe tietojen viennissä</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Ei voida kirjoittaa tiedostoon %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation>Alue:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation>kenelle</translation>
</message>
- <message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Saaja</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Näytä tarkemmat tiedot...</translation>
- </message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Lähetetään...</translation>
</message>
@@ -1674,494 +2099,628 @@ Osoite: %4</translation>
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Hyväksy merkkipohjaiset- ja JSON-RPC-käskyt</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoinin versio</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Palvelimen sertifikaatti-tiedosto (oletus: server.cert)</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Käyttö:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Tämä ohjeviesti</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Lähetä käsky palvelimelle tai bitcoind:lle</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Lähetä jäljitys/debug-tieto konsoliin, debug.log-tiedoston sijaan</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Lista komennoista</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Käytä OpenSSL:ää (https) JSON-RPC-yhteyksille</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Hanki apua käskyyn</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Ladataan lohkoindeksiä...</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Asetukset:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Virhe ladattaessa wallet.dat-tiedostoa</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Määritä asetustiedosto (oletus: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Ladataan lompakkoa...</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Määritä pid-tiedosto (oletus: bitcoin.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoinin versio</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generoi kolikoita</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Kuuntele JSON-RPC -yhteyksiä portista &lt;port&gt; (oletus: 8332)</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Älä generoi kolikoita</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>En pääse käsiksi data-hakemiston lukitukseen %s. Bitcoin on todennäköisesti jo käynnistetty.</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Määritä data-hakemisto</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Hanki apua käskyyn</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Aseta tietokannan välimuistin koko megatavuina (oletus: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Päivitä lompakko uusimpaan formaattiin</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Aseta tietokannan lokitiedoston koko megatavuina (oletus: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Et voi päivittää lompakkoasi vanhempaan versioon</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Kuuntele yhteyksiä portista &lt;port&gt; (oletus: 8333 tai testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Lähetä käsky palvelimelle tai bitcoind:lle</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Pidä enintään &lt;n&gt; yhteyttä verkkoihin (oletus: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Generoi kolikoita</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Yhdistä noodiin hakeaksesi naapurien osoitteet ja katkaise yhteys</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Määritä julkinen osoitteesi</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Kytkeydy annettuun osoitteeseen. Käytä [host]:port notaatiota IPv6:lle</translation>
+ </message>
+ <message>
+ <location line="+77"/>
<source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation>Kynnysarvo aikakatkaisulle heikosti toimiville verkoille (oletus: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Virhe ladattaessa wallet.dat-tiedostoa: Tarvitset uudemman version Bitcoinista</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Sekuntien määrä, kuinka kauan uudelleenkytkeydytään verkkoihin (oletus: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Avainvarastoa ei voi alustaa</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Virhe valmisteltaessa RPC-portin %u avaamista kuunneltavaksi: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Oletusosoitetta ei voi kirjoittaa</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Lista komennoista</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Irroita lohko ja osoite-tietokannat. Pidentää sammutus-aikaa (vakioasetus: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Määritä asetustiedosto (oletus: bitcoin.conf)</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Määritä pid-tiedosto (oletus: bitcoin.pid)</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Virhe: Rahansiirto hylättiin. Tämä voi tapahtua jos jotkin bitcoineistasi on jo käytetty, esimerkiksi jos olet käyttänyt kopiota wallet.dat-lompakkotiedostosta ja bitcoinit on merkitty käytetyksi vain kopiossa.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Virhe ladattaessa wallet.dat-tiedostoa: Lompakko vioittunut</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Virhe: Tämä rahansiirto vaatii rahansiirtopalkkion vähintään %s johtuen sen määrästä, monimutkaisuudesta tai hiljattain vastaanotettujen summien käytöstä</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Kuinka tiukka lohkovarmistus on (0-6, oletus: 1)</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Kuuntele JSON-RPC -yhteyksiä portista &lt;port&gt; (oletus: 8332 or testnet: 18332)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Salasana JSON-RPC-yhteyksille</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Lähetä jäljitys/debug-tieto debuggeriin</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Käyttäjätunnus JSON-RPC-yhteyksille</translation>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Hyväksy merkkipohjaiset- ja JSON-RPC-käskyt</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, sinun täytyy asettaa rpcpassword asetustiedostoon:
-%s
-On suositeltavaa käyttää seuraavaan satunnaista salasanaa:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(sinun ei tarvitse muistaa tätä salasanaa)
-Jos tiedostoa ei ole, niin luo se ainoastaan omistajan kirjoitusoikeuksin.
-</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Lähetetään...</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Virhe: Rahansiirron luonti epäonnistui.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Sinun täytyy asettaa rpcpassword=&lt;password&gt; asetustiedostoon:
-%s
-Jos tiedostoa ei ole, niin luo se ainoastaan omistajan kirjoitusoikeuksin.</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Virhe: Lompakko on lukittu, rahansiirtoa ei voida luoda</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Salli JSON-RPC yhteydet tietystä ip-osoitteesta</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Määritä data-hakemisto</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>Käytä %s optiota</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Aja taustalla daemonina ja hyväksy komennot</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Virhe</translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Käytä test -verkkoa</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Ladataan osoitteita...</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Hyväksy yhteyksiä ulkopuolelta (vakioasetus: 1 jos -proxy tai -connect ei määritelty)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Linää solmu mihin liittyä pitääksesi yhteyden auki</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Aseta suurin korkean prioriteetin / matalan palkkion siirron koko tavuissa (vakioasetus: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Etsi solmuja käyttäen internet relay chatia (oletus: 0)</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Varoitus: -paytxfee on asetettu erittäin korkeaksi! Tämä on maksukulu jonka tulet maksamaan kun lähetät siirron.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Varoitus: Näytetyt siirrot eivät välttämättä pidä paikkaansa! Sinun tai toisten noodien voi olla tarpeen asentaa päivitys.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Varoitus: Tarkista että tietokoneesi kellonaika ja päivämäärä ovat paikkansapitäviä! Bitcoin ei toimi oikein väärällä päivämäärällä ja/tai kellonajalla.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Lohkon luonnin asetukset:</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Yhidstä ainoastaan määrättyihin noodeihin</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Hae oma IP osoite (vakioasetus: 1 kun kuuntelemassa ja ei -externalip)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Ei onnistuttu kuuntelemaan missään portissa. Käytä -listen=0 jos haluat tätä.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Hae naapureita DNS hauilla (vakioasetus: 1 paitsi jos -connect)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Virheellinen -tor osoite &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Suurin vastaanottopuskuri yksittäiselle yhteydelle, &lt;n&gt;*1000 tavua (vakioasetus: 5000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Suurin lähetyspuskuri yksittäiselle yhteydelle, &lt;n&gt;*1000 tavua (vakioasetus: 1000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Yhdistä vain noodeihin verkossa &lt;net&gt; (IPv4, IPv6 tai Tor)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Tulosta enemmän debug tietoa. Aktivoi kaikki -debug* asetukset</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Tulosta lisää verkkoyhteys debug tietoa</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation>Lisää debuggaustiedon tulostukseen aikaleima</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL asetukset (katso Bitcoin Wikistä tarkemmat SSL ohjeet)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Aseta avainpoolin koko arvoon &lt;n&gt; (oletus: 100)</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Valitse käytettävän SOCKS-proxyn versio (4-5, vakioasetus: 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Hyväksyttävä salaus (oletus:
-TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Lähetä jäljitys/debug-tieto konsoliin, debug.log-tiedoston sijaan</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Kuuntele yhteyksiä portista &lt;port&gt; (oletus: 8333 tai testnet: 18333)</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Lähetä jäljitys/debug-tieto debuggeriin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Suorita käsky kun paras lohko muuttuu (%s cmd on vaihdettu block hashin kanssa)</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Aseta suurin lohkon koko tavuissa (vakioasetus: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>Aseta tietokannan välimuistin koko megatavuina (oletus: 25)</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Asetan pienin lohkon koko tavuissa (vakioasetus: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Skannataan uudelleen...</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Pienennä debug.log tiedosto käynnistyksen yhteydessä (vakioasetus: 1 kun ei -debug)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Aja taustalla daemonina ja hyväksy komennot</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Määritä yhteyden aikakataisu millisekunneissa (vakioasetus: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Palvelimen yksityisavain (oletus: server.pem)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Käytä UPnP:tä kuunneltavan portin avaamiseen (vakioasetus: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Lataus on valmis</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Käytä UPnP:tä kuunneltavan portin avaamiseen (vakioasetus: 1 kun kuuntelemassa)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Käyttö:</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Käytä proxyä tor yhteyksien avaamiseen (vakioasetus: sama kuin -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Lompakko tarvitsee uudelleenkirjoittaa: käynnistä Bitcoin uudelleen</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Käyttäjätunnus JSON-RPC-yhteyksille</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Salli DNS haut lisäsolmulle ja yhdistä</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Varoitus: Levytila on vähissä!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Varoitus: Tämä versio on vanhentunut, päivitys tarpeen!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Virhe: Rahansiirron luonti epäonnistui.</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Salasana JSON-RPC-yhteyksille</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Virhe: Rahansiirto hylättiin. Tämä voi tapahtua jos jotkin bitcoineistasi on jo käytetty, esimerkiksi jos olet käyttänyt kopiota wallet.dat-lompakkotiedostosta ja bitcoinit on merkitty käytetyksi vain kopiossa.</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Salli JSON-RPC yhteydet tietystä ip-osoitteesta</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Ota yhteys vain tiettyyn solmuun</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Lähetä käskyjä solmuun osoitteessa &lt;ip&gt; (oletus: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>Hae naapureita DNS hauilla (vakioasetus: 1)</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Suorita käsky kun paras lohko muuttuu (%s cmd on vaihdettu block hashin kanssa)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maksimi verkkoyhteyden lähetyspuskuri, &lt;n&gt;*1000 tavua (oletus: 10000)</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Päivitä lompakko uusimpaan formaattiin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Irroita lohko ja osoite-tietokannat. Pidentää sammutus-aikaa (vakioasetus: 0)</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Aseta avainpoolin koko arvoon &lt;n&gt; (oletus: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Tulosta ylimääräistä debuggaustietoa</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Skannaa uudelleen lohkoketju lompakon puuttuvien rahasiirtojen vuoksi</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>SSL-asetukset: (lisätietoja Bitcoin-Wikistä)</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Kuinka monta lohkoa tarkistetaan käynnistettäessä (oletus: 2500, 0 = kaikki)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Virhe ladattaessa addr.dat-tiedostoa</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Kuinka tiukka lohkovarmistus on (0-6, oletus: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Virheellinen proxy-osoite</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Tuo lohkoja ulkoisesta blk000?.dat tiedostosta</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Virheellinen määrä -paytxfee=&lt;amount&gt;</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Käytä OpenSSL:ää (https) JSON-RPC-yhteyksille</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Varoitus:-paytxfee on erittäin korkea. Tämä on palkkio siirrosta minkä suoritat rahansiirrosta.</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Palvelimen sertifikaatti-tiedosto (oletus: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Varoitus: Kiintolevytila on loppumassa</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Palvelimen yksityisavain (oletus: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">Älä hyväksy ulkopuolisia yhteyksiä</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Hyväksyttävä salaus (oletus:
+TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Yritä käyttää UPnP toimintoa kartoittamaan avointa porttia (default: 1)</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Tämä ohjeviesti</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Yritä käyttää UPnP toimintoa kartoittamaan avointa porttia (default: 0)</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>En pääse käsiksi data-hakemiston lukitukseen %s. Bitcoin on todennäköisesti jo käynnistetty.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Käytä test -verkkoa</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Käynnistä pienennettynä</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Kytkeytyminen %s tällä tietokonella ei onnistu (kytkeytyminen palautti virheen %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Set language, for example &quot;de_DE&quot; (default: system locale)</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Yhdistä socks proxyn läpi</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maksimi verkkoyhteyden vastaanottopuskuri, &lt;n&gt;*1000 tavua (oletus: 10000)</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Salli DNS kyselyt -addnode, -seednode ja -connect yhteydessä</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Virheellinen määrä</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Ladataan osoitteita...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Lompakon saldo ei riitä</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Virhe ladattaessa blkindex.dat-tiedostoa</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Virhe valmisteltaessa RPC-portin %u avaamista kuunneltavaksi: %s</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Virhe ladattaessa wallet.dat-tiedostoa: Lompakko vioittunut</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Pidä enintään &lt;n&gt; yhteyttä verkkoihin (oletus: 125)</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Virhe ladattaessa wallet.dat-tiedostoa: Tarvitset uudemman version Bitcoinista</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Sekuntien määrä, kuinka kauan uudelleenkytkeydytään verkkoihin (oletus: 86400)</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Lompakko tarvitsee uudelleenkirjoittaa: käynnistä Bitcoin uudelleen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Asetukset:</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Virhe ladattaessa wallet.dat-tiedostoa</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Älä generoi kolikoita</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Virheellinen proxy-osoite &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Näytä aloitusruutu käynnistettäessä (oletus: 1)</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Tuntematon verkko -onlynet parametrina: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Aseta tietokannan lokitiedoston koko megatavuina (oletus: 100)</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Tuntematon -socks proxy versio pyydetty: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Määritä yhteyden aikakatkaisu (millisekunneissa)</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>-bind osoitteen &apos;%s&apos; selvittäminen epäonnistui</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Yhteys socks4-proxyn kautta</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>-externalip osoitteen &apos;%s&apos; selvittäminen epäonnistui</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Virhe ladattaessa blkindex.dat-tiedostoa</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>-paytxfee=&lt;amount&gt;: &apos;%s&apos; on virheellinen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Lähetä käskyjä solmuun osoitteessa &lt;ip&gt; (oletus: 127.0.0.1)</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Virhe: ei pystytty käynnistämään noodia.</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Lähetetään...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Virhe: CreateThread(StartNode) epäonnistui</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Virheellinen määrä</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>En pysty varaamaan porttia %d tähän koneeseen. Ehkä Bitcoin on jo käynnissä.</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Lompakon saldo ei riitä</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Varoitus: Tarkista, ovatko tietokoneesi päivämäärä ja aika oikein. Mikäli aika on väärin, Bitcoin-ohjelma ei toimi oikein.</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Ladataan lohkoindeksiä...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Käyttö</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Linää solmu mihin liittyä pitääksesi yhteyden auki</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Kuinka monta lohkoa tarkistetaan käynnistettäessä (oletus: 2500, 0 = kaikki)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Kytkeytyminen %s ei onnistu tällä tietokoneella. Bitcoin on todennäköisesti jo ajamassa.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Etsi solmuja käyttäen internet relay chatia (oletus: 0)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
<source>Fee per KB to add to transactions you send</source>
<translation>Rahansiirtopalkkio per KB lisätään lähettämääsi rahansiirtoon</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Skannaa uudelleen lohkoketju lompakon puuttuvien rahasiirtojen vuoksi</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Ladataan lompakkoa...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Et voi päivittää lompakkoasi vanhempaan versioon</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Avainvarastoa ei voi alustaa</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Oletusosoitetta ei voi kirjoittaa</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Skannataan uudelleen...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Lataus on valmis</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Käytä %s optiota</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, sinun täytyy asettaa rpcpassword asetustiedostoon:
+%s
+On suositeltavaa käyttää seuraavaan satunnaista salasanaa:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(sinun ei tarvitse muistaa tätä salasanaa)
+Jos tiedostoa ei ole, niin luo se ainoastaan omistajan kirjoitusoikeuksin.
+</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Virhe</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Sinun täytyy asettaa rpcpassword=&lt;password&gt; asetustiedostoon:
+%s
+Jos tiedostoa ei ole, niin luo se ainoastaan omistajan kirjoitusoikeuksin.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_fr.ts b/src/qt/locale/bitcoin_fr.ts
new file mode 100644
index 0000000000..47dc96eca2
--- /dev/null
+++ b/src/qt/locale/bitcoin_fr.ts
@@ -0,0 +1,2725 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>AboutDialog</name>
+ <message>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
+ <source>About Bitcoin</source>
+ <translation>À propos de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
+ <translation>&lt;b&gt;Bitcoin&lt;/b&gt; version</translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012, les développeurs Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
+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.</source>
+ <translation>
+ Ce logiciel est en phase expérimentale.
+
+ Distribué sous licence MIT/X11, voir le fichier COPYING ou http://www.opensource.org/licenses/mit-license.php.
+
+ 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.</translation>
+ </message>
+</context>
+<context>
+ <name>AddressBookPage</name>
+ <message>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
+ <source>Address Book</source>
+ <translation>Options interface utilisateur</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Double-click to edit address or label</source>
+ <translation>Double cliquez afin de modifier l&apos;adresse ou l&apos;étiquette</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Create a new address</source>
+ <translation>Créer une nouvelle adresse</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Copier l&apos;adresse sélectionnée dans le presse-papiers</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Nouvelle adresse</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Copier l&apos;adresse</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>Afficher le &amp;QR Code</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Signer un message pour prouver que vous détenez une adresse Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>Signer un &amp;message</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Effacer l&apos;adresse actuellement sélectionnée de la liste</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Vérifier un message pour vous assurer qu&apos;il a bien été signé avec l&apos;adresse Bitcoin spécifiée</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Vérifier un message</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Supprimer</translation>
+ </message>
+ <message>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Copier l&apos;é&amp;tiquette</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Éditer</translation>
+ </message>
+ <message>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Exporter les données du carnet d&apos;adresses</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Valeurs séparées par des virgules (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Erreur lors de l&apos;exportation</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Impossible d&apos;écrire dans le fichier %1.</translation>
+ </message>
+</context>
+<context>
+ <name>AddressTableModel</name>
+ <message>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
+ <source>Label</source>
+ <translation>Étiquette</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>(no label)</source>
+ <translation>(aucune étiquette)</translation>
+ </message>
+</context>
+<context>
+ <name>AskPassphraseDialog</name>
+ <message>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Dialogue de phrase de passe</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Entrez la phrase de passe</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Nouvelle phrase de passe</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Répétez la phrase de passe</translation>
+ </message>
+ <message>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Entrez une nouvelle phrase de passe pour le porte-monnaie.&lt;br/&gt;Veuillez utiliser une phrase composée de &lt;b&gt;10 caractères aléatoires ou plus&lt;/b&gt;, ou bien de &lt;b&gt;huit mots ou plus&lt;/b&gt;.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Chiffrer le porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Cette opération nécessite votre phrase de passe pour déverrouiller le porte-monnaie.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Déverrouiller le porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Cette opération nécessite votre phrase de passe pour décrypter le porte-monnaie.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Déchiffrer le porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Changer la phrase de passe</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Entrez l’ancienne phrase de passe pour le porte-monnaie ainsi que la nouvelle.</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Confirmer le chiffrement du porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Attention : Si vous chiffrez votre porte-monnaie et perdez votre phrase de passe, vous &lt;b&gt;PERDREZ ACCÈS À TOUS VOS BITCOINS&lt;/b&gt; !</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Êtes-vous sûr de vouloir chiffrer votre porte-monnaie ?</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>IMPORTANT : Les sauvegardes précédentes de votre fichier de porte-monnaie devraient être remplacées par le nouveau fichier crypté de porte-monnaie. Pour des raisons de sécurité, les précédentes sauvegardes de votre fichier de porte-monnaie non chiffré deviendront inutilisables dès que vous commencerez à utiliser le nouveau porte-monnaie chiffré.</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Attention : la touche Verr. Maj. est activée !</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Porte-monnaie chiffré</translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin va à présent se fermer pour terminer la procédure de cryptage. N&apos;oubliez pas que le chiffrement de votre porte-monnaie ne peut pas fournir une protection totale contre le vol par des logiciels malveillants qui infecteraient votre ordinateur.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Le chiffrement du porte-monnaie a échoué</translation>
+ </message>
+ <message>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Le chiffrement du porte-monnaie a échoué en raison d&apos;une erreur interne. Votre porte-monnaie n&apos;a pas été chiffré.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>Les phrases de passe entrées ne correspondent pas.</translation>
+ </message>
+ <message>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>Le déverrouillage du porte-monnaie a échoué</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>La phrase de passe entrée pour décrypter le porte-monnaie était incorrecte.</translation>
+ </message>
+ <message>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Le déchiffrage du porte-monnaie a échoué</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>La phrase de passe du porte-monnaie a été modifiée avec succès.</translation>
+ </message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
+ <message>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Signer un &amp;message...</translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Synchronisation avec le réseau…</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Vue d&apos;ensemble</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Afficher une vue d’ensemble du porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Transactions</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Parcourir l&apos;historique des transactions</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>Carnet d’&amp;adresses</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Éditer la liste des adresses et des étiquettes stockées</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Recevoir des pièces</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Afficher la liste des adresses pour recevoir des paiements</translation>
+ </message>
+ <message>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Envoyer des pièces</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>Q&amp;uitter</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Quitter l’application</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Afficher des informations à propos de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>À propos de &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Afficher des informations sur Qt</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Options…</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Chiffrer le porte-monnaie...</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Sauvegarder le porte-monnaie...</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Modifier la phrase de passe...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n bloc restant</numerusform>
+ <numerusform>~%n blocs restants</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>%1 blocs de l&apos;historique des transactions sur %2 téléchargés (%3% effectué).</translation>
+ </message>
+ <message>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Exporter…</translation>
+ </message>
+ <message>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Envoyer des pièces à une adresse Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modifier les options de configuration de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Exporter les données de l&apos;onglet courant vers un fichier</translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Chiffrer ou déchiffrer le porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Sauvegarder le porte-monnaie à un autre emplacement</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Modifier la phrase de passe utilisée pour le chiffrement du porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>Fenêtre de &amp;débogage</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Ouvrir une console de débogage et de diagnostic</translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Vérifier un message...</translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>À &amp;propos de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Afficher / Cacher</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fichier</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Réglages</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Aide</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Barre d&apos;outils des onglets</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Barre d&apos;outils des actions</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Client Bitcoin</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n connexion active avec le réseau Bitcoin</numerusform>
+ <numerusform>%n connexions actives avec le réseau Bitcoin</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>%1 blocs de l&apos;historique des transactions téléchargés.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>il y a %n seconde</numerusform>
+ <numerusform>il y a %n secondes</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>il y a %n minute</numerusform>
+ <numerusform>il y a %n minutes</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>il y a %n heure</numerusform>
+ <numerusform>il y a %n heures</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>il y a %n jour</numerusform>
+ <numerusform>il y a %n jours</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>À jour</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Rattrapage…</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Le dernier bloc reçu a été généré %1.</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Cette transaction dépasse la limite de taille. Vous pouvez quand même l&apos;envoyer en vous acquittant de frais d&apos;un montant de %1, qui iront aux nœuds qui traiteront la transaction et aideront à soutenir le réseau. Voulez-vous payer les frais ?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Confirmer les frais de transaction</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Transaction envoyée</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Transaction entrante</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>Date : %1
+Montant : %2
+Type : %3
+Adresse : %4
+</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>Gestion des URI</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>L&apos;URI ne peut être analysé ! Cela peut être causé par une adresse Bitcoin invalide ou par des paramètres d&apos;URI malformés.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Le porte-monnaie est &lt;b&gt;chiffré&lt;/b&gt; et est actuellement &lt;b&gt;déverrouillé&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Le porte-monnaie est &lt;b&gt;chiffré&lt;/b&gt; et est actuellement &lt;b&gt;verrouillé&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Sauvegarder le porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Données de porte-monnaie (*.dat)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>La sauvegarde a échoué</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Une erreur est survenue lors de l&apos;enregistrement des données de porte-monnaie à un autre emplacement.</translation>
+ </message>
+ <message>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>Une erreur fatale est survenue. Bitcoin ne peut plus continuer à fonctionner de façon sûre et va s&apos;arrêter.</translation>
+ </message>
+</context>
+<context>
+ <name>ClientModel</name>
+ <message>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Alerte réseau</translation>
+ </message>
+</context>
+<context>
+ <name>EditAddressDialog</name>
+ <message>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
+ <source>Edit Address</source>
+ <translation>Éditer l&apos;adresse</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Étiquette</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The label associated with this address book entry</source>
+ <translation>L’étiquette associée à cette entrée du carnet d&apos;adresses</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Adresse</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <translation>L’adresse associée avec cette entrée du carnet d&apos;adresses. Ne peut être modifiées que les adresses d’envoi.</translation>
+ </message>
+ <message>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>Nouvelle adresse de réception</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation>Nouvelle adresse d’envoi</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Edit receiving address</source>
+ <translation>Éditer l’adresse de réception</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Éditer l’adresse d&apos;envoi</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>L’adresse fournie « %1 » est déjà présente dans le carnet d&apos;adresses.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>L&apos;adresse fournie « %1 » n&apos;est pas une adresse Bitcoin valide.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Impossible de déverrouiller le porte-monnaie.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation>Échec de la génération de la nouvelle clef.</translation>
+ </message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
+ <message>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
+ </message>
+ <message>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>version</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Utilisation :</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>options de ligne de commande</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>Options Interface Utilisateur</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Définir la langue, par exemple « de_DE » (par défaut : la langue du système)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Démarrer sous forme minimisée</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Afficher l&apos;écran d&apos;accueil au démarrage (par défaut : 1)</translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Options</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>Réglages &amp;principaux</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Payer des &amp;frais de transaction</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Démarrer Bitcoin automatiquement lors de l&apos;ouverture une session sur l&apos;ordinateur.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Démarrer Bitcoin lors de l&apos;ouverture d&apos;une session</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Détacher les bases de données de blocs et d&apos;adresses lors de la fermeture. Cela permet de les déplacer dans un autre répertoire de données mais ralentit la fermeture. Le porte-monnaie est toujours détaché.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Détacher les bases de données lors de la fermeture</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Réseau</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Ouvrir le port du client Bitcoin automatiquement sur le routeur. Cela ne fonctionne que si votre routeur supporte l&apos;UPnP et si la fonctionnalité est activée.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Ouvrir le port avec l&apos;&amp;UPnP</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Connexion au réseau Bitcoin à travers un proxy SOCKS (par ex. lors d&apos;une connexion via Tor).</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Connexion à travers un proxy SOCKS :</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>&amp;IP du proxy :</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Adresse IP du proxy (par ex. 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port :</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Port du proxy (par ex. 9050)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>&amp;Version SOCKS :</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Version SOCKS du serveur mandataire (par ex. 5)</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Fenêtre</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Afficher uniquement une icône système après minimisation.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimiser dans la barre système au lieu de la barre des tâches</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimiser au lieu quitter l&apos;application lorsque la fenêtre est fermée. Lorsque cette option est activée, l&apos;application ne pourra être fermée qu&apos;en sélectionnant Quitter dans le menu déroulant.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimiser lors de la fermeture</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Affichage</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>&amp;Langue de l&apos;interface utilisateur :</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>La langue de l&apos;interface utilisateur peut être définie ici. Ce réglage sera pris en compte après redémarrage de Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Unité d&apos;affichage des montants :</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Choisissez la sous-unité par défaut pour l&apos;affichage dans l&apos;interface et lors de l&apos;envoi de pièces.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Détermine si les adresses Bitcoin seront affichées sur la liste des transactions.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Afficher les adresses sur la liste des transactions</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;Valider</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>A&amp;nnuler</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Appliquer</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>par défaut</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Avertissement</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Ce réglage sera pris en compte après un redémarrage de Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>L&apos;adresse de proxy fournie est invalide.</translation>
+ </message>
+</context>
+<context>
+ <name>OverviewPage</name>
+ <message>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>Les informations affichées peuvent être obsolètes. Votre porte-monnaie est automatiquement synchronisé avec le réseau Bitcoin lorsque la connexion s&apos;établit, or ce processus n&apos;est pas encore terminé.</translation>
+ </message>
+ <message>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Solde :</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Nombre de transactions :</translation>
+ </message>
+ <message>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Non confirmé :</translation>
+ </message>
+ <message>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Immature :</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Le solde généré n&apos;est pas encore mûr</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Transactions récentes&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Votre solde actuel</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Total des transactions qui doivent encore être confirmées et qui ne sont pas prises en compte dans le solde actuel</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Nombre total de transactions dans le porte-monnaie</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>désynchronisé</translation>
+ </message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
+ <message>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>Dialogue de QR Code</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Demande de paiement</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Montant :</translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Étiquette :</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Message :</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Enregistrer sous...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Erreur de l&apos;encodage de l&apos;URI dans le QR Code.</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Le montant entré est invalide, veuillez le vérifier.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>L&apos;URI résultant est trop long, essayez avec un texte d&apos;étiquette ou de message plus court.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Sauvegarder le QR Code</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>Images PNG (*.png)</translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Nom du client</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>Indisponible</translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Version du client</translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Informations</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Version d&apos;OpenSSL utilisée</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Date de démarrage</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Réseau</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Nombre de connexions</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>Sur testnet</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Chaîne de blocs</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Nombre actuel de blocs</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Nombre total estimé de blocs</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Horodatage du dernier bloc</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Ouvrir</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Options de ligne de commande</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Afficher le message d&apos;aide de Bitcoin-Qt pour obtenir la liste des options de ligne de commande disponibles pour Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Afficher</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Console</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Date de compilation</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Fenêtre de débogage</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Noyau Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Journal de débogage</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Ouvrir le journal de débogage de Bitcoin depuis le répertoire de données actuel. Cela peut prendre quelques secondes pour les journaux de grande taille.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Nettoyer la console</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Bienvenue sur la console RPC de Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Utilisez les touches de curseur pour naviguer dans l&apos;historique et &lt;b&gt;Ctrl-L&lt;/b&gt; pour effacer l&apos;écran.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Tapez &lt;b&gt;help&lt;/b&gt; pour afficher une vue générale des commandes disponibles.</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Envoyer des pièces</translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>Envoyer des pièces à plusieurs destinataires à la fois</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Ajouter un &amp;destinataire</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Enlever tous les champs de transaction</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Tout nettoyer</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Solde :</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Confirmer l’action d&apos;envoi</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>E&amp;nvoyer</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; à %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Confirmer l’envoi des pièces</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>Êtes-vous sûr de vouloir envoyer %1 ?</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> et </translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>Cette adresse de destinataire n’est pas valide, veuillez la vérifier.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>Le montant à payer doit être supérieur à 0.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>Le montant dépasse votre solde.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation>Le montant dépasse votre solde lorsque les frais de transaction de %1 sont inclus.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>Adresse dupliquée trouvée, il n&apos;est possible d&apos;envoyer qu&apos;une fois à chaque adresse par opération d&apos;envoi.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Erreur : échec de la création de la transaction.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>Erreur : la transaction a été rejetée. Cela peut arriver si certaines pièces de votre porte-monnaie ont déjà été dépensées, par exemple si vous avez utilisé une copie de wallet.dat avec laquelle les pièces ont été dépensées mais pas marquées comme telles ici.</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsEntry</name>
+ <message>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Formulaire</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>&amp;Montant :</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Payer &amp;à :</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Entrez une étiquette pour cette adresse afin de l’ajouter à votre carnet d’adresses</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Étiquette :</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>L&apos;adresse à laquelle le paiement sera envoyé (par ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Choisir une adresse dans le carnet d&apos;adresses</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Coller une adresse depuis le presse-papiers</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Enlever ce destinataire</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Entrez une adresse Bitcoin (par ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Signatures - Signer / Vérifier un message</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Signer le message</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Vous pouvez signer des messages avec vos adresses pour prouver que les détenez. Faites attention à ne pas signer quoi que ce soit de vague car des attaques d&apos;hameçonnage peuvent essayer d&apos;usurper votre identité par votre signature. Ne signez que des déclarations entièrement détaillées et avec lesquelles vous serez d&apos;accord.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>L&apos;adresse avec laquelle le message sera signé (par ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Choisir une adresse depuis le carnet d&apos;adresses</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Coller une adresse depuis le presse-papiers</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Entrez ici le message que vous désirez signer</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Copier la signature actuelle dans le presse-papiers</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Signer le message pour prouver que vous détenez cette adresse Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Remettre à zéro tous les champs de signature de message</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>&amp;Tout nettoyer</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Vérifier le message</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Entrez ci-dessous l&apos;adresse ayant servi à signer, le message (assurez-vous d&apos;avoir copié exactement les retours à la ligne, les espacements, tabulations etc.) et la signature pour vérifier le message. Faites attention à ne pas déduire davantage de la signature que ce qui est contenu dans le message signé lui-même pour éviter d&apos;être trompé par une attaque d&apos;homme du milieu.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>L&apos;adresse avec laquelle le message a été signé (par ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Vérifier le message pour vous assurer qu&apos;il a bien été signé par l&apos;adresse Bitcoin spécifiée</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Remettre à zéro tous les champs de vérification de message</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Entrez une adresse Bitcoin (par ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Cliquez sur « Signer le message » pour générer la signature</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Entrer une signature Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>L&apos;adresse entrée est invalide.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Veuillez vérifier l&apos;adresse et réessayez.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>L&apos;adresse entrée ne fait pas référence à une clef.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Le déverrouillage du porte-monnaie a été annulé.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>La clef privée pour l&apos;adresse indiquée n&apos;est pas disponible.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>La signature du message a échoué.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Le message a été signé.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>La signature n&apos;a pu être décodée.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Veuillez vérifier la signature et réessayez.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>La signature ne correspond pas au hachage du message.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Échec de la vérification du message.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Message vérifié.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Ouvert jusqu&apos;à %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Ouvert pour %n bloc</numerusform>
+ <numerusform>Ouvert pour %n blocs</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/hors ligne</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/non confirmée</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 confirmations</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>État</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, diffusée à travers %n nœud</numerusform>
+ <numerusform>, diffusée à travers %n nœuds</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Date</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Source</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Génération</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>De</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>À</translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>votre propre adresse</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>étiquette</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Crédit</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>arrive à maturité dans %n bloc</numerusform>
+ <numerusform>arrive à maturité dans %n blocs de plus</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>non accepté</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Débit</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Frais de transaction</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Montant net</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Message</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Commentaire</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID de la transaction</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Les pièces générées doivent mûrir pendant 120 blocs avant de pouvoir être dépensées. Lorsque vous avez généré ce bloc, il a été diffusé sur le réseau pour être ajouté à la chaîne de blocs. S’il échoue a intégrer la chaîne, son état sera modifié en « non accepté » et il ne sera pas possible de le dépenser. Cela peut arriver occasionnellement si un autre nœud génère un bloc quelques secondes avant ou après vous.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Informations de débogage</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transaction</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Entrées</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Montant</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>vrai</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>faux</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, n’a pas encore été diffusée avec succès</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>inconnu</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDescDialog</name>
+ <message>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Détails de la transaction</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Ce panneau affiche une description détaillée de la transaction</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
+ <message>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Date</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Montant</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Ouvert pour %n bloc</numerusform>
+ <numerusform>Ouvert pour %n blocs</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Ouvert jusqu&apos;à %1</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Hors ligne (%1 confirmations)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Non confirmée (%1 confirmations sur un total de %2)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>Confirmée (%1 confirmations)</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Le solde généré (mined) sera disponible quand il aura mûri dans %n bloc</numerusform>
+ <numerusform>Le solde généré (mined) sera disponible quand il aura mûri dans %n blocs</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Ce bloc n’a été reçu par aucun autre nœud et ne sera probablement pas accepté !</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>Généré mais pas accepté</translation>
+ </message>
+ <message>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Reçue avec</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Reçue de</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Envoyée à</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Paiement à vous-même</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>Extraction</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(indisponible)</translation>
+ </message>
+ <message>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>État de la transaction. Laissez le pointeur de la souris sur ce champ pour voir le nombre de confirmations.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Date et heure de réception de la transaction.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Type de transaction.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>L’adresse de destination de la transaction.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Montant ajouté au, ou enlevé du, solde.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionView</name>
+ <message>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Toutes</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Aujourd’hui</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Cette semaine</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Ce mois-ci</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Mois dernier</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Cette année</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Intervalle…</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Reçues avec</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Envoyées à</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>À vous-même</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Extraction</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Autres</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Entrez une adresse ou une étiquette à rechercher</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Montant min</translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Copier l’adresse</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Copier l’étiquette</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Copier le montant</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Éditer l’étiquette</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Afficher les détails de la transaction</translation>
+ </message>
+ <message>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Exporter les données des transactions</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Valeurs séparées par des virgules (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Confirmée</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Date</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Étiquette</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Montant</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Erreur lors de l’exportation</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Impossible d&apos;écrire dans le fichier %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Intervalle :</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>à</translation>
+ </message>
+</context>
+<context>
+ <name>WalletModel</name>
+ <message>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>Envoi en cours…</translation>
+ </message>
+</context>
+<context>
+ <name>bitcoin-core</name>
+ <message>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Version de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Utilisation :</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Envoyer une commande à -server ou à bitcoind</translation>
+ </message>
+ <message>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Lister les commandes</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Obtenir de l’aide pour une commande</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Options :</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Spécifier le fichier de configuration (par défaut : bitcoin.conf)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Spécifier le fichier PID (par défaut : bitcoind.pid)</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Générer des pièces</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Ne pas générer de pièces</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Spécifier le répertoire de données</translation>
+ </message>
+ <message>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Définir la taille du tampon en mégaoctets (par défaut : 25)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Définir la taille du journal de la base de données sur le disque en mégaoctets (par défaut : 100)</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Écouter les connexions sur le &lt;port&gt; (par défaut : 8333 ou testnet : 18333)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Garder au plus &lt;n&gt; connexions avec les pairs (par défaut : 125)</translation>
+ </message>
+ <message>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Se connecter à un nœud pour obtenir des adresses de pairs puis se déconnecter</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Spécifier votre propre adresse publique</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Attacher à l&apos;adresse définie. Utilisez la notation [hôte]:port pour l&apos;IPv6</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Seuil de déconnexion des pairs de mauvaise qualité (par défaut : 100)</translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Délai en secondes de refus de reconnexion aux pairs de mauvaise qualité (par défaut : 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Une erreur est survenue lors de la mise en place du port RPC %u pour écouter sur IPv4 : %s</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>Une erreur est survenue lors de la mise en place du port RPC %u pour écouter sur IPv6, retour à IPv4 : %s</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Détacher les bases de données des blocs et des adresses. Augmente le délai de fermeture (par défaut : 0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Erreur : la transaction a été rejetée. Cela peut arriver si certaines pièces de votre porte-monnaie ont déjà été dépensées, par exemple si vous avez utilisé une copie de wallet.dat avec laquelle les pièces ont été dépensées mais pas marquées comme telles ici.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Erreur : cette transaction nécessite des frais de transaction d&apos;au moins %s en raison de son montant, de sa complexité ou parce que des fonds reçus récemment sont utilisés </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Écouter les connexions JSON-RPC sur le &lt;port&gt; (par défaut : 8332 ou tesnet : 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Accepter les commandes de JSON-RPC et de la ligne de commande</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Erreur : échec de la création de la transaction.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Erreur : le porte-monnaie est verrouillé, impossible de créer la transaction </translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Importation du fichier de données de la chaîne des blocs.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Importation du fichier de données de démarrage de la chaîne des blocs.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Fonctionner en arrière-plan en tant que démon et accepter les commandes</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Utiliser le réseau de test</translation>
+ </message>
+ <message>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Accepter les connexions entrantes (par défaut : 1 si -proxy ou -connect ne sont pas présents)</translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Définir la taille maximale en octets des transactions prioritaires/à frais modiques (par défaut : 27000)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Attention : -paytxfee est réglée sur un montant très élevé ! Il s&apos;agit des frais de transaction que vous payerez si vous émettez une transaction.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Avertissement : les transactions affichées pourraient être incorrectes ! Vous ou d&apos;autres nœuds du réseau pourriez avoir besoin d&apos;effectuer une mise à jour.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Attention : veuillez vérifier que l&apos;heure et la date de votre ordinateur sont correctes ! Si votre horloge n&apos;est pas à l&apos;heure, Bitcoin ne fonctionnera pas correctement.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Options de création des blocs :</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Ne se connecter qu&apos;au(x) nœud(s) spécifié(s)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Découvrir sa propre adresse IP (par défaut : 1 lors de l&apos;écoute et si -externalip n&apos;est pas présent)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Échec de l&apos;écoute sur un port quelconque. Utilisez -listen=0 si vous voulez cela.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Trouver des pairs en utilisant la recherche DNS (par défaut : 1 sauf si -connect est utilisé)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Adresse -tor invalide : « %s »</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Tampon maximal de réception par -connection, &lt;n&gt;*1000 octets (par défaut : 5000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Tampon maximal d&apos;envoi par connexion, &lt;n&gt;*1000 octets (par défaut : 1000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Se connecter uniquement aux nœuds du réseau &lt;net&gt; (IPv4, IPv6 ou Tor)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Afficher des information de débogage supplémentaires. Cela signifie toutes les autres options -debug*</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Afficher des informations de débogage réseau supplémentaires</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Faire précéder les données de débogage par un horodatage</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>Options SSL : (cf. le wiki de Bitcoin pour les instructions de configuration du SSL)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Sélectionner la version du proxy socks à utiliser (4-5, 5 étant la valeur par défaut)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Envoyer les informations de débogage/trace à la console au lieu du fichier debug.log</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Envoyer les informations de débogage/trace au débogueur</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Définir la taille maximale des blocs en octets (par défaut : 250000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Définir la taille minimale des blocs en octets (par défaut : 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Réduire le fichier debug.log lors du démarrage du client (par défaut : 1 lorsque -debug n&apos;est pas présent)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Spécifier le délai d&apos;expiration de la connexion en millisecondes (par défaut : 5000)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Utiliser l&apos;UPnP pour rediriger le port d&apos;écoute (par défaut : 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Utiliser l&apos;UPnP pour rediriger le port d&apos;écoute (par défaut : 1 lors de l&apos;écoute)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Utiliser un proxy pour atteindre les services cachés de Tor (par défaut : même valeur que -proxy)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Nom d&apos;utilisateur pour les connexions JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Attention : l&apos;espace disque est faible !</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Avertissement : cette version est obsolète, une mise à jour est nécessaire !</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Mot de passe pour les connexions JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Autoriser les connexions JSON-RPC depuis l&apos;adresse IP spécifiée</translation>
+ </message>
+ <message>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Envoyer des commandes au nœud fonctionnant à &lt;ip&gt; (par défaut : 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Exécuter la commande lorsque le meilleur bloc change (%s est remplacé par le hachage du bloc dans cmd)</translation>
+ </message>
+ <message>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Mettre à jour le format du porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Régler la taille de la plage de clefs sur &lt;n&gt; (par défaut : 100)</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Réanalyser la chaîne de blocs pour les transactions de porte-monnaie manquantes</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Nombre de blocs à tester au démarrage (par défaut : 2500, 0 = tous)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Profondeur de la vérification des blocs (0-6, par défaut : 1)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Importe des blocs depuis un fichier blk000?.dat externe</translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Utiliser OpenSSL (https) pour les connexions JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Fichier de certificat serveur (par défaut : server.cert)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Clef privée du serveur (par défaut : server.pem)</translation>
+ </message>
+ <message>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Clefs de chiffrement acceptables (par défaut : TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Ce message d&apos;aide</translation>
+ </message>
+ <message>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Impossible d’obtenir un verrou sur le répertoire de données %s. Le programme Bitcoin est probablement déjà lancé.</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Impossible de se lier à %s sur cet ordinateur (bind a retourné l&apos;erreur %d, %s)</translation>
+ </message>
+ <message>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Connexion via un proxy socks</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Autoriser les recherches DNS pour -addnode, -seednode et -connect</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Chargement des adresses…</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Erreur lors du chargement de blkindex.dat</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Erreur lors du chargement de wallet.dat : porte-monnaie corrompu</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Erreur lors du chargement de wallet.dat : le porte-monnaie nécessite une version plus récente de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Le porte-monnaie nécessitait une réécriture : veuillez redémarrer Bitcoin pour terminer l&apos;opération</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Erreur lors du chargement de wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Adresse -proxy invalide : « %s »</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Réseau inconnu spécifié sur -onlynet : « %s »</translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Version inconnue de proxy -socks demandée : %i</translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Impossible de résoudre l&apos;adresse -bind : « %s »</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Impossible de résoudre l&apos;adresse -externalip : « %s »</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Montant invalide pour -paytxfee=&lt;montant&gt; : « %s »</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Erreur : le nœud n&apos;a pu être démarré</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Envoi en cours...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Montant invalide</translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Fonds insuffisants</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Chargement de l’index des blocs…</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Ajouter un nœud auquel se connecter et tenter de garder la connexion ouverte</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Impossible de se lier à %s sur cet ordinateur. Bitcoin fonctionne probablement déjà.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Trouver des pairs en utilisant Internet Relay Chat (par défaut : 0)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Frais par Ko à ajouter aux transactions que vous enverrez</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Chargement du porte-monnaie…</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Impossible de revenir à une version antérieure du porte-monnaie</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Impossible d&apos;initialiser la plage des clefs</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Impossible d&apos;écrire l&apos;adresse par défaut</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Nouvelle analyse…</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Chargement terminé</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Pour utiliser l&apos;option %s</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, vous devez établir un mot de passe rpc dans le fichier de configuration :
+ %s
+Il est recommandé d&apos;utiliser le mot de passe aléatoire suivant :
+rcpuser=bitcoinrpc
+rpcpassword=%s
+(vous n&apos;avez pas besoin de mémoriser ce mot de passe)
+Si le fichier n&apos;existe pas, créez-le avec les droits de lecture accordés au propriétaire.
+</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Erreur</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Vous devez ajouter la ligne rpcpassword=&lt;mot-de-passe&gt; au fichier de configuration :
+%s
+Si le fichier n&apos;existe pas, créez-le avec les droits de lecture seule accordés au propriétaire.</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/qt/locale/bitcoin_fr_CA.ts b/src/qt/locale/bitcoin_fr_CA.ts
index f306ab8b8c..9b1a4fe5a2 100644
--- a/src/qt/locale/bitcoin_fr_CA.ts
+++ b/src/qt/locale/bitcoin_fr_CA.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>A propos de Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; version</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Développeurs de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Développeurs de Bitcoin
-
+ <translation>
Ce logiciel est en phase expérimentale.
-Distribué sous licence MIT/X11, voir le fichier license.txt ou http://www.opensource.org/licenses/mit-license.php.
+Distribué sous licence MIT/X11, voir le fichier COPYING ou http://www.opensource.org/licenses/mit-license.php.
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.</translation>
</message>
@@ -35,102 +38,102 @@ Ce produit comprend des logiciels développés par le projet OpenSSL pour être
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Carnet d&apos;adresses</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Double-cliquez afin de modifier l&apos;adress ou l&apos;étiquette</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Créer une nouvelle adresse</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>$Nouvelle Adresse</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Copier l&apos;adresse surligné a votre presse-papier</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copier dans le presse papier</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Supprimer l&apos;adresse sélectionnée dans la liste. Seules les adresses d&apos;envoi peuvent être supprimé.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Supprimer</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Supprimer</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation type="unfinished">Supprimer</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Exporter les données du carnet d&apos;adresses</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"></translation>
</message>
@@ -138,17 +141,17 @@ Ce produit comprend des logiciels développés par le projet OpenSSL pour être
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Address</source>
- <translation type="unfinished">Adresse</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation type="unfinished">Adresse</translation>
+ </message>
+ <message>
+ <location line="+36"/>
<source>(no label)</source>
<translation type="unfinished"></translation>
</message>
@@ -156,344 +159,368 @@ Ce produit comprend des logiciels développés par le projet OpenSSL pour être
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation type="unfinished">Carnet d&apos;&amp;adresses</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
+ <location line="+1"/>
+ <source>Quit application</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation type="unfinished">A propos de &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation type="unfinished">&amp;A propos de %1</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation type="unfinished">A propos de &amp;Qt</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
+ <location line="-186"/>
+ <source>Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;A propos de Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+39"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation type="unfinished"></translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -501,22 +528,12 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -524,7 +541,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -532,7 +549,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -540,7 +557,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -548,42 +565,42 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+58"/>
<source>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?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -592,563 +609,749 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation type="unfinished"></translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
- </message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation type="unfinished">&amp;Adresse</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="-12"/>
+ <source>version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <location line="+2"/>
+ <source>Usage:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
+ <location line="+1"/>
+ <source>command-line options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
+ <location line="+4"/>
+ <source>UI options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
+ <location line="+1"/>
+ <source>Start minimized</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
+ <location line="+16"/>
+ <source>&amp;Main</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+21"/>
+ <source>&amp;Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+36"/>
+ <source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copier dans le presse papier</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
+ <location line="+21"/>
+ <source>&amp;Display</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
+ <location line="-141"/>
+ <source>Balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation type="unfinished"></translation>
</message>
@@ -1156,217 +1359,439 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
+ <location line="+8"/>
+ <source>%1/offline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
+ <location line="+18"/>
+ <source>Status</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
+ <location line="+4"/>
+ <source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
+ <location line="+7"/>
+ <source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
+ <location line="+0"/>
+ <source>Generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
+ <location line="-2"/>
+ <source>label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
+ <location line="+2"/>
+ <source>not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
+ <location line="-39"/>
+ <source>Transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
+ <location line="+16"/>
+ <source>Net amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
+ <location line="+6"/>
+ <source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>Transaction ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
+ <location line="+7"/>
+ <source>Debug information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
+ <location line="+8"/>
+ <source>Transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="+5"/>
+ <source>Inputs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1374,27 +1799,27 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation type="unfinished">Adresse</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -1402,95 +1827,95 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation type="unfinished"></translation>
</message>
@@ -1498,163 +1923,163 @@ Address: %4
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
+ <location line="+1"/>
+ <source>Show transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation type="unfinished">Adresse</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation type="unfinished"></translation>
</message>
@@ -1662,7 +2087,7 @@ Address: %4
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation type="unfinished"></translation>
</message>
@@ -1670,483 +2095,617 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation type="unfinished">Bitcoin version</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <source>Usage:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="-19"/>
+ <source>List commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
+ <location line="-11"/>
+ <source>Get help for a command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
+ <location line="+20"/>
+ <source>Options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
+ <location line="-47"/>
+ <source>Generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+60"/>
+ <source>Specify data directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation type="unfinished">Bitcoin version</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
+ <location line="+33"/>
+ <source>Use the test network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Username for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
+ <location line="-131"/>
<source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
+ <location line="+73"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-39"/>
<source>Cannot downgrade wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
+ <location line="+1"/>
<source>Cannot initialize keypool</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
+ <location line="+3"/>
<source>Cannot write default address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
+ <location line="+46"/>
<source>Rescanning...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
+ <location line="-40"/>
<source>Done loading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
+ <location line="+64"/>
+ <source>To use the %s option</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
+ <location line="+91"/>
+ <source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/src/qt/locale/bitcoin_fr_FR.ts b/src/qt/locale/bitcoin_fr_FR.ts
deleted file mode 100644
index fc8d234188..0000000000
--- a/src/qt/locale/bitcoin_fr_FR.ts
+++ /dev/null
@@ -1,2168 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.0" language="fr_FR">
-<defaultcodec>UTF-8</defaultcodec>
-<context>
- <name>AboutDialog</name>
- <message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
- <source>About Bitcoin</source>
- <translation>À propos de Bitcoin</translation>
- </message>
- <message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
- <source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
- <translation>&lt;b&gt;Bitcoin&lt;/b&gt; version</translation>
- </message>
- <message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
-This is experimental software.
-
-Distributed under the MIT/X11 software license, see the accompanying file license.txt 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.</source>
- <translation>Copyright © 2009-2012 Développeurs de Bitcoin
-
-Ce logiciel est en phase expérimentale.
-
-Distribué sous licence MIT/X11, voir le fichier license.txt ou http://www.opensource.org/licenses/mit-license.php.
-
-Ce produit inclut des logiciels développés par OpenSSL Project pour utilisation dans le OpenSSL Toolkit (http://www.openssl.org/), un logiciel cryptographique écrit par Eric Young (eay@cryptsoft.com) et un logiciel UPnP écrit par Thomas Bernard.</translation>
- </message>
-</context>
-<context>
- <name>AddressBookPage</name>
- <message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
- <source>Address Book</source>
- <translation>Carnet d&apos;adresses</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
- <source>Double-click to edit address or label</source>
- <translation>Double cliquez afin de modifier l&apos;adresse ou l&apos;étiquette</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
- <source>Create a new address</source>
- <translation>Créer une nouvelle adresse</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Nouvelle Adresse...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
- <translation>Copier l&apos;adresse surlignée dans votre presse-papiers</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copier dans le presse-papiers</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
- <source>Show &amp;QR Code</source>
- <translation>Afficher le &amp;QR Code</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Signer un message pour prouver que vous détenez cette adresse</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
- <source>Sign &amp;Message</source>
- <translation>Signer un &amp;message</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Supprimer l&apos;adresse sélectionnée dans la liste. Seules les adresses d&apos;envoi peuvent être supprimées.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Supprimer</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Copier l&apos;adresse</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Copier l&apos;étiquette</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Éditer</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Effacer</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="285"/>
- <source>Export Address Book Data</source>
- <translation>Exporter les données du carnet d&apos;adresses</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Valeurs séparées par des virgules (*.csv)</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Error exporting</source>
- <translation>Erreur lors de l&apos;exportation</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Impossible d&apos;écrire sur le fichier %1.</translation>
- </message>
-</context>
-<context>
- <name>AddressTableModel</name>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Label</source>
- <translation>Étiquette</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Address</source>
- <translation>Adresse</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="114"/>
- <source>(no label)</source>
- <translation>(aucune étiquette)</translation>
- </message>
-</context>
-<context>
- <name>AskPassphraseDialog</name>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialogue</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TextLabel</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
- <source>Enter passphrase</source>
- <translation>Entrez la phrase de passe</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>Nouvelle phrase de passe</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation>Répétez la phrase de passe</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Entrez une nouvelle phrase de passe pour le porte-monnaie.&lt;br/&gt;Veuillez utiliser une phrase de &lt;b&gt;10 caractères au hasard ou plus&lt;/b&gt; ou bien de &lt;b&gt;huit mots ou plus&lt;/b&gt;.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Chiffrer le porte-monnaie</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Cette opération nécessite votre phrase de passe pour déverrouiller le porte-monnaie.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
- <source>Unlock wallet</source>
- <translation>Déverrouiller le porte-monnaie</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Cette opération nécessite votre phrase de passe pour décrypter le porte-monnaie.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
- <source>Decrypt wallet</source>
- <translation>Décrypter le porte-monnaie</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
- <source>Change passphrase</source>
- <translation>Changer la phrase de passe</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Entrez l’ancienne phrase de passe pour le porte-monnaie ainsi que la nouvelle.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Confirmer le chiffrement du porte-monnaie</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ATTENTION : Si vous chiffrez votre porte-monnaie et perdez votre phrase de passe, vous &lt;b&gt;PERDREZ TOUS VOS BITCOINS&lt;/b&gt; !
-Êtes-vous sûr de vouloir chiffrer votre porte-monnaie ?</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Porte-monnaie chiffré</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin va à présent se fermer pour terminer la procédure de cryptage. N&apos;oubliez pas que le chiffrement de votre porte-monnaie ne peut pas fournir une protection totale contre le vol par des logiciels malveillants qui infecteraient votre ordinateur.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>Le décryptage du porte-monnaie a échoué</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>La phrase de passe du porte-monnaie a été modifiée avec succès.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Attention : la touche Verrouiller Maj est activée.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Le chiffrement du porte-monnaie a échoué</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Le chiffrement du porte-monnaie a échoué en raison d&apos;une erreur interne. Votre porte-monnaie n&apos;a pas été chiffré.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>Les phrases de passe entrées ne correspondent pas.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>Le déverrouillage du porte-monnaie a échoué</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>La phrase de passe entrée pour décrypter le porte-monnaie était incorrecte.</translation>
- </message>
-</context>
-<context>
- <name>BitcoinGUI</name>
- <message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Porte-monnaie Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Synchronisation avec le réseau...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Vue d&apos;ensemble</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Affiche une vue d&apos;ensemble du porte-monnaie</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Transactions</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Permet de parcourir l&apos;historique des transactions</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>Carnet d&apos;&amp;adresses</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Éditer la liste des adresses et des étiquettes stockées</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;Recevoir des pièces</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Affiche la liste des adresses pour recevoir des paiements</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Envoyer des pièces</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Envoyer des pièces à une adresse bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Signer un &amp;message</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Prouver que vous contrôlez une adresse</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>Q&amp;uitter</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Quitter l&apos;application</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;À propos de %1</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Afficher des informations à propos de Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>À propos de &amp;Qt</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Afficher des informations sur Qt</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Options...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Modifier les options de configuration pour bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Afficher/Cacher &amp;Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Afficher ou cacher la fenêtre Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Exporter...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Exporter les données de l&apos;onglet courant vers un fichier</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Chiffrer le porte-monnaie</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Chiffrer ou décrypter le porte-monnaie</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>&amp;Sauvegarder le porte-monnaie</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Sauvegarder le porte-monnaie à un autre emplacement</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Modifier la phrase de passe</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Modifier la phrase de passe utilisée pour le cryptage du porte-monnaie</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Fichier</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Réglages</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Aide</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Barre d&apos;outils des onglets</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Barre d&apos;outils des actions</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Client Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n connexion active avec le réseau Bitcoin</numerusform>
- <numerusform>%n connexions actives avec le réseau Bitcoin</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>%1 blocs de l&apos;historique des transactions sur %2 téléchargés (%3% effectué).</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>%1 blocs de l&apos;historique de transaction téléchargé.</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>il y a %n seconde</numerusform>
- <numerusform>il y a %n secondes</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>il y a %n minute</numerusform>
- <numerusform>il y a %n minutes</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>il y a %n heure</numerusform>
- <numerusform>il y a %n heures</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
- <translation>
- <numerusform>il y a %n jour</numerusform>
- <numerusform>il y a %n jours</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>À jour</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="569"/>
- <source>Catching up...</source>
- <translation>Rattrapage...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>Le dernier bloc reçu a été généré %1.</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Envoi en cours...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Transaction envoyée</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Transaction entrante</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
- <translation>Date : %1
-Montant : %2
-Type : %3
-Adresse : %4
-</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Le porte-monnaie est &lt;b&gt;chiffré&lt;/b&gt; et est actuellement &lt;b&gt;déverrouillé&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Le porte-monnaie est &lt;b&gt;chiffré&lt;/b&gt; et est actuellement &lt;b&gt;verrouillé&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Sauvegarder le porte-monnaie</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Données de porte-monnaie (*.dat)</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>La sauvegarde a échoué</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Une erreur est survenue lors de l&apos;enregistrement des données de porte-monnaie à un autre emplacement.</translation>
- </message>
- <message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation>Une erreur fatale est survenue. Bitcoin ne peut plus continuer à fonctionner de façon sûre et va s&apos;arrêter.</translation>
- </message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Unité d&apos;affichage des montants : </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Choisissez la sous-unité par défaut pour l&apos;affichage dans l&apos;interface et lors de l&apos;envoi de pièces</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Afficher les adresses dans la liste des transactions</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Détermine si les adresses Bitcoin seront affichées sur la liste des transactions.</translation>
- </message>
-</context>
-<context>
- <name>EditAddressDialog</name>
- <message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
- <source>Edit Address</source>
- <translation>Éditer l&apos;adresse</translation>
- </message>
- <message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
- <source>&amp;Label</source>
- <translation>&amp;Étiquette</translation>
- </message>
- <message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
- <source>The label associated with this address book entry</source>
- <translation>L&apos;étiquette associée à cette entrée du carnet d&apos;adresses</translation>
- </message>
- <message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>&amp;Adresse</translation>
- </message>
- <message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
- <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
- <translation>L&apos;adresse associée avec cette entrée du carnet d&apos;adresses. Ne peut être modifiée que pour les adresses d&apos;envoi.</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="20"/>
- <source>New receiving address</source>
- <translation>Nouvelle adresse de réception</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="24"/>
- <source>New sending address</source>
- <translation>Nouvelle adresse d&apos;envoi</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="27"/>
- <source>Edit receiving address</source>
- <translation>Éditer l&apos;adresse de réception</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>Éditer l&apos;adresse d&apos;envoi</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="91"/>
- <source>The entered address &quot;%1&quot; is already in the address book.</source>
- <translation>L&apos;adresse fournie « %1 » est déjà présente dans le carnet d&apos;adresses.</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>L&apos;adresse fournie « %1 » n&apos;est pas une adresse bitcoin valide.</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>Impossible de déverrouiller le porte-monnaie.</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="106"/>
- <source>New key generation failed.</source>
- <translation>Échec de la génération de la nouvelle clef.</translation>
- </message>
-</context>
-<context>
- <name>MainOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Démarrer Bitcoin avec le système de fenêtres</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Lancer automatiquement Bitcoin lorsque l&apos;ordinateur est allumé</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimiser dans la barre système au lieu de la barre des tâches</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Montrer uniquement une icône système après minimisation</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Ouvrir le port avec l&apos;&amp;UPnP</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Ouvrir le port du client Bitcoin automatiquement sur le routeur. Cela ne fonctionne que si votre routeur supporte l&apos;UPnP et si la fonctionnalité est activée.</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimiser lors de la fermeture</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimiser au lieu quitter l&apos;application lorsque la fenêtre est fermée. Lorsque cette option est activée, l&apos;application ne pourra être fermée qu&apos;en sélectionnant Quitter dans le menu déroulant.</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Connexion à travers un proxy SOCKS4 :</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Connexion au réseau Bitcoin à travers un proxy SOCKS4 (par ex. lors d&apos;une connexion via Tor)</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>&amp;IP du proxy : </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>Adresse IP du proxy (par ex. 127.0.0.1)</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port : </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Port du proxy (par ex. 1234)</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Payer des &amp;frais de transaction</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation type="unfinished">Détacher les bases de données lors de la fermeture</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Détacher les bases de données de blocs et d&apos;adresses lors de la fermeture. Cela permet de les déplacer dans un autre répertoire de données mais ralentit la fermeture. Le porte-monnaie est toujours détaché.</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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.</translation>
- </message>
-</context>
-<context>
- <name>MessagePage</name>
- <message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Message</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Vous pouvez signer des messages avec vos adresses pour prouver que les détenez. Faites attention à ne pas signer quoi que ce soit de vague car des attaques d&apos;hameçonnage peuvent essayer d&apos;obtenir votre identité par votre signature. Ne signez que des déclarations entièrement détaillées et avec lesquelles vous serez d&apos;accord.</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Entez une adresse Bitcoin (par ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Choisir une adresse depuis le carnet d&apos;adresses</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Coller une adresse depuis le presse-papiers</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Entrez ici le message que vous désirez signer</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Cliquez sur « Signer le message » pour obtenir la signature</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Signer le message pour prouver que vous détenez cette adresse</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Signer le message</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Copier la signature actuelle dans le presse-papiers</translation>
- </message>
- <message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copier dans le presse-papiers</translation>
- </message>
- <message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Une erreur est survenue lors de la signature</translation>
- </message>
- <message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 n&apos;est pas une adresse valide.</translation>
- </message>
- <message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>La clef privée pour %1 n&apos;est pas disponible.</translation>
- </message>
- <message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Échec de la signature</translation>
- </message>
-</context>
-<context>
- <name>OptionsDialog</name>
- <message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Principal</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Affichage</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Options</translation>
- </message>
-</context>
-<context>
- <name>OverviewPage</name>
- <message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>Formulaire</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Solde :</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>Nombre de transactions :</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Non confirmé :</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Porte-monnaie</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Transactions récentes&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Votre solde actuel</translation>
- </message>
- <message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Total des transactions qui doivent encore être confirmées et qui ne sont pas pris en compte pour le solde actuel</translation>
- </message>
- <message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Nombre total de transactions dans le porte-monnaie</translation>
- </message>
-</context>
-<context>
- <name>QRCodeDialog</name>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialogue</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR Code</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Demande de paiement</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>Montant :</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Étiquette :</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Message :</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;Enregistrer sous...</translation>
- </message>
- <message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation>Erreur de l&apos;encodage de l&apos;URI dans le QR Code.</translation>
- </message>
- <message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>L&apos;URI résultant est trop long, essayez avec un texte d&apos;étiquette ou de message plus court.</translation>
- </message>
- <message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>Enregistrer l&apos;image...</translation>
- </message>
- <message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>Images PNG (*.png)</translation>
- </message>
-</context>
-<context>
- <name>SendCoinsDialog</name>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
- <source>Send Coins</source>
- <translation>Envoyer des pièces</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
- <source>Send to multiple recipients at once</source>
- <translation>Envoyer des pièces à plusieurs destinataires à la fois</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Ajouter un destinataire...</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
- <source>Remove all transaction fields</source>
- <translation>Enlever tous les champs de transaction</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Tout effacer</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Solde :</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
- <source>123.456 BTC</source>
- <translation>123.456 BTC</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
- <source>Confirm the send action</source>
- <translation>Confirmez l&apos;action d&apos;envoi</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation>&amp;Envoyer</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; à %2 (%3)</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Confirmez l&apos;envoi des pièces</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source>Are you sure you want to send %1?</source>
- <translation>Êtes-vous sûr de vouloir envoyer %1 ?</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> et </translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
- <source>The recipient address is not valid, please recheck.</source>
- <translation>L&apos;adresse du destinataire n&apos;est pas valide, veuillez la vérifier.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>Le montant à payer doit être supérieur à 0.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
- <source>The amount exceeds your balance.</source>
- <translation>Le montant dépasse votre solde.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
- <source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>Le total dépasse votre solde lorsque les frais de transaction de %1 sont inclus.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
- <source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation>Adresse dupliquée trouvée, un seul envoi par adresse est possible à chaque opération d&apos;envoi.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
- <source>Error: Transaction creation failed.</source>
- <translation>Erreur : échec de la création de la transaction.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
- <source>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.</source>
- <translation>Erreur : la transaction a été rejetée. Cela peut arriver si certaines pièces de votre porte-monnaie ont déjà été dépensées, par exemple si vous avez utilisé une copie de wallet.dat et si des pièces ont été dépensées avec cette copie sans être marquées comme telles ici.</translation>
- </message>
-</context>
-<context>
- <name>SendCoinsEntry</name>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>Formulaire</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>&amp;Montant :</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>Payer &amp;à :</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
- <source>Enter a label for this address to add it to your address book</source>
- <translation>Entrez une étiquette pour cette adresse afin de l&apos;ajouter à votre carnet d&apos;adresses</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
- <source>&amp;Label:</source>
- <translation>&amp;Étiquette :</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
- <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
- <source>Choose address from address book</source>
- <translation>Choisir une adresse dans le carnet d&apos;adresses </translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
- <source>Paste address from clipboard</source>
- <translation>Coller une adresse depuis le presse-papiers</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
- <source>Remove this recipient</source>
- <translation>Enlever ce destinataire</translation>
- </message>
- <message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
- <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Entez une adresse Bitcoin (par ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
- </message>
-</context>
-<context>
- <name>TransactionDesc</name>
- <message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Ouvert pour %1 blocs</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>Ouvert jusqu&apos;à %1</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/hors ligne ?</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/non confirmée</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 confirmations</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;État :&lt;/b&gt; </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, n&apos;a pas encore été diffusée avec succès</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, diffusée à travers %1 nœud</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, diffusée à travers %1 nœuds</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Date :&lt;/b&gt; </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Source :&lt;/b&gt; Généré&lt;br&gt;</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;De :&lt;/b&gt; </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>inconnue</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;À :&lt;/b&gt; </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (vôtre, étiquette : </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (vôtre)</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Crédit : &lt;/b&gt; </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 sera considérée comme mûre suite à %2 blocs de plus)</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(pas accepté)</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Débit : &lt;/b&gt; </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Frais de transaction :&lt;/b&gt; </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Montant net :&lt;/b&gt; </translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Message :</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Commentaire :</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>ID de la transaction :</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Les pièces générées doivent attendre 120 blocs avant de pouvoir être dépensées. Lorsque vous avez généré ce bloc, il a été diffusé sur le réseau pour être ajouté à la chaîne des blocs. S&apos;il échoue a intégrer la chaîne, il sera modifié en « pas accepté » et il ne sera pas possible de le dépenser. Cela peut arriver occasionnellement si un autre nœud génère un bloc quelques secondes avant ou après vous.</translation>
- </message>
-</context>
-<context>
- <name>TransactionDescDialog</name>
- <message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
- <source>Transaction details</source>
- <translation>Détails de la transaction</translation>
- </message>
- <message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
- <source>This pane shows a detailed description of the transaction</source>
- <translation>Ce panneau affiche une description détaillée de la transaction</translation>
- </message>
-</context>
-<context>
- <name>TransactionTableModel</name>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Date</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Type</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Adresse</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>Montant</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
- <source>Open for %n block(s)</source>
- <translation>
- <numerusform>Ouvert pour %n bloc</numerusform>
- <numerusform>Ouvert pour %n blocs</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>Ouvert jusqu&apos;à %1</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>Hors ligne (%1 confirmations)</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>Non confirmée (%1 confirmations sur un total de %2)</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
- <source>Confirmed (%1 confirmations)</source>
- <translation>Confirmée (%1 confirmations)</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Le solde d&apos;extraction (mined) sera disponible dans %n bloc</numerusform>
- <numerusform>Le solde d&apos;extraction (mined) sera disponible dans %n blocs</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Ce bloc n&apos;a été reçu par aucun autre nœud et ne sera probablement pas accepté !</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
- <source>Generated but not accepted</source>
- <translation>Généré mais pas accepté</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
- <source>Received with</source>
- <translation>Reçue avec</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Reçue de</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>Envoyée à</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Paiement à vous-même</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
- <source>Mined</source>
- <translation>Extraction</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
- <source>(n/a)</source>
- <translation>(indisponible)</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
- <source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>État de la transaction. Laissez le pointeur de la souris sur ce champ pour voir le nombre de confirmations.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
- <source>Date and time that the transaction was received.</source>
- <translation>Date et heure de réception de la transaction.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
- <source>Type of transaction.</source>
- <translation>Type de transaction.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
- <source>Destination address of transaction.</source>
- <translation>L&apos;adresse de destination de la transaction.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Montant ajouté au ou enlevé du solde.</translation>
- </message>
-</context>
-<context>
- <name>TransactionView</name>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Toutes</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Aujourd&apos;hui</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Cette semaine</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Ce mois</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Mois dernier</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Cette année</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Intervalle...</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Reçu avec</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Envoyé à</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>À vous-même</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Extraction</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Autre</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Entrez une adresse ou une étiquette à rechercher</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>Montant min</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Copier l&apos;adresse</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Copier l&apos;étiquette</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Copier le montant</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Éditer l&apos;étiquette</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Afficher les détails...</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Exporter les données de transaction</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Valeurs séparées par des virgules (*.csv)</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Confirmée</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Date</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Type</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Étiquette</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Adresse</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Montant</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Erreur lors de l&apos;exportation</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Impossible d&apos;écrire sur le fichier %1.</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Intervalle :</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>à</translation>
- </message>
-</context>
-<context>
- <name>WalletModel</name>
- <message>
- <location filename="../walletmodel.cpp" line="142"/>
- <source>Sending...</source>
- <translation>Envoi en cours...</translation>
- </message>
-</context>
-<context>
- <name>bitcoin-core</name>
- <message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Version de bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Utilisation :</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Envoyer une commande à -server ou à bitcoind</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Lister les commandes</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Obtenir de l&apos;aide pour une commande</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Options :</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Spécifier le fichier de configuration (par défaut : bitcoin.conf)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Spécifier le fichier pid (par défaut : bitcoind.pid)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Générer des pièces</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Ne pas générer de pièces</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Démarrer sous forme minimisée</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Spécifier le répertoire de données</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Spécifier le délai d&apos;expiration de la connexion (en millisecondes)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Connexion via un proxy socks4</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Autoriser les recherches DNS pour l&apos;ajout de nœuds et la connexion</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Écouter les connexions sur le &lt;port&gt; (par défaut : 8333 ou testnet : 18333)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Garder au plus &lt;n&gt; connexions avec les pairs (par défaut : 125)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Ne se connecter qu&apos;au nœud spécifié</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Envoi en cours...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Montant invalide</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Fonds insuffisants</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>Pour utiliser l&apos;option %s</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, vous devez établir un mot de passe rpc dans le fichier de configuration :
- %s
-Il est recommandé d&apos;utiliser le mot de passe aléatoire suivant :
-rcpuser=bitcoinrpc
-rpcpassword=%s
-(vous n&apos;avez pas besoin de mémoriser ce mot de passe)
-Si le fichier n&apos;existe pas, créez-le avec les droits de lecture accordés au propriétaire.
-</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Erreur</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Vous devez ajouter la ligne rpcpassword=&lt;mot-de-passe&gt; au fichier de configuration :
-%s
-Si le fichier n&apos;existe pas, créez-le avec les droits de lecture seule accordés au propriétaire.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Afficher l&apos;écran d&apos;accueil au démarrage (par défaut : 1)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>Définir la taille du tampon en mégaoctets (par défaut : 25)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Définir la taille du journal de la base de données sur le disque en mégaoctets (par défaut : 100)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Trouver des pairs en utilisant Internet Relay Chat (par défaut : 0)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">Accepter les connexions entrantes (par défaut : 1)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Définir la langue, par exemple « de_DE » (par défaut : la langue du système)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation type="unfinished">Trouver des pairs en utilisant la recherche DNS (par défaut : 1)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Seuil de déconnexion des pairs de mauvaise qualité (par défaut : 100)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Délai en secondes de refus de reconnexion aux pairs de mauvaise qualité (par défaut : 86400)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Tampon maximal de réception par connexion, &lt;n&gt;*1000 octets (par défaut : 10000)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Tampon maximal d&apos;envoi par connexion, &lt;n&gt;*1000 octets (par défaut : 10000)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Détacher les bases de données des blocs et des adresses. Augmente le délai de fermeture (par défaut : 0)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Accepter les commandes de JSON-RPC et de la ligne de commande</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Fonctionner en arrière-plan en tant que démon et accepter les commandes</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Utiliser le réseau de test</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Informations de débogage supplémentaires</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Faire précéder les données de débogage par un horodatage</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Envoyer les informations de débogage/trace à la console au lieu du fichier debug.log</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Envoyer les informations de débogage/trace au débogueur</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Nom d&apos;utilisateur pour les connexions JSON-RPC</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Mot de passe pour les connexions JSON-RPC</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Écouter les connexions JSON-RPC sur le &lt;port&gt; (par défaut : 8332)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Autoriser les connexions JSON-RPC depuis l&apos;adresse IP spécifiée</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Envoyer des commandes au nœud fonctionnant à &lt;ip&gt; (par défaut : 127.0.0.1)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Exécuter la commande lorsque le meilleur bloc change (%s est remplacé par le hachage du bloc dans cmd)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Nombre de blocs à tester au démarrage (par défaut : 2500, 0 = tous)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Profondeur de la vérification des blocs (0-6, par défaut : 1)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Ce message d&apos;aide</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Utilisation</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Régler la taille de la plage de clefs sur &lt;n&gt; (par défaut : 100)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Réanalyser la chaîne de blocs pour les transactions de porte-monnaie manquantes</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Mettre à jour le format du porte-monnaie</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Erreur : échec de la création de la transaction.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Erreur : la transaction a été rejetée. Cela peut arriver si certaines pièces de votre porte-monnaie ont déjà été dépensées, par exemple si vous avez utilisé une copie de wallet.dat et si des pièces ont été dépensées avec cette copie sans être marquées comme telles ici.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Une erreur est survenue lors de la mise en place du port d&apos;écoute RPC %u : %s</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-Options SSL : (cf. le wiki Bitcoin pour les réglages SSL)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Utiliser OpenSSL (https) pour les connexions JSON-RPC</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Fichier de certificat serveur (par défaut : server.cert)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Clef privée du serveur (par défaut : server.pem)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Clefs de chiffrement acceptables (par défaut : TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Impossible d&apos;obtenir un verrou sur le répertoire de données %s. Bitcoin fonctionne probablement déjà.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Chargement des adresses...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Erreur lors du chargement de addr.dat</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Chargement de l&apos;index des blocs...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Erreur lors du chargement de blkindex.dat</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Chargement du porte-monnaie...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Erreur lors du chargement de wallet.dat : porte-monnaie corrompu</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Erreur lors du chargement de wallet.dat : le porte-monnaie nécessite une version plus récente de Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Le porte-monnaie nécessitait une réécriture. Veuillez redémarrer Bitcoin pour terminer l&apos;opération</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Erreur lors du chargement de wallet.dat</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Impossible de revenir à une version antérieure du porte-monnaie</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Impossible d&apos;initialiser la plage des clefs</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Impossible d&apos;écrire l&apos;adresse par défaut</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Nouvelle analyse...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Chargement terminé</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Adresse -proxy invalide</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Montant invalide pour -paytxfee=&lt;montant&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Attention : -paytxfee est réglée sur un montant très élevé. Il s&apos;agit des frais de transaction que vous payerez si vous envoyez une transaction.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Erreur : CreateThread(StartNode) a échoué</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Impossible de s&apos;attacher au port %d sur cet ordinateur. Bitcoin fonctionne probablement déjà.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Attention : veuillez vérifier que l&apos;heure et la date de votre ordinateur sont corrects. Si votre horloge n&apos;est pas à l&apos;heure, Bitcoin ne fonctionnera pas correctement.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Attention : l&apos;espace disque est faible</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Ajouter un nœud auquel se connecter et tenter de garder la connexion ouverte</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Essayer d&apos;utiliser l&apos;UPnP pour ouvrir le port d&apos;écoute (default: 1)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Essayer d&apos;utiliser l&apos;UPnP pour ouvrir le port d&apos;écoute (default: 0)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Frais par ko à ajouter aux transactions que vous enverrez</translation>
- </message>
-</context>
-</TS>
diff --git a/src/qt/locale/bitcoin_he.ts b/src/qt/locale/bitcoin_he.ts
index f8379e7d7a..e7ba3d44d6 100644
--- a/src/qt/locale/bitcoin_he.ts
+++ b/src/qt/locale/bitcoin_he.ts
@@ -5,132 +5,135 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>אודות ביטקוין</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>גרסת &lt;b&gt;ביטקוין&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>זכויות יוצרים 2009-2012 שמורות למפתחי הביטקוין</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>זכויות יוצרים © 2009-2012 שמורות למפתחי ביטקוין
-
+ <translation>
זוהי תוכנה ניסיונית.
-מופץ תחת רישיון תוכנה MIT/X11, ראה את הקובץ המלווה license.txt או http://www.opensource.org/licenses/mit-license.php.
+מופצת תחת רישיון התוכנה MIT/X11, ראה את הקובץ המצורף COPYING או http://www.opensource.org/licenses/mit-license.php.
-המוצר הזה כולל תוכנה שפותחה על ידי פרויקט OpenSSL עבור שימוש בערכת הכלים של OpenSSL (http://www.openssl.org/) ובתוכנה קריפטוגרפית שנכתבה על ידי אריק יאנג (eay@cryptsoft.com) ותוכנת UPnP שנכתבה על ידי תומס ברנרד.</translation>
+המוצר הזה כולל תוכנה שפותחה ע&quot;י פרויקט OpenSSL לשימוש בתיבת הכלים OpenSSL (http://www.openssl.org/) ותוכנה קריפטוגרפית שנכתבה ע&quot;י אריק יאנג (eay@cryptsoft.com) ותוכנת UPnP שנכתבה ע&quot;י תומס ברנרד.</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>פנקס כתובות</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>אלה כתובות הביטקוין שלך עבור קבלת תשלומים. אתה עשוי לרצות לתת כתובת שונה לכל שולח כדי שתוכל לעקוב אחר מי משלם לך.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>לחץ לחיצה כפולה לערוך כתובת או תוית</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>יצירת כתובת חדשה</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>כתובת &amp;חדשה</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>העתק את הכתובת המסומנת ללוח העריכה</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;העתק ללוח</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>כתובת חדשה</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>אלה כתובת הביטקוין שלך עבור קבלת תשלומים. ייתכן ותרצה לתת כתובת שונה לכל שולח כדי שתוכל לעקוב אחר מי משלם לך.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>העתק כתובת</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>הצג &amp;קוד QR</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>חתום על הודעה כדי להוכיח שכתובת זו בבעלותך</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>חתום על הודעה בכדי להוכיח כי אתה הבעלים של כתובת ביטקוין.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>חתום על הו&amp;דעה</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>מחק את הכתובת המסומנת מהרשימה. ניתן למחוק רק כתובות לשליחה.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>מחק את הכתובת שנבחרה מהרשימה</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;מחיקה</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>אמת הודעה בכדי להבטיח שהיא נחתמה עם כתובת ביטקוין מסוימת.</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>העתק כתובת</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>אמת הודעה</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>העתק תוית</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;מחיקה</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>ערוך</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>העתק תוית</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>מחק</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>עריכה</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>יצוא נתוני פנקס כתובות</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>קובץ מופרד בפסיקים (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>שגיאה ביצוא</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>לא מסוגל לכתוב לקובץ %1.</translation>
</message>
@@ -138,17 +141,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>תוית</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>כתובת</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(ללא כתובת)</translation>
</message>
@@ -156,1003 +159,1202 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>שיח</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>שיח סיסמא</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>הכנס סיסמא</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>סיסמה חדשה</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>חזור על הסיסמה החדשה</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>טקסטתוית</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>הכנס את הסיסמה החדשה לארנק. &lt;br/&gt;אנא השתמש בסיסמה המכילה &lt;b&gt;10 תוים אקראיים או יותר&lt;/b&gt;, או &lt;b&gt;שמונה מילים או יותר&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>הצפנת ארנק</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>הפעולה הזו דורשת את סיסמת הארנק שלך בשביל לפתוח את הארנק.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>פתיחת ארנק</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>הפעולה הזו דורשת את סיסמת הארנק שלך בשביל לפענח את הארנק.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>פענוח ארנק</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>שינוי סיסמה</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>הכנס את הסיסמות הישנה והחדשה לארנק.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>אשר הצפנת ארנק</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>אזהרה: אם תצפין את הארנק שלך ותאבד את הסיסמה אתה &lt;b&gt;תאבד את כל הביטקוין שלך&lt;/b&gt;!
-אתה בטוח שברצונך להצפין את הארנק?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>אזהרה: אם אתה מצפין את הארנק ומאבד את הסיסמא, אתה &lt;b&gt;תאבד את כל הביטקוינים שלך&lt;/b&gt;!</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>האם אתה בטוח שברצונך להצפין את הארנק?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>חשוב! כל גיבוי קודם שעשית לארנק שלך יש להחליף עם קובץ הארנק המוצפן שזה עתה נוצר. מסיבות אבטחה, גיבויים קודמים של קובץ הארנק הלא-מוצפן יהפכו לחסרי שימוש ברגע שתתחיל להשתמש בארנק החדש המוצפן.</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>זהירות: מקש Caps Lock מופעל!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>הארנק הוצפן</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>ביטקוין ייסגר עכשיו כדי להשלים את תהליך ההצפנה. זכור שהצפנת הארנק שלך אינו יכול להגן באופן מלא על הביטקוינים שלך מתוכנות זדוניות המושתלות על המחשב.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>הצפנת הארנק נכשלה</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>הצפנת הארנק נכשלה עקב שגיאה פנימית. הארנק שלך לא הוצפן.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>הסיסמות שניתנו אינן תואמות.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>פתיחת הארנק נכשלה</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>הסיסמה שהוכנסה לפענוח הארנק שגויה.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>פענוח הארנק נכשל</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>הצפנת הארנק נכשלה</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation>סיסמת הארנק שונתה בהצלחה.</translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>אזהרה: מקש Caps Lock מופעל.</translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>חתום על הודעה</translation>
+ </message>
+ <message>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>מסתנכרן עם הרשת...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;סקירה</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>סרגל כלים פעולות</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[רשת-בדיקה]</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>הצג סקירה כללית של הארנק</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;פעולות</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>דפדף בהיסטוריית הפעולות</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>פנקס &amp;כתובות</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>ערוך את רשימת הכתובות והתויות</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>שלח מטבעות לכתובת ביטקוין</translation>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;קבלת מטבעות</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>חתום על הו&amp;דעה</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>הצג את רשימת הכתובות לקבלת תשלומים</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;אודות %1</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;שלח מטבעות</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>הצ&amp;פן ארנק</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>י&amp;ציאה</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>שנה &amp;סיסמה</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>סגור תוכנה</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>הצג מידע על ביטקוין</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>חיבור פעיל אחד לרשת הביטקוין</numerusform>
- <numerusform>%n חיבורים פעילים לרשת הביטקוין</numerusform>
- </translation>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>אודות Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>הורדו %1 בלוקים של היסטוריית פעולות.</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>הצג מידע על Qt</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>לפני שניה</numerusform>
- <numerusform>לפני %n שניות</numerusform>
- </translation>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;אפשרויות</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>הצפן ארנק</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>גיבוי ארנק</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>שנה סיסמא</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
<translation>
- <numerusform>לפני יום</numerusform>
- <numerusform>לפני %n ימים</numerusform>
+ <numerusform>בלוק אחד נותר</numerusform>
+ <numerusform>~%n בלוקים נותרו</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>הורדו %1 בלוקים של היסטוריית פעולות מתוך %2 (הושלם %3% מהסה&quot;כ).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>שולח...</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>י&amp;צא לקובץ</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>הארנק &lt;b&gt;מוצפן&lt;/b&gt; וכרגע &lt;b&gt;נעול&lt;/b&gt;</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>שלח מטבעות לכתובת ביטקוין</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>פעולה שנשלחה</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>שנה אפשרויות תצורה עבור ביטקוין</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
- <translation>תאריך: %1
-כמות: %2
-סוג: %3
-כתובת: %4</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>יצוא הנתונים בטאב הנוכחי לקובץ</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>הארנק &lt;b&gt;מוצפן&lt;/b&gt; וכרגע &lt;b&gt;פתוח&lt;/b&gt;</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>הצפן או פענח ארנק</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;קובץ</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>גיבוי הארנק למקום אחר</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>יצוא הנתונים בטאב הנוכחי לקובץ</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>שנה את הסיסמה להצפנת הארנק</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>אודות Qt</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>חלון ניפוי</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>ה&amp;גדרות</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>פתח את לוח הבקרה לאבחון וניפוי</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;עזרה</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>אמת הודעה...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>י&amp;ציאה</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>ביטקוין</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;אפשרויות</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>ארנק</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>&amp;גיבוי ארנק</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>לפני דקה</numerusform>
- <numerusform>לפני %n דקות</numerusform>
- </translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>אודות ביטקוין</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>לפני שעה</numerusform>
- <numerusform>לפני %n שעות</numerusform>
- </translation>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>הצג / הסתר</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;קבלת מטבעות</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;קובץ</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>הצפן או פענח ארנק</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>ה&amp;גדרות</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>הצג את רשימת הכתובות לקבלת תשלומים</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;עזרה</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>הצג מידע על Qt</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>סרגל כלים טאבים</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;שלח מטבעות</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>סרגל כלים פעולות</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>הצג או הסתר את חלון ביטקוין.</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[רשת-בדיקה]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>ארנק ביטקוין</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>תוכנת ביטקוין</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
<translation>
- <numerusform>בלוק אחד נותר</numerusform>
- <numerusform>~%n בלוקים נותרו</numerusform>
+ <numerusform>חיבור פעיל אחד לרשת הביטקוין</numerusform>
+ <numerusform>%n חיבורים פעילים לרשת הביטקוין</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>הורדו %1 בלוקים של היסטוריית פעולות מתוך %2 (הושלם %3% מהסה&quot;כ).</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>הורדו %1 בלוקים של היסטוריית פעולות.</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>הוכח שאתה שולט בכתובת</translation>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>לפני שניה</numerusform>
+ <numerusform>לפני %n שניות</numerusform>
+ </translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>סרגל כלים טאבים</translation>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>לפני דקה</numerusform>
+ <numerusform>לפני %n דקות</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>לפני שעה</numerusform>
+ <numerusform>לפני %n שעות</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>לפני יום</numerusform>
+ <numerusform>לפני %n ימים</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>תוכנת ביטקוין</translation>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>עדכני</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>שנה הגדרות עבור ביטקוין</translation>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>מתעדכן...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>הצג/הסתר את &amp;ביטקוין</translation>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>הבלוק האחרון שהתקבל נוצר ב-%1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>סגור תוכנה</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>הפעולה הזאת חורגת מהמגבלה. ניתן לשלוח אותה תמורת עמלה בסך %1, שמגיעה לצמתים שמעבדים את הפעולה ועוזרת לתמוך ברשת. האם אתה מעוניין לשלם את העמלה?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>הצג מידע על ביטקוין</translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>אשר עמלת פעולה</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>גיבוי הארנק למקום אחר</translation>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>פעולה שנשלחה</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>שנה את הסיסמה להצפנת הארנק</translation>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>פעולה שהתקבלה</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>י&amp;צא לקובץ</translation>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>תאריך: %1
+כמות: %2
+סוג: %3
+כתובת: %4</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>עדכני</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>תפעול URI</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
- <source>Catching up...</source>
- <translation>מתעדכן...</translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>לא ניתן לנתח URI! זה יכול להיגרם כתוצאה מכתובת ביטקוין לא תקינה או פרמטרי URI חסרי צורה תקינה.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>הבלוק האחרון שהתקבל נוצר ב-%1.</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>הארנק &lt;b&gt;מוצפן&lt;/b&gt; וכרגע &lt;b&gt;פתוח&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>פעולה שהתקבלה</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>הארנק &lt;b&gt;מוצפן&lt;/b&gt; וכרגע &lt;b&gt;נעול&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation>גיבוי ארנק</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>נתוני ארנק (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation>הגיבוי נכשל</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation>היתה שגיאה בניסיון לשמור את מידע הארנק למיקום החדש.</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation>שגיאה סופנית אירעה. ביטקוין אינו יכול להמשיך לפעול בבטחה ולכן ייסגר.</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;יחידת מדידה להציג בה כמויות: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>בחר את יחידת החלוקה להצגה בממשק, ובעת שליחת מטבעות</translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;הצג כתובות ברשימת הפעולות</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">האם להציג כתובות ביטקוין ברשימת הפעולות או לא.</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>אזעקת רשת</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>ערוך כתובת</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>ת&amp;וית</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>התוית המשויכת לרשומה הזו בפנקס הכתובות</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;כתובת</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>הכתובת המשויכת לרשומה זו בפנקס הכתובות. ניתן לשנות זאת רק עבור כתובות לשליחה.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
- <source>New key generation failed.</source>
- <translation>יצירת מפתח חדש נכשלה.</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>כתובת חדשה לקבלה</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>כתובת חדשה לשליחה</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>ערוך כתובת לקבלה</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>פתיחת הארנק נכשלה.</translation>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>ערוך כתובת לשליחה</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>הכתובת שהכנסת &quot;%1&quot; כבר נמצאת בפנקס הכתובות.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>ערוך כתובת לשליחה</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>הכתובת שהוכנסה &quot;%1&quot; אינה כתובת ביטקוין תקינה.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>הכתובת שהכנסת &quot;%1&quot; אינה כתובת ביטקוין תקינה.</translation>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>פתיחת הארנק נכשלה.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation>יצירת מפתח חדש נכשלה.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>התח&amp;ל את ביטקוין בהפעלת מערכת חלונות</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>התחל את ביטקוין אוטומטית כשהמחשב נדלק</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>גרסה</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>הצג אייקון מגש בלבד לאחר מזעור החלון</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>שימוש:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>מיפוי פורט באמצעות UPnP</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>אפשרויות שורת פקודה</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>פתח את פורט ביטקוין בנתב באופן אוטומטי. עובד רק אם UPnP מאופשר ונתמך ע&quot;י הנתב.</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>אפשרויות ממשק</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>מז&amp;ער בעת סגירה</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>קבע שפה, למשל &quot;he_il&quot; (ברירת מחדל: שפת המערכת)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>מ&amp;זער למגש במקום לשורת המשימות</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>התחל ממוזער</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>מזער את התוכנה במקום לצאת ממנה כשהחלון נסגר. כשאפשרות זו פעילה, התוכנה תיסגר רק לאחר בחירת יציאה מהתפריט.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>הצג מסך פתיחה בעת הפעלה (ברירת מחדל: 1)</translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>התח&amp;בר דרך פרוקסי SOCKS4:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>אפשרויות</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation type="unfinished">התחבר לרשת הביטקוין דרך פרוקסי SOCKS4 (למשל, בעת חיבור דרך Tor)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>ראשי</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>IP של פרוקסי:</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>עמלת פעולה אופציונלית לכל kB תבטיח שהפעולה שלך תעובד בזריזות. רוב הפעולות הן 1 kB. מומלצת עמלה בסך 0.01.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>כתובת האינטרנט של הפרוקסי (למשל 127.0.0.1)</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>שלם &amp;עמלת פעולה</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;פורט: </translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>הפעל את ביטקוין באופן עצמאי לאחר התחברות למערכת.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>הפורט של הפרוקסי (למשל 1234)</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>התחל את ביטקוין בעת התחברות למערכת</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>שלם &amp;עמלת פעולה</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>נתק מסדי נתונים של בלוקים וכתובות בעת סגירה. משמעות הדבר היא שניתן להזיז אותם לתיקיית נתונים אחרת, אבל הסגירה תהיה איטית יותר. הארנק תמיד מנותק.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
<translation>נתק מסדי נתונים בעת סגירה</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>נתק מסדי נתונים של בלוקים וכתובות בעת סגירה. משמעות הדבר היא שניתן להזיז אותם לתיקיית נתונים אחרת, אבל הסגירה תהיה איטית יותר. הארנק תמיד מנותק.</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>רשת</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>עמלת פעולה אופציונלית לכל kB תבטיח שהפעולה שלך תעובד בזריזות. רוב הפעולות הן 1 kB. מומלצת עמלה בסך 0.01.</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>פתח את פורט ביטקוין בנתב באופן אוטומטי. עובד רק אם UPnP מאופשר ונתמך ע&quot;י הנתב.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>הודעה</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>מיפוי פורט באמצעות UPnP</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>אתה יכול לחתום על הודעות עם הכתובות שלך כדי להוכיח שהן בבעלותך. היזהר לא לחתום על משהו מעורפל, שכן התקפות פישינג עשויות לגרום לך בעורמה למסור את זהותך. חתום רק על אמרות מפורטות לחלוטין שאתה מסכים עימן.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>התחבר לרשת הביטקוין דרך פרוקסי SOCKS (למשל בעת התחברות דרך Tor).</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">הכנס כתובת ביטקוין (למשל 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>התחבר דרך פרוקסי SOCKS</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>בחר כתובת מפנקס הכתובות</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>כתובת IP של פרוקסי:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>כתובת האינטרנט של הפרוקסי (למשל 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>הדבק כתובת מהלוח</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>פורט:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>הפורט של הפרוקסי (למשל 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>הכנס כאן את ההודעה שעליך ברצונך לחתום</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>גרסת SOCKS:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>לחץ על &quot;חתום על הודעה&quot; לקבלת חתימה</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>גרסת SOCKS של הפרוקסי (למשל 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>חתום על הודעה כדי להוכיח שכתובת זו בבעלותך</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>חלון</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>חתום על הו&amp;דעה</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>הצג סמל מגש בלבד לאחר מזעור החלון.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>העתק את החתימה הנוכחית ללוח המערכת</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>מ&amp;זער למגש במקום לשורת המשימות</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>ה&amp;עתק ללוח</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>מזער את התוכנה במקום לצאת ממנה כשהחלון נסגר. כשאפשרות זו פעילה, התוכנה תיסגר רק לאחר בחירת יציאה מהתפריט.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>שגיאה בחתימה</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>מזער בעת סגירה</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 אינה כתובת תקינה.</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>תצוגה</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>המפתח הפרטי עבור %1 אינו זמין.</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>שפת ממשק המשתמש:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>החתימה נכשלה</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>ניתן לקבוע כאן את שפת ממשק המשתמש. הגדרה זו תחול לאחר הפעלה מחדש של ביטקוין.</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>ראשי</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>יחידת מדידה להצגת כמויות:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>תצוגה</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>בחר את ברירת המחדל ליחידת החלוקה אשר תוצג בממשק ובעת שליחת מטבעות.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>אפשרויות</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>האם להציג כתובות ביטקוין ברשימת הפעולות או לא.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>הצג כתובות ברשימת הפעולות</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>אישור</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>ביטול</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>יישום</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>ברירת מחדל</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>אזהרה</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>הגדרה זו תחול לאחר הפעלה מחדש של ביטקוין.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>כתובת הפרוקסי שסופקה אינה תקינה.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>טופס</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>יתרה:</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>המידע המוצג עשוי להיות מיושן. הארנק שלך מסתנכרן באופן אוטומטי עם רשת הביטקוין לאחר כינון חיבור, אך התהליך טרם הסתיים.</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>ארנק</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>יתרה:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>היתרה הנוכחית שלך</translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>מספר פעולות:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>ממתין לאישור:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>הסכום הכולל של פעולות שטרם אושרו, ועוד אינן נספרות בחישוב היתרה הנוכחית</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>ארנק</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>מספר פעולות:</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>לא בשל:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>המספר הכולל של פעולות בארנק</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>מאזן שנכרה וטרם הבשיל</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;פעולות אחרונות&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>היתרה הנוכחית שלך</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>הסכום הכולל של פעולות שטרם אושרו, ועוד אינן נספרות בחישוב היתרה הנוכחית</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>המספר הכולל של פעולות בארנק</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>לא מסונכרן</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>בקש תשלום</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>שיח</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>שיח קוד QR</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>קוד QR</translation>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>בקש תשלום</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>כמות:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>תוית:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>הודעה:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;שמור בשם...</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>ביטקוין</translation>
- </message>
- <message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation>שגיאה בקידוד URI לקוד QR</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>הכמות שהוכנסה אינה תקינה, אנא ודא.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>המזהה המתקבל ארוך מדי, נסה להפחית את הטקסט בתוית / הודעה.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>שמור קוד QR</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>תמונות PNG (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>שם ממשק</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>N/A</translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>גרסת ממשק</translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>מידע</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>משתמש ב-OpenSSL גרסה</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>זמן אתחול</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>רשת</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>מספר חיבורים</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>ברשת הבדיקה</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>שרשרת הבלוקים</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>מספר הבלוקים הנוכחי</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>מספר כולל משוער של בלוקים</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>זמן הבלוק האחרון</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>פתח</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>אפשרויות שורת פקודה</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>הצג את הודעה העזרה של bitcoin-qt כדי לקבל רשימה של אפשרויות שורת פקודה של ביטקוין.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>הצג</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>לוח בקרה</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>תאריך בניה</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>ביטקוין - חלון ניפוי</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>ליבת ביטקוין</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>קובץ יומן ניפוי</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>פתח את קובץ יומן הניפוי מתיקיית הנתונים הנוכחית. זה עשוי לקחת מספר שניות עבור קובצי יומן גדולים.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>נקה לוח בקרה</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>ברוכים הבאים ללוח בקרת RPC של ביטקוין</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>השתמש בחיצים למעלה ולמטה כדי לנווט בהיסטוריה, ו- &lt;b&gt;Ctrl-L&lt;/b&gt; כדי לנקות את המסך.</translation>
+ </message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>שמור תמונה...</translation>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>הקלד &lt;b&gt;help&lt;/b&gt; בשביל סקירה של הפקודות הזמינות.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>שלח מטבעות</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>שלח למספר מקבלים בו-זמנית</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>נקה הכל</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>הוסף מקבל</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>הסר את כל השדות בפעולה</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;הוסף מקבל...</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>נקה הכל</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation>יתרה:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 ביטקוין</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>אשר את פעולת השליחה</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;שלח</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; ל- %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>אשר שליחת מטבעות</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>האם אתה בטוח שברצונך לשלוח %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation> ו- </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>כתובת המקבל אינה תקינה, אנא בדוק שנית.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>הכמות לשלם חייבת להיות גדולה מ-0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>הכמות עולה על המאזן שלך.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>הכמות הכוללת, ובכללה עמלת פעולה בסך %1, עולה על המאזן שלך.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>כתובת כפולה נמצאה, ניתן לשלוח לכל כתובת רק פעם אחת בכל פעולת שליחה.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
- <source>The recipient address is not valid, please recheck.</source>
- <translation>כתובת המקבל אינה תקינה, אנא בדוק שנית.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
- <source>The amount exceeds your balance.</source>
- <translation>הכמות עולה על המאזן שלך.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>שגיאה: יצירת הפעולה נכשלה.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>שגיאה: הפעולה נדחתה. זה עשוי לקרות עם חלק מהמטבעות בארנק שלך כבר נוצלו, למשל אם השתמשת בעותק של wallet.dat ומטבעות נוצלו בעותק אך לא סומנו כמנוצלות כאן.</translation>
</message>
@@ -1160,217 +1362,439 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>טופס</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>כ&amp;מות:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>שלם &amp;ל:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>הכנס תוית לכתובת הזאת כדי להכניס לפנקס הכתובות</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>ת&amp;וית:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>הכתובת אליה יישלח התשלום (למשל 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>בחר כתובת מפנקס הכתובות</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>הדבר כתובת מהלוח</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>הסר את המקבל הזה</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>הכנס כתובת ביטקוין (למשל 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>חתימות - חתום או אמת הודעה</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>חתום על הו&amp;דעה</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>אתה יכול לחתום על הודעות עם הכתובות שלך כדי להוכיח שהן בבעלותך. היזהר לא לחתום על משהו מעורפל, שכן התקפות פישינג עשויות לגרום לך בעורמה למסור את זהותך. חתום רק על אמרות מפורטות לחלוטין שאתה מסכים עימן.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>הכתובת איתה לחתום על ההודעה (למשל 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>בחר כתובת מפנקס הכתובות</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>הדבק כתובת מהלוח</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>הכנס כאן את ההודעה שעליך ברצונך לחתום</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>העתק את החתימה הנוכחית ללוח המערכת</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>חתום על ההודעה כדי להוכיח שכתובת הביטקוין הזו בבעלותך.</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>אפס את כל שדות החתימה על הודעה</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>נקה הכל</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>אמת הודעה</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>הכנס למטה את הכתובת החותמת, ההודעה (ודא שאתה מעתיק מעברי שורה, רווחים, טאבים וכו&apos; באופן מדויק) והחתימה כדי לאמת את ההודעה. היזהר לא לפרש את החתימה כיותר ממה שמופיע בהודעה החתומה בעצמה, כדי להימנע מליפול קורבן למתקפת איש-באמצע.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>הכתובת איתה ההודעה נחתמה (למשל 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>אמת את ההודעה כדי להבטיח שהיא נחתמה עם כתובת הביטקוין הנתונה</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>אפס את כל שדות אימות הודעה</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>הכנס כתובת ביטקוין (למשל 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>לחץ &quot;חתום על ההודעה&quot; כדי לחולל חתימה</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>הכנס חתימת ביטקוין</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>הכתובת שהוכנסה אינה תקינה.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>אנא בדוק את הכתובת ונסה שנית.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>הכתובת שהוכנסה אינה מתייחסת למפתח.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>פתיחת הארנק בוטלה.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>המפתח הפרטי עבור הכתובת שהוכנסה אינו זמין.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>החתימה על ההודעה נכשלה.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>ההודעה נחתמה.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>לא ניתן לפענח את החתימה.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>אנא בדוק את החתימה ונסה שנית.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>החתימה לא תואמת את תקציר ההודעה.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>אימות ההודעה נכשל.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>ההודעה אומתה.</translation>
+ </message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>לא ידוע</translation>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>פתוח עד %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>פתוח למשך בלוק אחד</numerusform>
+ <numerusform>פתוח למשך %n בלוקים</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/מנותק</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/ממתין לאישור</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 אישורים</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>פתוח עד %1</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>מצב</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, הופץ דרך צומת אחד</numerusform>
+ <numerusform>, הופץ דרך %n צמתים</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>תאריך</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>פתוח למשך %1 בלוקים</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>מקור</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/לא מחובר?</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>נוצר</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, שודר דרך צומת %1</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>מאת</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, שודר דרך %1 צמתים</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>אל</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;תאריך:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>כתובת עצמית</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;מקור:&lt;/b&gt; נוצר&lt;br&gt;</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>תוית</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;מאת:&lt;/b&gt; </translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>זיכוי</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>מבשיל בעוד בלוק אחד</numerusform>
+ <numerusform>מבשיל בעוד %n בלוקים</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;אל:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>לא התקבל</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (שלך, תוית: </translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>חיוב</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation>(שלך)</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>עמלת פעולה</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;זיכוי:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>כמות נקיה</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&lt;חיוב:&lt;/b&gt; </translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>הודעה</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;עמלת פעולה:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>הערה</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;כמות נטו:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>זיהוי פעולה</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>הודעה:</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>מטבעות שנוצרים חייבים להבשיל למשך 120 בלוקים לפני שניתן לנצל אותם. כשיצרת את הבלוק הזה, הוא הופץ לרשת כדי להתווסף לשרשרת הבלוקים. אם הוא אינו מצליח לביע לשרשרת, המצב שלו ישתנה ל&quot;לא התקבל&quot; ולא ניתן יהיה לנצל אותו. זה עשוי לקרות מעת לעת אם צומת אחר יוצר בלוק בטווח של מספר שניות מהבלוק שלך.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>הערה:</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>מידע ניפוי</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>מזהה פעולה:</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>פעולה</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>מטבעות שנוצרו חייבים לחכות 120 בלוקים לפני שניתן לנצל אותם. כשיצרת את הבלוק הזה, הוא שודר לרשת כדי להתווסף לשרשרת הבלוקים. אם הוא אינו מצליח להיכנס לשרשרת, הוא ישתנה ל&quot;לא התקבל&quot; ולא ניתן יהיה לנצל אותו. זה יכול לקרות מדי פעם אם צומת אחר מייצר בלוק בהפרש של מספר שניות מהבלוק שלך.</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>קלטים</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 יבגור עוד %2 בלוקים)</translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>כמות</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;מצב:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>אמת</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(לא התקבל)</translation>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>שקר</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
+ <location line="-211"/>
<source>, has not been successfully broadcast yet</source>
<translation>, טרם שודר בהצלחה</translation>
</message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>לא ידוע</translation>
+ </message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>פרטי הפעולה</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>חלונית זו מציגה תיאור מפורט של הפעולה</translation>
</message>
@@ -1378,123 +1802,123 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>לא מחובר (%1 אישורים)</translation>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>תאריך</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
- <source>Open for %n block(s)</source>
- <translation>
- <numerusform>פתוח למשך בלוק אחד</numerusform>
- <numerusform>פתוח למשך %n בלוקים</numerusform>
- </translation>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>סוג</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>כתובת</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>ממתין לאישור (%1 מתוך %2 אישורים)</translation>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>כמות</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
<translation>
- <numerusform></numerusform>
- <numerusform></numerusform>
+ <numerusform>פתוח למשך בלוק אחד</numerusform>
+ <numerusform>פתוח למשך %n בלוקים</numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>הבלוק הזה לא נקלט על ידי אף צומת אחר, וכנראה לא יתקבל!</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>פתוח עד %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
- <source>Confirmed (%1 confirmations)</source>
- <translation>מאושר (%1 אישורים)</translation>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>לא מחובר (%1 אישורים)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>סוג</translation>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>ממתין לאישור (%1 מתוך %2 אישורים)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>תאריך</translation>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>מאושר (%1 אישורים)</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>המאזן שנכרה יהיה זמין כשהוא מבשיל בעוד בלוק אחד</numerusform>
+ <numerusform>המאזן שנכרה יהיה זמין כשהוא מבשיל בעוד %n בלוקים</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>כמות</translation>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>הבלוק הזה לא נקלט על ידי אף צומת אחר, וכנראה לא יתקבל!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>נוצר אך לא התקבל</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>התקבל עם</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>התקבל מאת</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>נשלח ל</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>תשלום לעצמך</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>נכרה</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>מצב הפעולה. השהה את הסמן מעל שדה זה כדי לראות את מספר האישורים.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>התאריך והשעה בה הפעולה הזאת התקבלה.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>סוג הפעולה.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
- <source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>מצב הפעולה. השהה את הסמן מעל שדה זה כדי לראות את מספר האישורים.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>כתובת היעד של הפעולה.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>הכמות שהתווספה או הוסרה מהיתרה.</translation>
</message>
@@ -1502,664 +1926,798 @@ Address: %4
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>הכל</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>היום</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>This week</source>
<translation>השבוע</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation>החודש</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>החודש שעבר</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>השנה</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Range...</source>
<translation>טווח...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>התקבל עם</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>נשלח ל</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>לעצמך</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>נכרה</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>אחר</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>הכנס כתובת או תוית לחפש</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>כמות מזערית</translation>
+ </message>
+ <message>
+ <location line="+34"/>
<source>Copy address</source>
<translation>העתק כתובת</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>העתק תוית</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation>העתק כמות</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>תאריך</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>ערוך תוית</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>הצג פרטי פעולה</translation>
+ </message>
+ <message>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>יצוא נתוני פעולות</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>קובץ מופרד בפסיקים (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>מאושר</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>תאריך</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>סוג</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>תוית</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Address</source>
<translation>כתובת</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>השנה</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>כמות</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>מזהה</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>שגיאה ביצוא</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>יצוא נתוני פעולות</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>לא מסוגל לכתוב לקובץ %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>קובץ מופרד בפסיקים (*.csv)</translation>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>טווח:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>סוג</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>אל</translation>
</message>
+</context>
+<context>
+ <name>WalletModel</name>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>החודש שעבר</translation>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>שולח...</translation>
</message>
+</context>
+<context>
+ <name>bitcoin-core</name>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>לעצמך</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>גרסת ביטקוין</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>אחר</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>שימוש:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>הכל</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>שלח פקודה ל -server או bitcoind</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>היום</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>רשימת פקודות</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>התקבל עם</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>קבל עזרה עבור פקודה</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>נשלח ל</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>אפשרויות:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>נכרה</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>ציין קובץ הגדרות (ברירת מחדל: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>הכנס כתובת או תוית לחפש</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>ציין קובץ pid (ברירת מחדל: bitcoind.pid)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>כמות מזערית</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>צור מטבעות</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>הצג פרטים...</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>אל תייצר מטבעות</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>ערוך תוית</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>ציין תיקיית נתונים</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>אל</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>קבע את גודל המטמון של מסד הנתונים במגהבייט (ברירת מחדל: 25)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>תוית</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>קבע את גודל יומן פעילות מסד הנתונים במגהבייט (ברירת מחדל: 100)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>כמות</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>האזן לחיבורים ב&lt;פורט&gt; (ברירת מחדל: 8333 או ברשת הבדיקה: 18333)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>מזהה</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>החזק לכל היותר &lt;n&gt; חיבורים לעמיתים (ברירת מחדל: 125)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>לא מסוגל לכתוב לקובץ %1.</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>התחבר לצומת כדי לדלות כתובות עמיתים, ואז התנתק</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>טווח:</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>ציין את הכתובת הפומבית שלך</translation>
</message>
-</context>
-<context>
- <name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
- <source>Sending...</source>
- <translation>שולח...</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>קשור לכתובת נתונה. השתמש בסימון [host]:port בשביל IPv6</translation>
</message>
-</context>
-<context>
- <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>גרסת ביטקוין</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>סף להתנתקות מעמיתים הנוהגים שלא כהלכה (ברירת מחדל: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>שלח פקודות לצומת ב-&lt;ip&gt; (ברירת מחדל: 127.0.0.1)</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>מספר שניות למנוע מעמיתים הנוהגים שלא כהלכה מלהתחבר מחדש (ברירת מחדל: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>סרוק מחדש את שרשרת הבלוקים למציאת פעולות חסרות בארנק</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>אירעה שגיאה בעת הגדרת פורט RPC %u להאזנה ב-IPv4: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>השתמש ב-OpenSSL (https( עבור חיבורי JSON-RPC</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>אירעה שגיאה בעת הגדרת פורט RPC %u להאזנה ב-IPv6, נסוג ל-IPv4: %s</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>נתק מסדי נתונים של בלוקים וכתובות. מגדיל את זמן הסגירה (ברירת מחדל: 0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>שגיאה: הפעולה נדחתה. זה עשוי לקרות עם חלק מהמטבעות בארנק שלך כבר נוצלו, למשל אם השתמשת בעותק של wallet.dat ומטבעות נוצלו בעותק אך לא סומנו כמנוצלות כאן.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>שגיאה: הפעולה דורשת עמלת פעולה של לפחות %s מפאת הכמות, המורכבות, או השימוש בכספים שהתקבלו לאחרונה</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>האזן לחיבורי JSON-RPC ב- &lt;port&gt; (ברירת מחדל: 8332 או רשת בדיקה: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
+ <location line="+9"/>
<source>Accept command line and JSON-RPC commands</source>
<translation>קבל פקודות משורת הפקודה ו- JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>שם משתמש לחיבורי JSON-RPC</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>עמלה להוסיף לפעולות שאתה שולח עבור כל KB</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>שגיאה: יצירת הפעולה נכשלה.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>טוען את אינדקס הבלוקים...</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>שגיאה: הארנק נעול, לא ניתן ליצור פעולה</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>טוען כתובות...</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>מייבא את קובץ הנתונים של שרשרת הבלוקים.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>סורק מחדש...</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>מייבא את קובץ הנתונים של שרשרת הבלוקים לאתחול.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>יש לכתוב מחדש את הארנק: אתחל את ביטקוין לסיום</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>רוץ ברקע כדימון וקבל פקודות</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>שדרג את הארנק לפורמט העדכני</translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>השתמש ברשת הבדיקה</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>צור מטבעות</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>קבל חיבורים מבחוץ (ברירת מחדל: 1 ללא -proxy או -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>אל תייצר מטבעות</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>קבע גודל מקסימלי עבור פעולות עדיפות גבוהה/עמלה נמוכה בבתים (ברירת מחדל: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>שלח מידע דיבאג ועקבה לכלי דיבאג</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>אזהרה: -paytxfee נקבע לערך מאד גבוה! זוהי עמלת הפעולה שתשלם אם אתה שולח פעולה.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>מספר הבלוקים לבדוק בעת ההפעלה (ברירת מחדל: 2500, 0=כולם)</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>אזהרה: הפעולות המוצגות עשויות לא להיות נכונות! ייתכן ואתה צריך לשדרג, או שצמתים אחרים צריכים לשדרג.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>רשימת פקודות</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>אזהרה: אנא בדוק שהתאריך והשעה של המחשב שלך נכונים! אם השעון שלך אינו נכון ביטקוין לא יעבוד כראוי.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>מפתח פרטי של השרת (ברירת מחדל: server.pem)</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>אפשרויות יצירת בלוק:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>האזן לחיבורים ב&lt;פורט&gt; (ברירת מחדל: 8333 או ברשת הבדיקה: 18333)</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>התחבר רק לצמתים המצוינים</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>החזק לכל היותר &lt;n&gt; חיבורים לעמיתים (ברירת מחדל: 125)</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>גלה את כתובת ה-IP העצמית (ברירת מחדל: 1 כשמאזינים וללא -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>לא יכול לאתחל את מאגר המפתחות</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>האזנה נכשלה בכל פורט. השתמש ב- -listen=0 אם ברצונך בכך.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>קבע את גודל המטמון של מסד הנתונים במגהבייט (ברירת מחדל: 25)</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>מצא עמיתים ע&quot;י חיפוש DNS (ברירת מחדל: 1 ללא -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>שימוש:</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>כתובת לא תקינה ל -tor: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>סף להתנתקות מעמיתים הנוהגים שלא כהלכה (ברירת מחדל: 100)</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>חוצץ קבלה מירבי לכל חיבור, &lt;n&gt;*1000 בתים (ברירת מחדל: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>עליך לקבוע rpcpassword=yourpassword בקובץ ההגדרות:
-%s
-אם הקובץ אינו קיים, צור אותו עם הרשאות קריאה לבעלים בלבד.</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>חוצץ שליחה מירבי לכל חיבור, &lt;n&gt;*1000 בתים (ברירת מחדל: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>שגיאה</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>התחבר רק לצמתים ברשת &lt;net&gt; (IPv4, IPv6 או Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>אין מספיק כספים</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>פלוט מידע ניפוי נוסף. נובע מכך כל אפשרויות -debug* האחרות.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>אפשר חיבורי JSON-RPC מכתובת האינטרנט המצוינת</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>פלוט מידע נוסף לניפוי שגיאות ברשת.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>להשתמש באפשרות %s</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>הוסף חותמת זמן לפני פלט דיבאג</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, עליך לקבוע את rpcpassword בקובץ ההגדרות:
-%s
-מומלץ להשתמש בסיסמה האקראית הבאה:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(אין צורך לזכור סיסמה זו)
-אם הקובץ אינו קיים, צור אותו עם הרשאות קריאה לבעלים בלבד.</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>אפשרויות SSL: (ראה את הויקי של ביטקוין עבור הוראות הגדרת SSL)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>קבע את גודל יומן פעילות מסד הנתונים במגהבייט (ברירת מחדל: 100)</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>בחר את גרסת פרוקסי SOCKS להשתמש בה (4-5, ברירת מחדל: 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>סיסמה לחיבורי JSON-RPC</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>שלח מידע דיבאג ועקבה לקונסולה במקום לקובץ debug.log</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>מידת היסודיות של אימות הבלוקים (0-6, ברירת מחדל: 1)</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>שלח מידע דיבאג ועקבה לכלי דיבאג</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>בצע פקודה זו כשהבלוק הטוב ביותר משתנה (%s בפקודה יוחלף בגיבוב הבלוק)</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>קבע את גדול הבלוק המירבי בבתים (ברירת מחדל: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>הוסף צומת להתחברות ונסה לשמור את החיבור פתוח</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>קבע את גודל הבלוק המינימלי בבתים (ברירת מחדל: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>קבע את גודל המאגר ל -&lt;n&gt; (ברירת מחדל: 100)</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>כווץ את קובץ debug.log בהפעלת הקליינט (ברירת מחדל: 1 ללא -debug)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>מצא עמיתים תוך שימוש ב-IRC (ברירת מחדל: 0)</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>ציין הגבלת זמן לחיבור במילישניות (ברירת מחדל: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>טעינה הושלמה</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>השתמש ב-UPnP כדי למפות את הפורט להאזנה (ברירת מחדל: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>שגיאה בטעינת הקובץ wallet.dat: הארנק דורש גרסה חדשה יותר של ביטקוין</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>השתמש ב-UPnP כדי למפות את הפורט להאזנה (ברירת מחדל: 1 בעת האזנה)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>שגיאה בטעינת הקובץ wallet.dat</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>השתמש בפרוקסי כדי להגיע לשירותים חבויים ב-tor (ברירת מחדל: כמו ב- -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>שגיאה בטעינת הקובץ blkindex.dat</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>שם משתמש לחיבורי JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>ציין קובץ pid (ברירת מחדל: bitcoind.pid)</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>שימוש</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>אזהרה: חסר מקום בדיסק!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>ביטקוין</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>אזהרה: הגרסה הזאת מיושנת, יש צורך בשדרוג!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>לא יכול להוריד דרגת הארנק</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>טוען ארנק...</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>סיסמה לחיבורי JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">השתמש ב-UPnP כדי למפות את הפורט להאזנה (ברירת מחדל: 0)</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>אפשר חיבורי JSON-RPC מכתובת האינטרנט המצוינת</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>שגיאה בטעינת הקובץ wallet.dat: הארנק מושחת</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>שלח פקודות לצומת ב-&lt;ip&gt; (ברירת מחדל: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>ציין קובץ הגדרות (ברירת מחדל: bitcoin.conf)</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>בצע פקודה זו כשהבלוק הטוב ביותר משתנה (%s בפקודה יוחלף בגיבוב הבלוק)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>התחבר רק לצומת המצוין</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>שדרג את הארנק לפורמט העדכני</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>חוצץ מירבי לקבלה לכל חיבור, &lt;n&gt;*1000 בתים (ברירת מחדל: 10000)</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>קבע את גודל המאגר ל -&lt;n&gt; (ברירת מחדל: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>הצג מסך פתיחה בעת הפעלה (ברירת מחדל: 1)</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>סרוק מחדש את שרשרת הבלוקים למציאת פעולות חסרות בארנק</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>פלוט מידע דיבאג נוסף </translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>מספר הבלוקים לבדוק בעת ההפעלה (ברירת מחדל: 2500, 0=כולם)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>אפשרויות SSL: (ראה את הויקי של ביטקוין עבור הוראות להתקנת SSL)</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>מידת היסודיות של אימות הבלוקים (0-6, ברירת מחדל: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>שגיאה בטעינת הקובץ addr.dat</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>מיבא בלוקים מקובץ blk000?.dat חיצוני</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">קבל חיבורים מבחוץ (ברירת מחדל: 1 ללא -proxy או -connect)</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>השתמש ב-OpenSSL (https( עבור חיבורי JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>אפשרויות:</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>קובץ תעודת שרת (ברירת מחדל: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation type="unfinished">מצא עמיתים ע&quot;י חיפוש DNS (ברירת מחדל: 1)</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>מפתח פרטי של השרת (ברירת מחדל: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">השתמש ב-UPnP כדי למפות את הפורט להאזנה (ברירת מחדל: 1 בעת האזנה)</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>צפנים קבילים (ברירת מחדל: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>כתובת פרוקסי לא תקינה</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>הודעת העזרה הזו</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>כמות לא תקינה בפרמטר -paytxfee=&lt;amount&gt;</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>אינו מסוגל לנעול את תיקיית הנתונים %s. כנראה שביטקוין כבר רץ.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>אזהרה: ערך גבוה מדי הושם בפרמטר -paytxfee. זו העמלה שתשלם אם אתה שולח פעולה.</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>ביטקוין</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>שגיאה: כישלון ב- CreateThread(StartNode)</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>לא מסוגל לקשור ל-%s במחשב זה (הקשירה החזירה שגיאה %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>לא מסוגל להיקשר לפורט %d במחשב הזה. כנראה שביטקוין כבר רץ.</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>התחבר דרך פרוקסי SOCKS</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>אזהרה: אנא בדוק שהתאריך והשעה של המחשב הזה נכונים. אם השעון שלך שגוי ביטקוין לא יפעל כהלכה.</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>אפשר בדיקת DNS עבור -addnode, -seednode ו- -connect</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation type="unfinished">אזהרה: מעט מקום בדיסק</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>טוען כתובות...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>שולח...</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>שגיאה בטעינת הקובץ blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>כמות לא תקינה</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>שגיאה בטעינת הקובץ wallet.dat: הארנק מושחת</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>לא יכול לכתוב את כתובת ברירת המחדל</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>שגיאה בטעינת הקובץ wallet.dat: הארנק דורש גרסה חדשה יותר של ביטקוין</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>שלח פקודה ל -server או bitcoind</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>יש לכתוב מחדש את הארנק: אתחל את ביטקוין לסיום</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>שגיאה בטעינת הקובץ wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>כתובת -proxy לא תקינה: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">שגיאה: יצירת הפעולה נכשלה.</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>רשת לא ידועה צוינה ב- -onlynet: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">שגיאה: הפעולה נדחתה. זה עשוי לקרות עם חלק מהמטבעות בארנק שלך כבר נוצלו, למשל אם השתמשת בעותק של wallet.dat ומטבעות נוצלו בעותק אך לא סומנו כמנוצלות כאן.</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>התבקשה גרסת פרוקסי -socks לא ידועה: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>שגיאה אירעה במהלך קביעת פורט RPC %u להאזנה: %s</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>לא מסוגל לפתור כתובת -bind: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>התחל ממוזער</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>לא מסוגל לפתור כתובת -externalip: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>ציין הגבלת זמן לחיבור (במילישניות)</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>כמות לא תקינה עבור -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>התחבר דרך פרוקסי socks4</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>שגיאה: לא ניתן להתחיל צומת</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>אפשר עיון ב-DNS להוספת צומת וחיבור</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>שולח...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>קבע שפה, למשל &quot;he_il&quot; (ברירת מחדל: שפת המערכת)</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>כמות לא תקינה</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>מספר שניות למנוע מעמיתים הנוהגים שלא כהלכה מלהתחבר מחדש (ברירת מחדל: 86400)</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>אין מספיק כספים</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>חוצץ מירבי לשליחה לכל חיבור, &lt;n&gt;*1000 בתים (ברירת מחדל: 10000)</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>טוען את אינדקס הבלוקים...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>נתק מסדי נתונים של בלוקים וכתובות. מגדיל את זמן הסגירה (ברירת מחדל: 0)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>הוסף צומת להתחברות ונסה לשמור את החיבור פתוח</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>קובץ תעודת שרת (ברירת מחדל: server.cert)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>לא ניתן לקשור ל-%s במחשב זה. ביטקוין כנראה עדיין רץ.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>רוץ ברקע כדימון וקבל פקודות</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>מצא עמיתים תוך שימוש ב-IRC (ברירת מחדל: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>השתמש ברשת הבדיקה</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>עמלה להוסיף לפעולות שאתה שולח עבור כל KB</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>הוסף חותמת זמן לפני פלט דיבאג</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>טוען ארנק...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>שלח מידע דיבאג ועקבה לקונסולה במקום לקובץ debug.log</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>לא יכול להוריד דרגת הארנק</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>האזן לחיבורי JSON-RPC ב&lt;פורט&gt; (ברירת מחדל: 8332)</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>לא יכול לאתחל את מאגר המפתחות</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>הודעת העזרה הזו</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>לא יכול לכתוב את כתובת ברירת המחדל</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>קבל עזרה עבור פקודה</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>סורק מחדש...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>ציין תיקיית נתונים</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>טעינה הושלמה</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>צפנים קבילים (ברירת מחדל: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>להשתמש באפשרות %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>אינו מסוגל לנעול את תיקיית הנתונים %s. כנראה שביטקוין כבר רץ.</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, עליך לקבוע את rpcpassword בקובץ ההגדרות:
+%s
+מומלץ להשתמש בסיסמה האקראית הבאה:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(אין צורך לזכור סיסמה זו)
+אם הקובץ אינו קיים, צור אותו עם הרשאות קריאה לבעלים בלבד.</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>שגיאה</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>עליך לקבוע rpcpassword=yourpassword בקובץ ההגדרות:
+%s
+אם הקובץ אינו קיים, צור אותו עם הרשאות קריאה לבעלים בלבד.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_hr.ts b/src/qt/locale/bitcoin_hr.ts
index c68f8e0579..0893937cca 100644
--- a/src/qt/locale/bitcoin_hr.ts
+++ b/src/qt/locale/bitcoin_hr.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>O Bitcoinu</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; verzija</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,102 +33,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adresar</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dvostruki klik za uređivanje adrese ili oznake</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Dodajte novu adresu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Nova adresa...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Kopiraj trenutno odabranu adresu u međuspremnik</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopiraj u međuspremnik</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Nova adresa</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopirati adresu</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Prikaži &amp;QR Kôd</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished">&amp;Potpišite poruku</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Brisanje trenutno odabrane adrese s popisa. Samo adrese za slanje se mogu izbrisati.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Brisanje</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopirati adresu</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopirati oznaku</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Brisanje</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Izmjeniti</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopirati &amp;oznaku</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Brisanje</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Izmjeniti</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Izvoz podataka adresara</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Datoteka vrijednosti odvojenih zarezom (*. csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Pogreška kod izvoza</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Ne mogu pisati u datoteku %1.</translation>
</message>
@@ -132,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Oznaka</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresa</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(bez oznake)</translation>
</message>
@@ -150,324 +154,248 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dijalog</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Unesite lozinku</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Nova lozinka</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Ponovite novu lozinku</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TekstualnaOznaka</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>Otključavanje novčanika nije uspjelo</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>Lozinka za dešifriranje novčanika nije točna.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Unesite novi lozinku za novčanik. &lt;br/&gt; Molimo Vas da koristite zaporku od &lt;b&gt;10 ili više slučajnih znakova,&lt;/b&gt; ili &lt;b&gt;osam ili više riječi.&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Šifriranje novčanika</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Ova operacija treba lozinku vašeg novčanika kako bi se novčanik otključao.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Otključaj novčanik</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Ova operacija treba lozinku vašeg novčanika kako bi se novčanik dešifrirao.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Dešifriranje novčanika.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Promjena lozinke</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>Dešifriranje novčanika nije uspjelo</translation>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Unesite staru i novu lozinku za novčanik.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Lozinka novčanika je uspješno promijenjena.</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Potvrdi šifriranje novčanika</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Upozorenje: Ako šifrirate vaš novčanik i izgubite lozinku, &lt;b&gt;IZGUBIT ĆETE SVE SVOJE BITCOINSE!&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Unesite staru i novu lozinku za novčanik.</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Jeste li sigurni da želite šifrirati svoj novčanik?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Potvrdi šifriranje novčanika</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>UPOZORENJE: Ako šifrirate vaš novčanik i izgubite lozinku, &lt;b&gt;IZGUBIT ĆETE SVE SVOJE BITCOINSE!&lt;/b&gt;
-Jeste li sigurni da želite šifrirati svoj novčanik?</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>Novčanik šifriran</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin će se sada zatvoriti kako bi dovršio postupak šifriranja. Zapamtite da šifriranje vašeg novčanika ne može u potpunosti zaštititi vaše bitcoine od krađe preko zloćudnog softvera koji bi bio na vašem računalu.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Šifriranje novčanika nije uspjelo</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Šifriranje novčanika nije uspjelo zbog interne pogreške. Vaš novčanik nije šifriran.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Priložene lozinke se ne podudaraju.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin će se sada zatvoriti kako bi dovršio postupak šifriranja. Zapamtite da šifriranje vašeg novčanika ne može u potpunosti zaštititi vaše bitcoine od krađe preko zloćudnog softvera koji bi bio na vašem računalu.</translation>
- </message>
-</context>
-<context>
- <name>BitcoinGUI</name>
- <message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Izvoz podataka iz trenutnog taba u datoteku</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Izlaz</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Izlazak iz programa</translation>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>Otključavanje novčanika nije uspjelo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Šifriranje ili dešifriranje novčanika</translation>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>Lozinka za dešifriranje novčanika nije točna.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Prikaži informacije o Bitcoinu</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Dešifriranje novčanika nije uspjelo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Lozinka novčanika je uspješno promijenjena.</translation>
</message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Više o %1</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>&amp;Potpišite poruku...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Promijeni postavke konfiguracije za bitcoin</translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Usklađivanje s mrežom ...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation type="unfinished"></translation>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Pregled</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">&amp;Backup novčanika</translation>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Prikaži opći pregled novčanika</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Promijenite lozinku za šifriranje novčanika</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Transakcije</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Pretraži povijest transakcija</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Preuzeto %1 blokova povijesti transakcije.</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>prije %n sekunde</numerusform>
- <numerusform>prije %n sekunde</numerusform>
- <numerusform>prije %n sekundi</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>prije %n minute</numerusform>
- <numerusform>prije %n minute</numerusform>
- <numerusform>prije %n minuta</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>prije %n sata</numerusform>
- <numerusform>prije %n sata</numerusform>
- <numerusform>prije %n sati</numerusform>
- </translation>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Adresar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Uređivanje popisa pohranjenih adresa i oznaka</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Došlo je do pogreške kod spremanja podataka novčanika na novu lokaciju.</translation>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Primanje novca</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Podaci novčanika (*.dat)</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Prikaži popis adresa za primanje isplate</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Backup nije uspio</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Slanje novca</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
- <source>Catching up...</source>
- <translation>Ažuriranje...</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Izlaz</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>Zadnji primljeni blok je generiran %1.</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Izlazak iz programa</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Poslana transakcija</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Prikaži informacije o Bitcoinu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Dolazna transakcija</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Više o &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Novčanik je &lt;b&gt;šifriran&lt;/b&gt; i trenutno &lt;b&gt;zaključan&lt;/b&gt;</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Prikaži informacije o Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished">Prikaži Bitcoin prozor</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Postavke</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Šifriraj novčanik</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Šifriraj novčanik...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Napravite sigurnosnu kopiju novčanika na drugoj lokaciji</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup novčanika...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
- <translation>Datum:%1
-Iznos:%2
-Tip:%3
-Adresa:%4
-</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n aktivna veza na Bitcoin mrežu</numerusform>
- <numerusform>%n aktivne veze na Bitcoin mrežu</numerusform>
- <numerusform>%n aktivnih veza na Bitcoin mrežu</numerusform>
- </translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Promijena lozinke...</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
+ <location line="+241"/>
<source>~%n block(s) remaining</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -476,684 +404,959 @@ Adresa:%4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Slanje...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
+ <location line="+6"/>
<source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
<translation>Preuzeto %1 od %2 blokova povijesti transakcije (%3% done).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Backup novčanika</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Izvoz...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>Ažurno</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Slanje novca na bitcoin adresu</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
- <translation>
- <numerusform>prije %n dana</numerusform>
- <numerusform>prije %n dana</numerusform>
- <numerusform>prije %n dana</numerusform>
- </translation>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Promijeni postavke konfiguracije za bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Prikaži opći pregled novčanika</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Izvoz podataka iz trenutnog taba u datoteku</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Pretraži povijest transakcija</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Šifriranje ili dešifriranje novčanika</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>&amp;Adresar</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Napravite sigurnosnu kopiju novčanika na drugoj lokaciji</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Uređivanje popisa pohranjenih adresa i oznaka</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Promijenite lozinku za šifriranje novčanika</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Prikaži popis adresa za primanje isplate</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin novčanik</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Prikaži informacije o Qt</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Postavke</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation type="unfinished">&amp;Potpišite poruku</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Novčanik</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;O Bitcoinu</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>&amp;Datoteka</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Novčanik je &lt;b&gt;šifriran&lt;/b&gt; i trenutno &lt;b&gt;otključan&lt;/b&gt;</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Konfiguracija</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Pomoć</translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation>Traka kartica</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Slanje novca na bitcoin adresu</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Traka akcija</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Više o &amp;Qt</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Promijena lozinke</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Pregled</translation>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n aktivna veza na Bitcoin mrežu</numerusform>
+ <numerusform>%n aktivne veze na Bitcoin mrežu</numerusform>
+ <numerusform>%n aktivnih veza na Bitcoin mrežu</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Traka akcija</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Preuzeto %1 blokova povijesti transakcije.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>prije %n sekunde</numerusform>
+ <numerusform>prije %n sekunde</numerusform>
+ <numerusform>prije %n sekundi</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>prije %n minute</numerusform>
+ <numerusform>prije %n minute</numerusform>
+ <numerusform>prije %n minuta</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>prije %n sata</numerusform>
+ <numerusform>prije %n sata</numerusform>
+ <numerusform>prije %n sati</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>prije %n dana</numerusform>
+ <numerusform>prije %n dana</numerusform>
+ <numerusform>prije %n dana</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Ažurno</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Izvoz...</translation>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Ažuriranje...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Usklađivanje s mrežom ...</translation>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Zadnji primljeni blok je generiran %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Transakcije</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Ova transakcija je preko ograničenja veličine. Možete ju ipak poslati za naknadu od %1, koja se daje čvorovima koji procesiraju vaše transakcije i tako podržavate mrežu. Želite li platiti naknadu?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;Primanje novca</translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Slanje novca</translation>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Poslana transakcija</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Konfiguracija</translation>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Dolazna transakcija</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Pomoć</translation>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>Datum:%1
+Iznos:%2
+Tip:%3
+Adresa:%4
+</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Jedinica za prikazivanje iznosa:</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Novčanik je &lt;b&gt;šifriran&lt;/b&gt; i trenutno &lt;b&gt;otključan&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Izaberite željeni najmanji dio bitcoina koji će biti prikazan u sučelju i koji će se koristiti za plaćanje.</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Novčanik je &lt;b&gt;šifriran&lt;/b&gt; i trenutno &lt;b&gt;zaključan&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Prikaži adrese u popisu transakcija</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Backup novčanika</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Podaci novčanika (*.dat)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Backup nije uspio</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Došlo je do pogreške kod spremanja podataka novčanika na novu lokaciju.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ClientModel</name>
+ <message>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Izmjeni adresu</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Oznaka</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Oznaka ovog upisa u adresar</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adresa</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Adresa ovog upisa u adresar. Može se mjenjati samo kod adresa za slanje.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Nova adresa za primanje</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Nova adresa za slanje</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Uredi adresu za primanje</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Uredi adresu za slanje</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Upisana adresa &quot;%1&quot; je već u adresaru.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation>Upisana adresa &quot;%1&quot; nije valjana bitcoin adresa.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Ne mogu otključati novčanik.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Stvaranje novog ključa nije uspjelo.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Pokreni Bitcoin kod pokretanja sustava</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Automatski pokreni Bitcoin kad se uključi računalo</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>verzija</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimiziraj u sistemsku traku umjesto u traku programa</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Upotreba:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Prikaži samo ikonu u sistemskoj traci nakon minimiziranja prozora</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Mapiraj port koristeći &amp;UPnP</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI postavke</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimizirati umjesto izaći iz aplikacije kada je prozor zatvoren. Kada je ova opcija omogućena, aplikacija će biti zatvorena tek nakon odabira Izlaz u izborniku.</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimiziraj kod zatvaranja</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Pokreni minimiziran</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Automatski otvori port Bitcoin klijenta na ruteru. To radi samo ako ruter podržava UPnP i ako je omogućen.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Povezivanje putem SOCKS4 proxy-a:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Postavke</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Spojite se na Bitcon mrežu putem SOCKS4 proxy-a (npr. kod povezivanja kroz Tor)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Glavno</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP:</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP adresa proxy-a (npr. 127.0.0.1)</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Plati &amp;naknadu za transakciju</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port:</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Automatski pokreni Bitcoin kad se uključi računalo</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Port od proxy-a (npr. 1234)</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Pokreni Bitcoin kod pokretanja sustava</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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.</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Plati &amp;naknadu za transakciju</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+21"/>
+ <source>&amp;Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Automatski otvori port Bitcoin klijenta na ruteru. To radi samo ako ruter podržava UPnP i ako je omogućen.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Mapiraj port koristeći &amp;UPnP</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Spojite se na Bitcon mrežu putem SOCKS proxy-a (npr. kod povezivanja kroz Tor)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Povezivanje putem SOCKS proxy-a:</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Odaberite adresu iz adresara</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP adresa proxy-a (npr. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Port od proxy-a (npr. 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Poruka</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Možete potpisati poruke sa svojom adresom kako bi dokazali da ih posjedujete. Budite oprezni da ne potpisujete ništa mutno, jer bi vas phishing napadi mogli na prevaru natjerati da prepišete svoj identitet njima. Potpisujte samo detaljno objašnjene izjave sa kojima se slažete.</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Unesite Bitcoin adresu (npr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Zalijepi adresu iz međuspremnika</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Prikaži samo ikonu u sistemskoj traci nakon minimiziranja prozora</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Upišite poruku koju želite potpisati ovdje</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimiziraj u sistemsku traku umjesto u traku programa</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimizirati umjesto izaći iz aplikacije kada je prozor zatvoren. Kada je ova opcija omogućena, aplikacija će biti zatvorena tek nakon odabira Izlaz u izborniku.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimiziraj kod zatvaranja</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Prikaz</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Potpišite poruku</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Jedinica za prikazivanje iznosa:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Izaberite željeni najmanji dio bitcoina koji će biti prikazan u sučelju i koji će se koristiti za plaćanje.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopiraj u međuspremnik</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Prikaži adrese u popisu transakcija</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished">Upisana adresa &quot;%1&quot; nije valjana bitcoin adresa.</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Glavno</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Upozorenje</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Prikaz</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Postavke</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Oblik</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Stanje:</translation>
+ </message>
+ <message>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Broj transakcija:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Nepotvrđene:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>Oblik</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Novčanik</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Nedavne transakcije&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Vaše trenutno stanje računa</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Ukupni iznos transakcija koje tek trebaju biti potvrđene, i još uvijek nisu uračunate u trenutni saldo</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Ukupni broj tansakcija u novčaniku</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Stanje:</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Novčanik</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Nedavne transakcije&lt;/b&gt;</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dijalog</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR Code Dijalog</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Poruka:</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation>Zatraži plaćanje</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR Kôd</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Iznos:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Oznaka</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Poruka:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;Spremi kao...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>PNG slike (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Slanje novca</translation>
+ </message>
+ <message>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Pošalji k nekoliko primatelja odjednom</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Dodaj primatelja</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Obriši sva polja transakcija</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Obriši &amp;sve</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Stanje:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123,456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Potvrdi akciju slanja</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Pošalji</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
- <source>Send Coins</source>
- <translation>Slanje novca</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Dodaj primatelja...</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Obriši sve</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; do %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Potvrdi slanje novca</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Jeste li sigurni da želite poslati %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation>i</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>Iznos mora biti veći od 0.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Adresa primatelja je nevaljala, molimo provjerite je ponovo.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>Iznos mora biti veći od 0.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Iznos je veći od stanja računa.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Iznos je veći od stanja računa kad se doda naknada za transakcije od %1.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Pronašli smo adresu koja se ponavlja. U svakom plaćanju program može svaku adresu koristiti samo jedanput.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Greška: priprema transakcije nije uspjela.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Generirani novčići moraju pričekati nastanak 120 blokova prije nego što ih je moguće potrošiti. Kad ste generirali taj blok, on je bio emitiran u mrežu kako bi bio dodan postojećim lancima blokova. Ako ne uspije biti dodan, njegov status bit će promijenjen u &quot;nije prihvatljiv&quot; i on neće biti potrošiv. S vremena na vrijeme tako nešto se može desiti ako neki drugi nod približno istovremeno generira blok.</translation>
</message>
@@ -1161,310 +1364,470 @@ Adresa:%4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
- <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Unesite Bitcoin adresu (npr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Oblik</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>&amp;Iznos:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>&amp;Primatelj plaćanja:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Unesite oznaku za ovu adresu kako bi ju dodali u vaš adresar</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Oznaka:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Adresa za slanje plaćanja (npr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Odaberite adresu iz adresara</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Zalijepi adresu iz međuspremnika</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Ukloni ovog primatelja</translation>
</message>
+ <message>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Unesite Bitcoin adresu (npr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>Otvoren do %1</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/nepotvrđeno</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Potpišite poruku</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 potvrda</translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Možete potpisati poruke sa svojom adresom kako bi dokazali da ih posjedujete. Budite oprezni da ne potpisujete ništa mutno, jer bi vas phishing napadi mogli na prevaru natjerati da prepišete svoj identitet njima. Potpisujte samo detaljno objašnjene izjave sa kojima se slažete.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>nepoznato</translation>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Unesite Bitcoin adresu (npr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Za:&lt;/b&gt;</translation>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Odaberite adresu iz adresara</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation>(tvoje, oznaka:</translation>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Zalijepi adresu iz međuspremnika</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation>(tvoje)</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Uplaćeno:&lt;/b&gt; </translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Upišite poruku koju želite potpisati ovdje</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Naknada za transakciju:&lt;/b&gt;</translation>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Neto iznos:&lt;/b&gt;</translation>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Poruka:</translation>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Komentar:</translation>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Obriši &amp;sve</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Generirani novčići moraju pričekati nastanak 120 blokova prije nego što ih je moguće potrošiti. Kad ste generirali taj blok, on je bio emitiran u mrežu kako bi bio dodan postojećim lancima blokova. Ako ne uspije biti dodan, njegov status bit će promijenjen u &quot;nije prihvaćen&quot; i on neće biti potrošiv. S vremena na vrijeme tako nešto se može desiti ako neki drugi nod generira blok u približno isto vrijeme.</translation>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Unesite Bitcoin adresu (npr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1 nije dostupan?</translation>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Od:&lt;/b&gt;</translation>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Otvori za %1 blokova</translation>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Unesite Bitcoin adresu (npr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Status:&lt;/b&gt;</translation>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, još nije bio uspješno emitiran</translation>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, emitiran kroz nod %1 </translation>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, emitiran kroz nodove %1 </translation>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Datum:&lt;/b&gt;</translation>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Izvor:&lt;/b&gt; Generirano&lt;br&gt;</translation>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 stasava za %2 dodatna bloka)</translation>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(Nije prihvaćeno)</translation>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Potrošeno:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
- <source>Transaction details</source>
- <translation>Detalji transakcije</translation>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
- <source>This pane shows a detailed description of the transaction</source>
- <translation>Ova panela prikazuje detaljni opis transakcije</translation>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>TransactionTableModel</name>
+ <name>TransactionDesc</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Generirano - Upozorenje: ovaj blok nije bio primljen od strane bilo kojeg drugog noda i vjerojatno neće biti prihvaćen!</translation>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Otvoren do %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Otvoren za %n bloka</numerusform>
+ <numerusform>Otvoren za %n blokova</numerusform>
+ <numerusform>Otvoren za %n blokova</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Iznos odbijen od ili dodan k saldu.</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1 nije dostupan</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
- <source>Generated but not accepted</source>
- <translation>Generirano, ali nije prihvaćeno</translation>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/nepotvrđeno</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
- <source>Received with</source>
- <translation>Primljeno s</translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 potvrda</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>Poslano za</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
- <source>Date and time that the transaction was received.</source>
- <translation>Datum i vrijeme kad je transakcija primljena</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Datum</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
- <source>Type of transaction.</source>
- <translation>Vrsta transakcije.</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
- <source>Destination address of transaction.</source>
- <translation>Odredište transakcije</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generiran</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Plaćanje samom sebi</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Od</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
- <source>Mined</source>
- <translation>Rudareno</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Za</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
- <source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>Status transakcije</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>Otvoren do %1</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>oznaka</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Primljeno od</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Uplaćeno</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Tip</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>Nije prihvaćeno</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Zaduženje</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Naknada za transakciju</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Neto iznos</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Poruka</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Komentar</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Generirani novčići moraju pričekati nastanak 120 blokova prije nego što ih je moguće potrošiti. Kad ste generirali taj blok, on je bio emitiran u mrežu kako bi bio dodan postojećim lancima blokova. Ako ne uspije biti dodan, njegov status bit će promijenjen u &quot;nije prihvaćen&quot; i on neće biti potrošiv. S vremena na vrijeme tako nešto se može desiti ako neki drugi nod generira blok u približno isto vrijeme.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Iznos</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, još nije bio uspješno emitiran</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>nepoznato</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDescDialog</name>
+ <message>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Detalji transakcije</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Ova panela prikazuje detaljni opis transakcije</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
+ <message>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Tip</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresa</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>Iznos</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Otvoren za %n bloka</numerusform>
@@ -1473,203 +1836,268 @@ Adresa:%4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Otvoren do %1</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Nije na mreži (%1 potvrda)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Nepotvrđen (%1 od %2 potvrda)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Potvrđen (%1 potvrda)</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
- <source>(n/a)</source>
- <translation>(n/d)</translation>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Generirano - Upozorenje: ovaj blok nije bio primljen od strane bilo kojeg drugog noda i vjerojatno neće biti prihvaćen!</translation>
</message>
-</context>
-<context>
- <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Iznos</translation>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>Generirano, ali nije prihvaćeno</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Adresa</translation>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Primljeno s</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Primljeno od</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Poslano za</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Plaćanje samom sebi</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Mined</source>
<translation>Rudareno</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Ovaj tjedan</translation>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(n/d)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Kopiraj iznos</translation>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Status transakcije</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Datoteka podataka odvojenih zarezima (*.csv)</translation>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Datum i vrijeme kad je transakcija primljena</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Izvoz podataka transakcija</translation>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Vrsta transakcije.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Odredište transakcije</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Iznos odbijen od ili dodan k saldu.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionView</name>
+ <message>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>Sve</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>Danas</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Ovaj tjedan</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>This month</source>
<translation>Ovaj mjesec</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>Prošli mjesec</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>Ove godine</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>Raspon...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>Primljeno s</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Poslano za</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Tebi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Rudareno</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Other</source>
<translation>Ostalo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Unesite adresu ili oznaku za pretraživanje</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Min iznos</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Kopirati adresu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>Kopirati oznaku</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Kopiraj iznos</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Edit label</source>
<translation>Izmjeniti oznaku</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Prikazati detalje...</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Izvoz podataka transakcija</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Datoteka podataka odvojenih zarezima (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>Potvrđeno</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Tip</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Label</source>
<translation>Oznaka</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Tip</translation>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Adresa</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Iznos</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Izvoz pogreške</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Ne mogu pisati u datoteku %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
<source>Range:</source>
<translation>Raspon:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation>za</translation>
</message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Ne mogu pisati u datoteku %1.</translation>
- </message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Slanje...</translation>
</message>
@@ -1677,484 +2105,618 @@ Adresa:%4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Koristi OpenSSL (https) za JSON-RPC povezivanje</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Uslužnikov SSL certifikat (ugrađeni izbor: server.cert)</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin verzija</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Uslužnikov privatni ključ (ugrađeni izbor: server.pem)</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Upotreba:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
+ <location line="-25"/>
<source>Send command to -server or bitcoind</source>
<translation>Pošalji komandu usluzi -server ili bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Slušaj na &lt;port&gt;u (default: 8333 ili testnet: 18333)</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Prikaži komande</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Učitavanje novčanika...</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Potraži pomoć za komandu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Pošalji trace/debug informacije u debugger</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Postavke:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Greška kod učitavanja blkindex.dat</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Odredi konfiguracijsku datoteku (ugrađeni izbor: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Prikaži komande</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Odredi proces ID datoteku (ugrađeni izbor: bitcoin.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation type="unfinished"></translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generiraj novčiće</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation type="unfinished"></translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Ne generiraj novčiće</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Odredi direktorij za datoteke</translation>
+ </message>
+ <message>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Potraži pomoć za komandu</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Slušaj na &lt;port&gt;u (default: 8333 ili testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Postavke:</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Održavaj najviše &lt;n&gt; veza sa članovima (default: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Odredi konfiguracijsku datoteku (ugrađeni izbor: bitcoin.conf)</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Odredi proces ID datoteku (ugrađeni izbor: bitcoin.pid)</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Generiraj novčiće</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Ne generiraj novčiće</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Prag za odspajanje članova koji se čudno ponašaju (default: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Broj sekundi koliko se članovima koji se čudno ponašaju neće dopustiti da se opet spoje (default: 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Generirani novčići moraju pričekati nastanak 120 blokova prije nego što ih je moguće potrošiti. Kad ste generirali taj blok, on je bio emitiran u mrežu kako bi bio dodan postojećim lancima blokova. Ako ne uspije biti dodan, njegov status bit će promijenjen u &quot;nije prihvatljiv&quot; i on neće biti potrošiv. S vremena na vrijeme tako nešto se može desiti ako neki drugi nod približno istovremeno generira blok.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Ova transakcija je preko ograničenja veličine. Možete ju ipak poslati za naknadu od %1, koja se daje čvorovima koji procesiraju vaše transakcije i tako podržavate mrežu. Želite li platiti naknadu?</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Prihvaćaj JSON-RPC povezivanje na portu broj &lt;port&gt; (ugrađeni izbor: 8332 or testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Prihvati komande iz tekst moda i JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Greška: priprema transakcije nije uspjela.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Izvršavaj u pozadini kao uslužnik i prihvaćaj komande</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Koristi test mrežu</translation>
+ </message>
+ <message>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Upozorenje: -paytxfee je podešen na preveliki iznos. To je iznos koji ćete platiti za obradu transakcije.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Upozorenje: Molimo provjerite jesu li datum i vrijeme na vašem računalu točni. Ako vaš sat ide krivo, Bitcoin neće raditi ispravno.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Poveži se samo sa određenim nodom</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Greška kod učitavanja wallet.dat: Novčanik pokvaren</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Greška kod učitavanja wallet.dat: Novčanik zahtjeva noviju verziju Bitcoina</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Novčanik je trebao prepravak: ponovo pokrenite Bitcoin</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Nevaljala -tor adresa: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Dodaj izlaz debuga na početak sa vremenskom oznakom</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Greška kod učitavanja wallet.dat</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Slanje...</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Nedovoljna sredstva</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Odredi direktorij za datoteke</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Naknada posredniku po KB-u koja će biti dodana svakoj transakciji koju pošalješ</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Dodaj izlaz debuga na početak sa vremenskom oznakom</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Prag za odspajanje članova koji se čudno ponašaju (default: 100)</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL postavke: (za detalje o podešavanju SSL opcija vidi Bitcoin Wiki)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation>Šalji trace/debug informacije na konzolu umjesto u debug.log datoteku</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Lozinka za JSON-RPC veze</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Podesi memorijski prostor za ključeve na &lt;n&gt; (ugrađeni izbor: 100)</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Pošalji trace/debug informacije u debugger</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Ponovno pretraži lanac blokova za transakcije koje nedostaju</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Prihvaljivi načini šifriranja (ugrađeni izbor: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Ova poruka za pomoć</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Program ne može pristupiti direktoriju s datotekama %s. Bitcoin program je vjerojatno već pokrenut.</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Odredi vremenski prozor za spajanje na mrežu u milisekundama (ugrađeni izbor: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Odredi vremenski prozor za spajanje na mrežu (u milisekundama)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Pokušaj koristiti UPnP da otvoriš port za uslugu (default: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Prihvati komande iz tekst moda i JSON-RPC</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Pokušaj koristiti UPnP da otvoriš port za uslugu (default: 1 when listening)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Učitavanje indeksa blokova...</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Učitavanje gotovo</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Korisničko ime za JSON-RPC veze</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Izvršavaj u pozadini kao uslužnik i prihvaćaj komande</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Rescaniranje</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Upozorenje: Malo diskovnog prostora</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Koristi test mrežu</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Korisničko ime za JSON-RPC veze</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Prihvaćaj JSON-RPC povezivanje na portu broj &lt;port&gt; (ugrađeni izbor: 8332)</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Lozinka za JSON-RPC veze</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation>Dozvoli JSON-RPC povezivanje s određene IP adrese</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation>Pošalji komande nodu na adresi &lt;ip&gt; (ugrađeni izbor: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoin verzija</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Upotreba:</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Broj sekundi koliko se članovima koji se čudno ponašaju neće dopustiti da se opet spoje (default: 86400)</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Podesi memorijski prostor za ključeve na &lt;n&gt; (ugrađeni izbor: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Pokreni minimiziran</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Ponovno pretraži lanac blokova za transakcije koje nedostaju</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Greška: priprema transakcije nije uspjela.</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Generirani novčići moraju pričekati nastanak 120 blokova prije nego što ih je moguće potrošiti. Kad ste generirali taj blok, on je bio emitiran u mrežu kako bi bio dodan postojećim lancima blokova. Ako ne uspije biti dodan, njegov status bit će promijenjen u &quot;nije prihvatljiv&quot; i on neće biti potrošiv. S vremena na vrijeme tako nešto se može desiti ako neki drugi nod približno istovremeno generira blok.</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Koristi OpenSSL (https) za JSON-RPC povezivanje</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation type="unfinished"></translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Uslužnikov SSL certifikat (ugrađeni izbor: server.cert)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Uslužnikov privatni ključ (ugrađeni izbor: server.pem)</translation>
+ </message>
+ <message>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Prihvaljivi načini šifriranja (ugrađeni izbor: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Ova poruka za pomoć</translation>
+ </message>
+ <message>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Program ne može pristupiti direktoriju s datotekama %s. Bitcoin program je vjerojatno već pokrenut.</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Poveži se kroz socks4 proxy</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Program ne može koristiti %s na ovom računalu (bind returned error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Poveži se kroz socks proxy</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
<translation>Dozvoli DNS upite za dodavanje nodova i povezivanje</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Poveži se samo sa određenim nodom</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Učitavanje adresa...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>SSL postavke: (za detalje o podešavanju SSL opcija vidi Bitcoin Wiki)</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Greška kod učitavanja blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Greška kod učitavanja addr.dat</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Greška kod učitavanja wallet.dat: Novčanik pokvaren</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Greška kod učitavanja wallet.dat: Novčanik zahtjeva noviju verziju Bitcoina</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Novčanik je trebao prepravak: ponovo pokrenite Bitcoin</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Greška kod učitavanja wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Nevaljala -proxy adresa: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Nevaljala -proxy adresa</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Nevaljali iznos za opciju -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Upozorenje: Malo diskovnog prostora</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Slanje...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Nevaljali iznos za opciju</translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Nedovoljna sredstva</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Učitavanje indeksa blokova...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
<source>Add a node to connect to and attempt to keep the connection open</source>
<translation>Unesite nod s kojim se želite spojiti and attempt to keep the connection open</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Pokušaj koristiti UPnP da otvoriš port za uslugu (default: 1)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Program ne može koristiti %s na ovom računalu. Bitcoin program je vjerojatno već pokrenut.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Pokušaj koristiti UPnP da otvoriš port za uslugu (default: 0)</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Greška: CreateThread(StartNode) nije uspjela</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Naknada posredniku po KB-u koja će biti dodana svakoj transakciji koju pošalješ</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Program ne može koristiti port %d na ovom računalu. Bitcoin program je vjerojatno već pokrenut.</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Učitavanje novčanika...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Upozorenje: Molimo provjerite jesu li datum i vrijeme na vašem računalu točni. Ako vaš sat ide krivo, Bitcoin neće raditi ispravno.</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Nevaljali iznos za opciju</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Nevaljali iznos za opciju -paytxfee=&lt;amount&gt;</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Upozorenje: -paytxfee je podešen na preveliki iznos. To je iznos koji ćete platiti za obradu transakcije.</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Rescaniranje</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Upotreba</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Učitavanje gotovo</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Učitavanje adresa...</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Održavaj najviše &lt;n&gt; veza sa članovima (default: 125)</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_hu.ts b/src/qt/locale/bitcoin_hu.ts
index 8a7621a029..8829cdd40a 100644
--- a/src/qt/locale/bitcoin_hu.ts
+++ b/src/qt/locale/bitcoin_hu.ts
@@ -5,28 +5,31 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>A Bitcoinról</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; verzió</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Szerzői jog © 2009-2012 Bitcoin Developers</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Szerzői jog © 2009-2012 Bitcoin Developers
-
+ <translation>
Ez egy kísérleti program.
-MIT/X11 szoftverlicenc alatt kiadva, lásd a mellékelt fájlt license.txt vagy http://www.opensource.org/licenses/mit-license.php.
+MIT/X11 szoftverlicenc alatt kiadva, lásd a mellékelt fájlt COPYING vagy http://www.opensource.org/licenses/mit-license.php.
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.</translation>
</message>
@@ -34,120 +37,120 @@ Ez a termék az OpenSSL Project által lett kifejlesztve az OpenSSL Toolkit (htt
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Címjegyzék</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dupla-katt a cím vagy a címke szerkesztéséhez</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Új cím létrehozása</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>A kiválasztott cím másolása a vágólapra</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
- <source>Show &amp;QR Code</source>
- <translation type="unfinished"></translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Új cím</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation type="unfinished"></translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
- <source>Sign &amp;Message</source>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Cím másolása</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>A kiválasztott cím törlése a listáról. Csak a küldő címek törölhetőek.</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>%1 nevű fájl nem írható.</translation>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Vesszővel elválasztott fájl (*. csv)</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Címke másolása</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Error exporting</source>
- <translation>Hiba exportálás közben</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Törlés</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Cím másolása</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Címke &amp;másolása</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Törlés</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Címjegyzék adatainak exportálása</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Törlés</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Vesszővel elválasztott fájl (*. csv)</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Új cím...</translation>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Hiba exportálás közben</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Másolás a vágólapra</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>%1 nevű fájl nem írható.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Address</source>
- <translation>Cím</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Címke</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Cím</translation>
+ </message>
+ <message>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(nincs címke)</translation>
</message>
@@ -155,437 +158,442 @@ Ez a termék az OpenSSL Project által lett kifejlesztve az OpenSSL Toolkit (htt
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation>Új jelszó újra</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>Új jelszó</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>SzövegCímke</translation>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Add meg a jelszót</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Tárca kódolva</translation>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Új jelszó</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>Tárca megnyitása sikertelen</translation>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Új jelszó újra</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Párbeszéd</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Írd be az új jelszót a tárcához.&lt;br/&gt;Használj legalább 10&lt;br/&gt;véletlenszerű karaktert&lt;/b&gt; vagy &lt;b&gt;legalább nyolc szót&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Írd be a tárca régi és új jelszavát.</translation>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Tárca kódolása</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>A tárcád megnyitásához a műveletnek szüksége van a tárcád jelszavára.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>FIGYELEM: Ha kódolod a tárcát, és elveszíted a jelszavad, akkor &lt;b&gt;AZ ÖSSZES BITCOINODAT IS EL FOGOD VESZÍTENI!&lt;/b&gt;
-Biztosan kódolni akarod a tárcát?</translation>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Tárca megnyitása</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>A tárcád dekódolásához a műveletnek szüksége van a tárcád jelszavára.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Tárca dekódolása</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Tárca kódolása belső hiba miatt sikertelen. A tárcád nem lett kódolva.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Írd be az új jelszót a tárcához.&lt;br/&gt;Használj legalább 10&lt;br/&gt;véletlenszerű karaktert&lt;/b&gt; vagy &lt;b&gt;legalább nyolc szót&lt;/b&gt;.</translation>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Jelszó megváltoztatása</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Tárca kódolása sikertelen.</translation>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Írd be a tárca régi és új jelszavát.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Tárca kódolása</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Biztosan kódolni akarod a tárcát?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
- <source>Unlock wallet</source>
- <translation>Tárca megnyitása</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Figyelem: Ha kódolod a tárcát, és elveszíted a jelszavad, akkor &lt;b&gt;AZ ÖSSZES BITCOINODAT IS EL FOGOD VESZÍTENI!&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
- <source>Change passphrase</source>
- <translation>Jelszó megváltoztatása</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Biztosan kódolni akarod a tárcát?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>A megadott jelszavak nem egyeznek.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>Hibás jelszó.</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Tárca kódolva</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Biztosan kódolni akarod a tárcát?</translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin will close now to finish the encryption process. Ne feledd, hogy a tárca titkosítása sem nyújt teljes védelmet az adathalász programok fertőzésével szemben.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Jelszó megváltoztatva.</translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Tárca kódolása sikertelen.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>Dekódolás sikertelen.</translation>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Tárca kódolása belső hiba miatt sikertelen. A tárcád nem lett kódolva.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin will close now to finish the encryption process. Ne feledd, hogy a tárca titkosítása sem nyújt teljes védelmet az adathalász programok fertőzésével szemben.</translation>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>A megadott jelszavak nem egyeznek.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
- <source>Enter passphrase</source>
- <translation>Add meg a jelszót</translation>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>Tárca megnyitása sikertelen</translation>
</message>
-</context>
-<context>
- <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Szinkronizálás a hálózattal...</translation>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>Hibás jelszó.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Tranzakciótörténet megtekintése</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Dekódolás sikertelen.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>Érmék &amp;fogadása</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Jelszó megváltoztatva.</translation>
</message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Kilépés</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Kilépés</translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Szinkronizálás a hálózattal...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Áttekintés</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>Tárca &amp;kódolása</translation>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Tárca általános áttekintése</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Beállítások</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Tranzakciók</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>Cím&amp;jegyzék</translation>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Tranzakciótörténet megtekintése</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Fájl</translation>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>Cím&amp;jegyzék</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Kiizetést fogadó címek listája</translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Tárolt címek és címkék listájának szerkesztése</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;A %1-ról</translation>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>Érmék &amp;fogadása</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Opciók...</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Kiizetést fogadó címek listája</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Bitcoin konfigurációs opciók</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>Érmék &amp;küldése</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Tárca kódolása vagy dekódolása</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Kilépés</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Exportálás...</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Kilépés</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Tranzakciók</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Információk a Bitcoinról</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
+ <location line="+2"/>
<source>About &amp;Qt</source>
<translation>A &amp;Qt-ról</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+1"/>
<source>Show information about Qt</source>
<translation>Információk a Qt ról</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>Érmék &amp;küldése</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Fül eszköztár</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Opciók...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>%1 blokk letöltve a tranzakciótörténetből.</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>Tárca &amp;kódolása...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Információk a Bitcoinról</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>Jelszó &amp;megváltoztatása...</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>%n másodperccel ezelőtt</numerusform>
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin-tárca</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>%1 blokk letöltve a tranzakciótörténet %2 blokkjából (%3% done).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Tárca általános áttekintése</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Exportálás...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Tárcakódoló jelszó megváltoztatása</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Érmék küldése megadott címre</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Parancsok eszköztár</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Bitcoin konfigurációs opciók</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n aktív kapcsolat a Bitcoin-hálózattal</numerusform>
- </translation>
+ <message>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Jelenlegi nézet exportálása fájlba</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Érmék küldése megadott címre</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Tárca kódolása vagy dekódolása</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- </translation>
+ <message>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished">A Bitcoin-ablak mutatása</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Tárcakódoló jelszó megváltoztatása</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Jelenlegi nézet exportálása fájlba</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished"></translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Tárca</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;A Bitcoinról</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>Jelszó &amp;megváltoztatása</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fájl</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Beállítások</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Súgó</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Fül eszköztár</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Parancsok eszköztár</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[teszthálózat]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n aktív kapcsolat a Bitcoin-hálózattal</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>%1 blokk letöltve a tranzakciótörténetből.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>%n másodperccel ezelőtt</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>%n perccel ezelőtt</numerusform>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n órával ezelőtt</numerusform>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>%n nappal ezelőtt</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Naprakész</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Frissítés...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Az utolsóként kapott blokk generálva: %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>%1 blokk letöltve a tranzakciótörténet %2 blokkjából (%3% done).</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Ez a tranzakció túllépi a mérethatárt, de %1 tranzakciós díj ellenében így is elküldheted. Ezt a plusz összeget a tranzakcióidat feldolgozó csomópontok kapják, így magát a hálózatot támogatod vele. Hajlandó vagy megfizetni a díjat?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Tranzakció elküldve.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Beérkező tranzakció</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -598,774 +606,1188 @@ Cím: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>Tárca &lt;b&gt;kódolva&lt;/b&gt; és jelenleg &lt;b&gt;nyitva&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Tárca &lt;b&gt;kódolva&lt;/b&gt; és jelenleg &lt;b&gt;zárva&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Küldés...</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Tárolt címek és címkék listájának szerkesztése</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Súgó</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[teszthálózat]</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Mértékegység: </translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Válaszd ki az interfészen és érmék küldésekor megjelenítendő alapértelmezett alegységet.</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Címek megjelenítése a tranzakciólistában</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Cím szerkesztése</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>Cím&amp;ke</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>A címhez tartozó címke</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Cím</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Az ehhez a címjegyzék-bejegyzéshez tartozó cím. Ez csak a küldő címeknél módosítható.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Új fogadó cím</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Új küldő cím</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Fogadó cím szerkesztése</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Küldő cím szerkesztése</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>A megadott &quot;%1&quot; cím már szerepel a címjegyzékben.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation>A megadott &quot;%1&quot; cím nem egy érvényes Bitcoin-cím.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Tárca feloldása sikertelen</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Új kulcs generálása sikertelen</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
- <source>The entered address &quot;%1&quot; is already in the address book.</source>
- <translation>A megadott &quot;%1&quot; cím már szerepel a címjegyzékben.</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>Tárca feloldása sikertelen</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>verzió</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Használat:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI opciók</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Indítás lekicsinyítve
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>Proxy IP címe (pl.: 127.0.0.1)</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Opciók</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Proxy portja (pl.: 1234)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Fő</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port: </translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Induljon el a számítógép bekapcsolásakor</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Tranzakciós &amp;díj fizetése</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation>Induljon el a Bitcoin a számítógép bekapcsolásakor</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Kicsinyítés a tálcára az eszköztár helyett</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Kicsinyítés után csak eszköztár-ikont mutass</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Induljon el a számítógép bekapcsolásakor</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>K&amp;icsinyítés záráskor</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Az alkalmazásból való kilépés helyett az eszköztárba kicsinyíti az alkalmazást az ablak bezárásakor. Ez esetben az alkalmazás csak a Kilépés menüponttal zárható be.</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>&amp;UPnP port-feltérképezés</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
+ <location line="+6"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>A Bitcoin-kliens portjának automatikus megnyitása a routeren. Ez csak akkor működik, ha a routered támogatja az UPnP-t és az engedélyezve is van rajta.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Csatlakozás SOCKS4 proxyn keresztül:</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>&amp;UPnP port-feltérképezés</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>SOCKS4 proxyn keresztüli csatlakozás a Bitcoin hálózatához (pl. Tor-on keresztüli csatlakozás esetén)</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>SOCKS proxyn keresztüli csatlakozás a Bitcoin hálózatához (pl. Tor-on keresztüli csatlakozás esetén)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP: </translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Csatlakozás SOCKS proxyn keresztül:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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.</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Tranzakciós &amp;díj fizetése</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Proxy IP címe (pl.: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation type="unfinished"></translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Proxy portja (pl.: 9050)</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Válassz egy címet a címjegyzékből</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+36"/>
+ <source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Cím beillesztése a vágólapról</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Kicsinyítés után csak eszköztár-ikont mutass</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Kicsinyítés a tálcára az eszköztár helyett</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation type="unfinished"></translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Az alkalmazásból való kilépés helyett az eszköztárba kicsinyíti az alkalmazást az ablak bezárásakor. Ez esetben az alkalmazás csak a Kilépés menüponttal zárható be.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>K&amp;icsinyítés záráskor</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation type="unfinished"></translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Megjelenítés</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Másolás a vágólapra</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Mértékegység:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished">A megadott &quot;%1&quot; cím nem egy érvényes Bitcoin-cím.</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Válaszd ki az interfészen és érmék küldésekor megjelenítendő alapértelmezett alegységet.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Címek megjelenítése a tranzakciólistában</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Üzenet</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Adj meg egy Bitcoin-címet (pl.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L )</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Megjelenítés</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Figyelem</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Opciók</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Fő</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Űrlap</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Egyenleg:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Tranzakciók száma:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Megerősítetlen:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Legutóbbi tranzakciók&lt;/b&gt;</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Tárca</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Tárca</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Legutóbbi tranzakciók&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Aktuális egyenleged</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Még megerősítésre váró, a jelenlegi egyenlegbe be nem számított tranzakciók</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Tárca összes tranzakcióinak száma</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Párbeszéd</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Összeg:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Címke:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>Üzenet:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>SendCoinsDialog</name>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Címzett hozzáadása ...</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Egyenleg:</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Mindent töröl</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source>Are you sure you want to send %1?</source>
- <translation>Valóban el akarsz küldeni %1-t?</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Küldés megerősítése</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; %2-re (%3)</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> és</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
- <source>The recipient address is not valid, please recheck.</source>
- <translation>A címzett címe érvénytelen, kérlek, ellenőrizd.</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>A fizetendő összegnek nagyobbnak kell lennie 0-nál.</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
- <source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>A küldeni kívánt összeg és a %1 tranzakciós díj együtt meghaladja az egyenlegeden rendelkezésedre álló összeget.</translation>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
- <source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation>Többször szerepel ugyanaz a cím. Egy küldési műveletben egy címre csak egyszer lehet küldeni.</translation>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
- <source>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.</source>
- <translation>Hiba: a tranzakciót elutasították. Ezt az okozhatja, ha már elköltöttél valamennyi érmét a tárcádból például ha a wallet.dat-od egy másolatát használtad, és így az elköltés csak abban lett jelölve, de itt nem.</translation>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Érmék küldése</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Küldés több címzettnek egyszerre</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Címzett hozzáadása</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Mindent &amp;töröl</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Egyenleg:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Küldés megerősítése</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Küldés</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; %2-re (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Küldés megerősítése</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>Valóban el akarsz küldeni %1-t?</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> és</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>A címzett címe érvénytelen, kérlek, ellenőrizd.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>A fizetendő összegnek nagyobbnak kell lennie 0-nál.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Nincs ennyi bitcoin az egyenlegeden.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation>A küldeni kívánt összeg és a %1 tranzakciós díj együtt meghaladja az egyenlegeden rendelkezésedre álló összeget.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>Többször szerepel ugyanaz a cím. Egy küldési műveletben egy címre csak egyszer lehet küldeni.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Hiba: nem sikerült létrehozni a tranzakciót.</translation>
</message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>Hiba: a tranzakciót elutasították. Ezt az okozhatja, ha már elköltöttél valamennyi érmét a tárcádból például ha a wallet.dat-od egy másolatát használtad, és így az elköltés csak abban lett jelölve, de itt nem.</translation>
+ </message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Űrlap</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>Összeg:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Címzett:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Milyen címkével kerüljön be ez a cím a címtáradba?
+</translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>Címke:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Címzett címe (pl.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L )</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Válassz egy címet a címjegyzékből</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Cím beillesztése a vágólapról</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>Űrlap</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>Összeg:</translation>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Címzett eltávolítása</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>Címzett:</translation>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adj meg egy Bitcoin-címet (pl.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L )</translation>
</message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
- <source>Enter a label for this address to add it to your address book</source>
- <translation>Milyen címkével kerüljön be ez a cím a címtáradba?
-</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adj meg egy Bitcoin-címet (pl.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L )</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Válassz egy címet a címjegyzékből</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Cím beillesztése a vágólapról</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
- <source>Remove this recipient</source>
- <translation>Címzett eltávolítása</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Mindent &amp;töröl</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adj meg egy Bitcoin-címet (pl.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L )</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Adj meg egy Bitcoin-címet (pl.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L )</translation>
</message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/megerősítetlen</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Megnyitva %1-ig</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>%n blokkra megnyitva</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Megnyitva %1 blokkra</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/offline?</translation>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/megerősítetlen</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 megerősítés</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, %1 csomóponton keresztül elküldve.</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Állapot</translation>
</message>
- <message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>ismeretlen</translation>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Állapot:&lt;/b&gt; </translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Dátum</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, elküldve %1 csomóponton keresztül.</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Dátum:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Legenerálva</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Forrás:&lt;/b&gt; Generálva&lt;br&gt;</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Űrlap</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Űrlap:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Címzett</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Címzett:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (tiéd, címke: </translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>címke</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Jóváírás&lt;/b&gt; </translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Jóváírás</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1, %2 múlva készül el)</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>elutasítva</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(elutasítva)</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Terhelés</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Terhelés&lt;/b&gt; </translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Tranzakciós díj</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Nettó összeg:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Nettó összeg</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Üzenet:</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Üzenet</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Megjegyzés:</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Megjegyzés</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="+2"/>
+ <source>Transaction ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation>A frissen generált érméket csak 120 blokkal később tudod elkölteni. Ez a blokk nyomban szétküldésre került a hálózatba, amint legeneráltad, hogy hozzáadhassák a blokklánchoz. Ha nem kerül be a láncba, úgy az állapota &quot;elutasítva&quot;-ra módosul, és nem költheted el az érméket. Ez akkor következhet be időnként, ha egy másik csomópont mindössze néhány másodperc különbséggel generált le egy blokkot a tiédhez képest.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (tiéd)</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Tranzakció</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Tranzakciós díj:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Összeg</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
<source>, has not been successfully broadcast yet</source>
<translation>, még nem sikerült elküldeni.</translation>
</message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>ismeretlen</translation>
+ </message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Tranzakció részletei</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Ez a mező a tranzakció részleteit mutatja</translation>
</message>
@@ -1373,293 +1795,293 @@ Cím: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Dátum</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Type</source>
<translation>Típus</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Dátum</translation>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Cím</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Összeg</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>%n blokkra megnyitva</numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>%1-ig megnyitva</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Offline (%1 megerősítés)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
- <source>Confirmed (%1 confirmations)</source>
- <translation>Megerősítve (%1 megerősítés)</translation>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Megerősítetlen (%1 %2 megerősítésből)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Ezt a blokkot egyetlen másik csomópont sem kapta meg, így valószínűleg nem lesz elfogadva!</translation>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>Megerősítve (%1 megerősítés)</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>%n blokk múlva lesz elérhető a bányászott egyenleg.</numerusform>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>Összeg</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>%1-ig megnyitva</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>Megerősítetlen (%1 %2 megerősítésből)</translation>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Ezt a blokkot egyetlen másik csomópont sem kapta meg, így valószínűleg nem lesz elfogadva!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Legenerálva, de még el nem fogadva.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Erre a címre</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Erről az</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Erre a címre</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Magadnak kifizetve</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Kibányászva</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(nincs)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Tranzakció állapota. Húzd ide a kurzort, hogy lásd a megerősítések számát.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Tranzakció fogadásának dátuma és időpontja.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Tranzakció típusa.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>A tranzakció címzettjének címe.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Az egyenleghez jóváírt vagy ráterhelt összeg.</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Cím</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Erről az</translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Tartomány ...</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Mind</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Más</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Mai</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>%1 fájlba való kiírás sikertelen.</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Ezen a héten</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Tartomány:</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Ebben a hónapban</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>meddig</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Múlt hónapban</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Típus</translation>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Ebben az évben</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Részletek...</translation>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Tartomány ...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Mind</translation>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Erre a címre</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Mai</translation>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Erre a címre</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Magadnak</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Címke szerkesztése</translation>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Kibányászva</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Megerősítve</translation>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Más</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Címke</translation>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Írd be a keresendő címet vagy címkét</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Cím</translation>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Minimális összeg</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Összeg</translation>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Cím másolása</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>Azonosító</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Címke másolása</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Hiba lépett fel exportálás közben</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Írd be a keresendő címet vagy címkét</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Címke szerkesztése</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>Minimális összeg</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Cím másolása</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Tranzakció adatainak exportálása</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Címke másolása</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Vesszővel elválasztott fájl (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Ebben a hónapban</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Megerősítve</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Kibányászva</translation>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Dátum</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Ezen a héten</translation>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Típus</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Múlt hónapban</translation>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Címke</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Ebben az évben</translation>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Cím</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Erre a címre</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Összeg</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Erre a címre</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>Azonosító</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>Magadnak</translation>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Hiba lépett fel exportálás közben</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Tranzakció adatainak exportálása</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>%1 fájlba való kiírás sikertelen.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Vesszővel elválasztott fájl (*.csv)</translation>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Tartomány:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Dátum</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>meddig</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Küldés ...</translation>
</message>
@@ -1667,515 +2089,641 @@ Cím: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
<source>Bitcoin version</source>
<translation>Bitcoin verzió</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
+ <location line="+82"/>
<source>Usage:</source>
<translation>Használat:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Címek betöltése...</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Parancs küldése a -serverhez vagy a bitcoindhez
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Blokkindex betöltése...</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Parancsok kilistázása
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Segítség egy parancsról
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Opciók
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Konfigurációs fájl (alapértelmezett: bitcoin.conf)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Hiba: nem sikerült létrehozni a tranzakciót.</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>pid-fájl (alapértelmezett: bitcoind.pid)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Az %s adatkönyvtár nem zárható. A Bitcoin valószínűleg fut már.</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Érmék generálása
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Tárca betöltése...</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Bitcoin-generálás leállítása
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Adatkönyvtár
+</translation>
+ </message>
+ <message>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Csatlakozásokhoz figyelendő &lt;port&gt; (alapértelmezett: 8333 or testnet: 18333)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Betöltés befejezve.</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Újraszkennelés...</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Figyelem: a -paytxfee nagyon magas. Ennyi tranzakciós díjat fogsz fizetni, ha elküldöd a tranzakciót.</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Hiba: CreateThread(StartNode) sikertelen</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Étvénytelen -paytxfee=&lt;összeg&gt; összeg</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Figyelem: kevés a hely a lemezen</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>A %d port nem elérhető ezen a gépen. A Bitcoin valószínűleg fut már.</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Figyelem: Ellenőrizd, hogy helyesen van-e beállítva a gépeden a dátum és az idő. A Bitcoin nem fog megfelelően működni, ha rosszul van beállítvaaz órád.</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Érvénytelen -proxy cím</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Parancs küldése a -serverhez vagy a bitcoindhez
-</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Hiba: a tranzakciót elutasították. Ezt az okozhatja, ha már elköltöttél valamennyi érmét a tárcádból például ha a wallet.dat-od egy másolatát használtad, és így az elköltés csak abban lett jelölve, de itt nem.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Étvénytelen összeg</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Ez a tranzakció túllépi a mérethatárt, de %1 tranzakciós díj ellenében így is elküldheted. Ezt a plusz összeget a tranzakcióidat feldolgozó csomópontok kapják, így magát a hálózatot támogatod vele. Hajlandó vagy megfizetni a díjat?</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>JSON-RPC csatlakozásokhoz figyelendő &lt;port&gt; (alapértelmezett: 8332 or testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Hiba</translation>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Parancssoros és JSON-RPC parancsok elfogadása
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Parancsok kilistázása
-</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Hiba: nem sikerült létrehozni a tranzakciót.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Segítség egy parancsról
-</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Opciók
-</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Konfigurációs fájl (alapértelmezett: bitcoin.conf)
-</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>pid-fájl (alapértelmezett: bitcoind.pid)
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Háttérben futtatás daemonként és parancsok elfogadása
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Érmék generálása
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Teszthálózat használata
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Bitcoin-generálás leállítása
-</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Adatkönyvtár
-</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Figyelem: a -paytxfee nagyon magas. Ennyi tranzakciós díjat fogsz fizetni, ha elküldöd a tranzakciót.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Figyelem: Ellenőrizd, hogy helyesen van-e beállítva a gépeden a dátum és az idő. A Bitcoin nem fog megfelelően működni, ha rosszul van beállítvaaz órád.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Csatlakozás időkerete (milliszekundumban)
-</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Csatlakozás csak a megadott csomóponthoz</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation type="unfinished"></translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Érvénytelen -tor cím: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL-opciók: (lásd a Bitcoin Wiki SSL-beállítási instrukcióit)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Csatlakozás időkerete milliszekundumban (alapértelmezett: 5000)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 1 when listening)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Hiba az addr.dat betöltése közben</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Felhasználói név JSON-RPC csatlakozásokhoz
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Hiba az blkindex.dat betöltése közben</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Hiba a wallet.dat betöltése közben: meghibásodott tárca</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Figyelem: kevés a hely a lemezen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Hiba az wallet.dat betöltése közben</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Teszthálózat használata
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Jelszó JSON-RPC csatlakozásokhoz
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Felhasználói név JSON-RPC csatlakozásokhoz
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>JSON-RPC csatlakozások engedélyezése meghatározott IP-címről
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Jelszó JSON-RPC csatlakozásokhoz
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Parancsok küldése &lt;ip&gt; címen működő csomóponthoz (alapértelmezett: 127.0.0.1)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation>Kulcskarika mérete &lt;n&gt; (alapértelmezett: 100)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Szerver titkos kulcsa (alapértelmezett: server.pem)
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Blokklánc újraszkennelése hiányzó tárca-tranzakciók után
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>JSON-RPC csatlakozásokhoz figyelendő &lt;port&gt; (alapértelmezett: 8332)
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>OpenSSL (https) használata JSON-RPC csatalkozásokhoz
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation>Szervertanúsítvány-fájl (alapértelmezett: server.cert)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>JSON-RPC csatlakozások engedélyezése meghatározott IP-címről
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Szerver titkos kulcsa (alapértelmezett: server.pem)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Indítás lekicsinyítve
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Elfogadható rejtjelkulcsok (alapértelmezett: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH )
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
<translation>Ez a súgó-üzenet
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Elfogadható rejtjelkulcsok (alapértelmezett: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH )
-</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Az %s adatkönyvtár nem zárható. A Bitcoin valószínűleg fut már.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Csatlakozás SOCKS4 proxyn keresztül
-</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL-opciók: (lásd a Bitcoin Wiki SSL-beállítási instrukcióit)
-</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>A %s nem elérhető ezen a gépen (bind returned error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Nincs elég bitcoinod.</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Csatlakozás SOCKS proxyn keresztül</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>DNS-kikeresés engedélyezése az addnode-nál és a connect-nél</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Címek betöltése...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Hiba az blkindex.dat betöltése közben</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Hiba a wallet.dat betöltése közben: meghibásodott tárca</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation>Hiba a wallet.dat betöltése közben: ehhez a tárcához újabb verziójú Bitcoin-kliens szükséges</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Küldés...</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Hiba: a tranzakciót elutasították. Ezt az okozhatja, ha már elköltöttél valamennyi érmét a tárcádból például ha a wallet.dat-od egy másolatát használtad, és így az elköltés csak abban lett jelölve, de itt nem.</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Hiba az wallet.dat betöltése közben</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Érvénytelen -proxy cím: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>DNS-kikeresés engedélyezése az addnode-nál és a connect-nél
-</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Csatlakozásokhoz figyelendő &lt;port&gt; (alapértelmezett: 8333 or testnet: 18333)</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Elérendő csomópont megadása and attempt to keep the connection open</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Csatlakozás csak a megadott csomóponthoz
-</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Étvénytelen -paytxfee=&lt;összeg&gt; összeg: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 1)</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 0)</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Küldés...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Étvénytelen összeg</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Nincs elég bitcoinod.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Blokkindex betöltése...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Elérendő csomópont megadása and attempt to keep the connection open</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>A %s nem elérhető ezen a gépen. A Bitcoin valószínűleg fut már.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
<source>Fee per KB to add to transactions you send</source>
<translation>kB-onként felajánlandó díj az általad küldött tranzakciókhoz</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Parancssoros és JSON-RPC parancsok elfogadása
-</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Tárca betöltése...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Háttérben futtatás daemonként és parancsok elfogadása
-</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Parancsok küldése &lt;ip&gt; címen működő csomóponthoz (alapértelmezett: 127.0.0.1)
-</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Blokklánc újraszkennelése hiányzó tárca-tranzakciók után
-</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>OpenSSL (https) használata JSON-RPC csatalkozásokhoz
-</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Újraszkennelés...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Betöltés befejezve.</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Hiba</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Használat</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_it.ts b/src/qt/locale/bitcoin_it.ts
index f0c529c937..a595c619cd 100644
--- a/src/qt/locale/bitcoin_it.ts
+++ b/src/qt/locale/bitcoin_it.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Info su Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>Versione di &lt;b&gt;Bitcoin&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Developers
-
+ <translation>
Questo è un software sperimentale.
-Distribuito sotto la licenza software MIT/X11, vedi il file license.txt incluso oppure su http://www.opensource.org/licenses/mit-license.php.
+Distribuito sotto la licenza software MIT/X11, vedi il file COPYING incluso oppure su http://www.opensource.org/licenses/mit-license.php.
Questo prodotto include software sviluppato dal progetto OpenSSL per l&apos;uso del Toolkit OpenSSL (http://www.openssl.org/), software crittografico scritto da Eric Young (eay@cryptsoft.com) e software UPnP scritto da Thomas Bernard.</translation>
</message>
@@ -35,120 +38,120 @@ Questo prodotto include software sviluppato dal progetto OpenSSL per l&apos;uso
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Rubrica</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Questi sono i tuoi indirizzi Bitcoin per ricevere pagamenti. Potrai darne uno diverso ad ognuno per tenere così traccia di chi ti sta pagando.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Fai doppio click per modificare o cancellare l&apos;etichetta</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Crea un nuovo indirizzo</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Testo CSV (*.csv)</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Error exporting</source>
- <translation>Errore nell&apos;esportazione</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Impossibile scrivere sul file %1.</translation>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Copia l&apos;indirizzo attualmente selezionato nella clipboard</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Nuovo indirizzo...</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Nuovo indirizzo</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
- <translation>Copia l&apos;indirizzo attualmente selezionato nella clipboard</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Questi sono i tuoi indirizzi Bitcoin per ricevere pagamenti. Potrai darne uno diverso ad ognuno per tenere così traccia di chi ti sta pagando.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copia nella clipboard</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Copia l&apos;indirizzo</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Mostra il codice &amp;QR</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Firma un messaggio per dimostrare di possedere questo indirizzo</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>Firma il &amp;messaggio</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Cancella l&apos;indirizzo attualmente selezionato dalla lista. Solo indirizzi d&apos;invio possono essere cancellati.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
+ <location line="+14"/>
<source>&amp;Delete</source>
<translation>&amp;Cancella</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Firma un messaggio per dimostrare di possedere questo indirizzo</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Copia &amp;l&apos;etichetta</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Copia l&apos;indirizzo</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Modifica</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Copia l&apos;etichetta</translation>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Esporta gli indirizzi della rubrica</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Modifica</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Testo CSV (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Cancella</translation>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Errore nell&apos;esportazione</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
- <source>Export Address Book Data</source>
- <translation>Esporta gli indirizzi della rubrica</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Impossibile scrivere sul file %1.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etichetta</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Indirizzo</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(nessuna etichetta)</translation>
</message>
@@ -156,273 +159,248 @@ Questo prodotto include software sviluppato dal progetto OpenSSL per l&apos;uso
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Quest&apos;operazione necessita della passphrase per sbloccare il portamonete.</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Inserisci la passphrase</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Cifratura del portamonete fallita</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Nuova passphrase</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Ripeti la passphrase</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Portamonete cifrato</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Inserisci la passphrase per il portamonete.&lt;br/&gt;Per piacere usare unapassphrase di &lt;b&gt;10 o più caratteri casuali&lt;/b&gt;, o &lt;b&gt;otto o più parole&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialogo</translation>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Cifra il portamonete</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Etichetta</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Quest&apos;operazione necessita della passphrase per sbloccare il portamonete.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Cifratura del portamonete fallita a causa di un errore interno. Il portamonete non è stato cifrato.</translation>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Sblocca il portamonete</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>Le passphrase inserite non corrispondono.</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Quest&apos;operazione necessita della passphrase per decifrare il portamonete,</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Decifra il portamonete</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Cambia la passphrase</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Cifra il portamonete</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
- <source>Unlock wallet</source>
- <translation>Sblocca il portamonete</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>La passphrase inserita per la decifrazione del portamonete è errata.</translation>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Inserisci la vecchia e la nuova passphrase per il portamonete.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Quest&apos;operazione necessita della passphrase per decifrare il portamonete,</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Conferma la cifratura del portamonete</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Inserisci la vecchia e la nuova passphrase per il portamonete.</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Attenzione: se si cifra il portamonete e si perde la frase d&apos;ordine, &lt;b&gt;SI PERDERANNO TUTTI I PROPRI BITCOIN&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ATTENZIONE: se si cifra il portamonete e si perde la frase d&apos;ordine, &lt;b&gt;SI PERDERANNO TUTTI I PROPRI BITCOIN&lt;/b&gt;!
-Si è sicuri di voler cifrare il portamonete?</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Si è sicuri di voler cifrare il portamonete?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>Sblocco del portamonete fallito</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Attenzione: tasto Blocco maiuscole attivo.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Portamonete cifrato</translation>
+ </message>
+ <message>
+ <location line="-56"/>
<source>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.</source>
<translation>Bitcoin verrà ora chiuso per finire il processo di crittazione. Ricorda che criptare il tuo portamonete non può fornire una protezione totale contro furti causati da malware che dovessero infettare il tuo computer.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>Decifrazione del portamonete fallita</translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Cifratura del portamonete fallita</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Inserisci la passphrase per il portamonete.&lt;br/&gt;Per piacere usare unapassphrase di &lt;b&gt;10 o più caratteri casuali&lt;/b&gt;, o &lt;b&gt;otto o più parole&lt;/b&gt;.</translation>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Cifratura del portamonete fallita a causa di un errore interno. Il portamonete non è stato cifrato.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Conferma la cifratura del portamonete</translation>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>Le passphrase inserite non corrispondono.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Passphrase del portamonete modificata con successo.</translation>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>Sblocco del portamonete fallito</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Attenzione: tasto Blocco maiuscole attivo.</translation>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>La passphrase inserita per la decifrazione del portamonete è errata.</translation>
</message>
-</context>
-<context>
- <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Transazioni</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Decifrazione del portamonete fallita</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Chiudi applicazione</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Passphrase del portamonete modificata con successo.</translation>
</message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Barra degli strumenti &quot;Tabs&quot;</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Firma il &amp;messaggio...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;Ricevi monete</translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Sto sincronizzando con la rete...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Mostra la lista di indirizzi su cui ricevere pagamenti</translation>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Sintesi</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Cambia la passphrase per la cifratura del portamonete</translation>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Mostra lo stato generale del portamonete</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Portamonete di bitcoin</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Transazioni</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Sintesi</translation>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Cerca nelle transazioni</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Rubrica</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Modifica la lista degli indirizzi salvati e delle etichette</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Invia monete</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Cifra o decifra il portamonete</translation>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Ricevi monete</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Cifra il portamonete</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Mostra la lista di indirizzi su cui ricevere pagamenti</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Mostra informazioni su Bitcoin</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Invia monete</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Mostra informazioni su Qt</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Esci</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Esporta...</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Chiudi applicazione</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Mostra informazioni su Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
+ <location line="+2"/>
<source>About &amp;Qt</source>
<translation>Informazioni su &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Mostra o nascondi la finestra Bitcoin</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Mostra informazioni su Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoin client</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Opzioni...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Esporta i dati nella tabella corrente su un file</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n connessione attiva alla rete Bitcoin</numerusform>
- <numerusform>%n connessioni attive alla rete Bitcoin</numerusform>
- </translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Cifra il portamonete...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Backup portamonete in un&apos;altra locazione</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup Portamonete...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Opzioni...</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Cambia la passphrase...</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
+ <location line="+241"/>
<source>~%n block(s) remaining</source>
<translation>
<numerusform>~%n blocco rimanente</numerusform>
@@ -430,130 +408,140 @@ Si è sicuri di voler cifrare il portamonete?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Mostra lo stato generale del portamonete</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
+ <location line="+6"/>
<source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
<translation>Scaricati %1 di %2 blocchi dello storico delle transazioni ( il %3% )</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Sto sincronizzando con la rete...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Mostra/Nascondi &amp;Bitcoin</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Esporta...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
<translation>Invia monete ad un indirizzo bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Firma il &amp;messaggio</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modifica configurazione opzioni per bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Dimostra di controllare un indirizzo</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Esporta i dati nella tabella corrente su un file</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Esci</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Cifra o decifra il portamonete</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Informazioni su %1</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Backup portamonete in un&apos;altra locazione</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;File</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Cambia la passphrase per la cifratura del portamonete</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Backup Portamonete</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Dati Portamonete (*.dat)</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Backup fallito</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>C&apos;è stato un errore tentanto di salvare i dati del portamonete in un&apos;altra locazione</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Portamonete</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">Backup Portamonete</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Info su Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Cambia la passphrase</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Mostra/Nascondi</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Scaricati %1 blocchi dello storico transazioni.</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;File</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
<translation>&amp;Impostazioni</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>%n secondo fa</numerusform>
- <numerusform>%n secondi fa</numerusform>
- </translation>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Aiuto</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Barra degli strumenti &quot;Tabs&quot;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation>Barra degli strumenti &quot;Azioni&quot;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Cerca nelle transazioni</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Modifica configurazione opzioni per bitcoin</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoin client</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n connessione attiva alla rete Bitcoin</numerusform>
+ <numerusform>%n connessioni attive alla rete Bitcoin</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Scaricati %1 blocchi dello storico transazioni.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>%n secondo fa</numerusform>
+ <numerusform>%n secondi fa</numerusform>
+ </translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>%n minuto fa</numerusform>
@@ -561,7 +549,7 @@ Si è sicuri di voler cifrare il portamonete?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n ora fa</numerusform>
@@ -569,7 +557,7 @@ Si è sicuri di voler cifrare il portamonete?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>%n giorno fa</numerusform>
@@ -577,32 +565,42 @@ Si è sicuri di voler cifrare il portamonete?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Aggiornato</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>In aggiornamento...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>L&apos;ultimo blocco ricevuto è stato generato %1</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>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?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Conferma compenso transazione</translation>
+ </message>
+ <message>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Transazione inviata</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Transazione ricevuta</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -616,545 +614,750 @@ Indirizzo: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>Il portamonete è &lt;b&gt;cifrato&lt;/b&gt; e attualmente &lt;b&gt;sbloccato&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Il portamonete è &lt;b&gt;cifrato&lt;/b&gt; e attualmente &lt;b&gt;bloccato&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Invio...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Aiuto</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Backup Portamonete</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation type="unfinished"></translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Dati Portamonete (*.dat)</translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Unità di misura degli importi in: </translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Backup fallito</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Scegli l&apos;unità di suddivisione di default per l&apos;interfaccia e per l&apos;invio di monete</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>C&apos;è stato un errore tentanto di salvare i dati del portamonete in un&apos;altra locazione</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Mostra gli indirizzi nella lista delle transazioni</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished"></translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Avviso di rete</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Modifica l&apos;indirizzo</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Etichetta</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>L&apos;etichetta associata a questo indirizzo nella rubrica</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Indirizzo</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>L&apos;indirizzo associato a questa voce della rubrica. Si può modificare solo negli indirizzi di spedizione.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Nuovo indirizzo di ricezione</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Nuovo indirizzo d&apos;invio</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Modifica indirizzo di ricezione</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Modifica indirizzo d&apos;invio</translation>
+ </message>
+ <message>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>L&apos;indirizzo inserito &quot;%1&quot; è già in rubrica.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>L&apos;indirizzo inserito &quot;%1&quot; non è un indirizzo bitcoin valido.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Impossibile sbloccare il portamonete.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Generazione della nuova chiave non riuscita.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>Modifica indirizzo d&apos;invio</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>L&apos;indirizzo inserito &quot;%1&quot; non è un indirizzo bitcoin valido.</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versione</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Utilizzo:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>opzioni riga di comando</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI opzioni</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Imposta lingua, ad esempio &quot;it_IT&quot; (predefinita: lingua di sistema)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Parti in icona
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Mostra finestra di presentazione all&apos;avvio (default: 1)</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Fai partire Bitcoin all&apos;avvio del sistema</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Opzioni</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Principale</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Paga la &amp;commissione</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation>Avvia automaticamente Bitcoin all&apos;accensione del computer</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimizza sul tray invece che sulla barra delle applicazioni</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Fai partire Bitcoin all&apos;avvio del sistema</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Mostra solo un&apos;icona nel tray quando si minimizza la finestra</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Mappa le porte tramite l&apos;&amp;UPnP</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimizza alla chiusura</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>Rete</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
+ <location line="+6"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Apri automaticamente la porta del client Bitcoin sul router. Questo funziona solo se il router supporta UPnP ed è abilitato.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Riduci ad icona, invece di uscire dall&apos;applicazione quando la finestra viene chiusa. Quando questa opzione è attivata, l&apos;applicazione verrà chiusa solo dopo aver selezionato Esci nel menu.</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Mappa le porte tramite l&apos;&amp;UPnP</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Collegati tramite SOCKS4 proxy:</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Connettiti alla rete Bitcon attraverso un proxy SOCKS (ad esempio quando ci si collega via Tor)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Connettiti alla rete Bitcon attraverso un proxy SOCKS4 (ad esempio quando ci si collega via Tor)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Collegati tramite SOCKS proxy:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>&amp;IP del proxy: </translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>&amp;IP del proxy:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
+ <location line="+19"/>
<source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation>Indirizzo IP del proxy (ad esempio 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Porta: </translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Porta:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Porta del proxy (es. 1234)</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Porta del proxy (es. 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Paga la &amp;commissione</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Clicca &quot;Firma il messaggio&quot; per ottenere la firma</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Scegli l&apos;indirizzo dalla rubrica</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Mostra solo un&apos;icona nel tray quando si minimizza la finestra</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Inserisci qui il messaggio che vuoi firmare</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimizza sul tray invece che sulla barra delle applicazioni</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Riduci ad icona, invece di uscire dall&apos;applicazione quando la finestra viene chiusa. Quando questa opzione è attivata, l&apos;applicazione verrà chiusa solo dopo aver selezionato Esci nel menu.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Firma un messaggio per dimostrare di possedere questo indirizzo</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimizza alla chiusura</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Firma il messaggio</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Mostra</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copia nella clipboard</translation>
- </message>
- <message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Errore nel firmare</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 non è un indirizzo valido.</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Unità di misura degli importi in:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>La chiave privata per %1 non è disponibile.</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Scegli l&apos;unità di suddivisione di default per l&apos;interfaccia e per l&apos;invio di monete</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Firma non riuscita</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Messaggio</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Mostra gli indirizzi nella lista delle transazioni</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Puoi firmare messeggi con i tuoi indirizzi per dimostrare che sono tuoi. Fai attenzione a non firmare niente di vago, visto che gli attacchi di phishing potrebbero cercare di spingerti a mettere la tua firma su di loro. Firma solo dichiarazioni completamente dettagliate con cui sei d&apos;accordo.</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Inserisci un indirizzo Bitcoin (ad esempio 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Incollare l&apos;indirizzo dagli appunti</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Principale</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Attenzione</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Mostra</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Opzioni</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Portamonete</translation>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Modulo</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Transazioni recenti&lt;/b&gt;</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Saldo</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>Modulo</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Numero di transazioni:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Non confermato:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Portamonete</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Transazioni recenti&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Saldo attuale</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Totale delle transazioni in corso di conferma, che non sono ancora incluse nel saldo attuale</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Numero delle transazioni effettuate</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>fuori sincrono</translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Richiedi pagamento</translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Importo:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Etichetta:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
<source>Message:</source>
<translation>Messaggio:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;Salva come...</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>Codice QR</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>L&apos;URI risulta troppo lungo, prova a ridurre il testo nell&apos;etichetta / messaggio.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Salva codice QR</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>Immagini PNG (*.png)</translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialogo</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>N/D</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Richiedi pagamento</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Versione client</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Etichetta:</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>Immagini PNG (*.png)</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Tempo di avvio</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Rete</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Numero connessioni</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Numero attuale di blocchi</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Numero totale stimato di blocchi</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Ora dell blocco piu recente</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>opzioni riga di comando</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Svuota console</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Benvenuto nella console RPC di Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Scrivi &lt;b&gt;help&lt;/b&gt; per un riassunto dei comandi disponibili</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Spedisci Bitcoin</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Spedisci a diversi beneficiari in una volta sola</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Aggiungi beneficiario...</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Aggiungi beneficiario</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Rimuovi tutti i campi della transazione</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Cancella &amp;tutto</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation>&amp;Spedisci</translation>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123,456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Conferma la spedizione</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>&amp;Spedisci</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Cancella tutto</translation>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Conferma la spedizione di bitcoin</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Si è sicuri di voler spedire %1?</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
- <source>123.456 BTC</source>
- <translation>123,456 BTC</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Conferma la spedizione di bitcoin</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation> e </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>L&apos;indirizzo del beneficiario non è valido, per cortesia controlla.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>L&apos;importo da pagare dev&apos;essere maggiore di 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Nincs ennyi bitcoin az egyenlegeden.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Il totale è superiore al saldo attuale includendo la commissione %1.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Trovato un indirizzo doppio, si può spedire solo una volta a ciascun indirizzo in una singola operazione.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Errore: creazione della transazione fallita.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>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.</translation>
</message>
@@ -1162,217 +1365,439 @@ Indirizzo: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Modulo</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>&amp;Importo:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Paga &amp;a:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Inserisci un&apos;etichetta per questo indirizzo, per aggiungerlo nella rubrica</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Etichetta</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>L&apos;indirizzo del beneficiario cui inviare il pagamento (ad esempio 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Scegli l&apos;indirizzo dalla rubrica</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Incollare l&apos;indirizzo dagli appunti</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Rimuovere questo beneficiario</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Inserisci un indirizzo Bitcoin (ad esempio 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Firma il messaggio</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Puoi firmare messeggi con i tuoi indirizzi per dimostrare che sono tuoi. Fai attenzione a non firmare niente di vago, visto che gli attacchi di phishing potrebbero cercare di spingerti a mettere la tua firma su di loro. Firma solo dichiarazioni completamente dettagliate con cui sei d&apos;accordo.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Inserisci un indirizzo Bitcoin (ad esempio 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Scegli l&apos;indirizzo dalla rubrica</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
<source>Paste address from clipboard</source>
<translation>Incollare l&apos;indirizzo dagli appunti</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Inserisci qui il messaggio che vuoi firmare</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Firma un messaggio per dimostrare di possedere questo indirizzo</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Cancella &amp;tutto</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Inserisci un indirizzo Bitcoin (ad esempio 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Inserisci un indirizzo Bitcoin (ad esempio 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>Modulo</translation>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Clicca &quot;Firma il messaggio&quot; per ottenere la firma</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>&amp;Importo:</translation>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>Paga &amp;a:</translation>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
- <source>Enter a label for this address to add it to your address book</source>
- <translation>Inserisci un&apos;etichetta per questo indirizzo, per aggiungerlo nella rubrica</translation>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
- <source>&amp;Label:</source>
- <translation>&amp;Etichetta:</translation>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
- <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>sconosciuto</translation>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Aperto fino a %1</translation>
</message>
- <message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Megnyitva %1 blokkra</translation>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Aperto per %n blocco</numerusform>
+ <numerusform>Aperto per %n blocchi</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/offline?</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/non confermato</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Stato:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 conferme</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, non è stato ancora trasmesso con successo</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Stato</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, trasmesso attraverso %1 nodo</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Data</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, trasmesso attraverso %1 nodi</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Data:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generato</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Fonte:&lt;/b&gt; Generato&lt;br&gt;</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Da</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Da:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Per:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (vostro, etichetta: </translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>etichetta</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (vostro)</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Credito</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Credito:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>non accettate</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 matura in altri %2 blocchi)</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debito</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(non accettate)</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Tranzakciós díj</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debito:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Importo netto</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Tranzakciós díj:&lt;/b&gt; </translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Messaggio</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Importo netto:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Commento</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Messaggio:</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID della transazione</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Bisogna attendere 120 blocchi prima di spendere I bitcoin generati. Quando è stato generato questo blocco, è stato trasmesso alla rete per aggiungerlo alla catena di blocchi. Se non riesce a entrare nella catena, verrà modificato in &quot;non accettato&quot; e non sarà spendibile. Questo può accadere a volte, se un altro nodo genera un blocco entro pochi secondi del tuo.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Commento:</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>ID della transazione:</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Bisogna attendere 120 blocchi prima di spendere I bitcoin generati. Quando è stato generato questo blocco, è stato trasmesso alla rete per aggiungerlo alla catena di blocchi. Se non riesce a entrare nella catena, verrà modificato in &quot;non accettato&quot; e non sarà spendibile. Questo può accadere a volte, se un altro nodo genera un blocco entro pochi secondi del tuo.</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>Aperto fino a %1</translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Importo</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 conferme</translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, non è stato ancora trasmesso con successo</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>sconosciuto</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Dettagli sulla transazione</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Questo pannello mostra una descrizione dettagliata della transazione</translation>
</message>
@@ -1380,287 +1805,287 @@ Indirizzo: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Data</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Type</source>
<translation>Tipo</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Indirizzo</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>Importo</translation>
</message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Aperto per %n blocco</numerusform>
+ <numerusform>Aperto per %n blocchi</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Aperto fino a %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Offline (%1 conferme)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Non confermati (%1 su %2 conferme)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Confermato (%1 conferme)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Questo blocco non è stato ricevuto da altri nodi e probabilmente non sarà accettato!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Generati, ma non accettati</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Ricevuto tramite</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>Ricevuto da</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Spedito a</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Pagamento a te stesso</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Ottenuto dal mining</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(N / a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Stato della transazione. Passare con il mouse su questo campo per vedere il numero di conferme.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Data e ora in cui la transazione è stata ricevuta.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Tipo di transazione.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Indirizzo di destinazione della transazione.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Importo rimosso o aggiunto al saldo.</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Data</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
- <source>Open for %n block(s)</source>
- <translation>
- <numerusform>Aperto per %n blocco</numerusform>
- <numerusform>Aperto per %n blocchi</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Il saldo generato sarà disponibile tra %n altro blocco</numerusform>
- <numerusform>Il saldo generato sarà disponibile tra %n altri blocchi</numerusform>
- </translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Ottenuto dal mining</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Tutti</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Inserisci un indirizzo o un&apos;etichetta da cercare</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Oggi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>Importo minimo</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Questa settimana</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Copia l&apos;indirizzo</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Questo mese</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Il mese scorso</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Quest&apos;anno</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Range...</source>
<translation>Intervallo...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Ricevuto tramite</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Sent to</source>
<translation>Spedito a</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Copia l&apos;importo</translation>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>A te</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Copia l&apos;etichetta</translation>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Ottenuto dal mining</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Modifica l&apos;etichetta</translation>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Altro</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Data</translation>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Inserisci un indirizzo o un&apos;etichetta da cercare</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Esporta i dati della transazione</translation>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Importo minimo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Etichetta</translation>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Copia l&apos;indirizzo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Testo CSV (*.csv)</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Copia l&apos;etichetta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Importo</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Copia l&apos;importo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Tutti</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Modifica l&apos;etichetta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Oggi</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Mostra i dettagli della transazione</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Questa settimana</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Esporta i dati della transazione</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Questo mese</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Testo CSV (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Indirizzo</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Confermato</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Quest&apos;anno</translation>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Data</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Ricevuto tramite</translation>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Tipo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>A te</translation>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Etichetta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Altro</translation>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Indirizzo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Mostra i dettagli...</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Importo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Confermato</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Errore nell&apos;esportazione</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Tipo</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Impossibile scrivere sul file %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation>Intervallo:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Il mese scorso</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation>a</translation>
</message>
@@ -1668,7 +2093,7 @@ Indirizzo: %4
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Invio...</translation>
</message>
@@ -1676,515 +2101,642 @@ Indirizzo: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
<source>Bitcoin version</source>
<translation>Versione di Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Non è possibile ottenere i dati sulla directory %s. Probabilmente Bitcoin è già in esecuzione.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Caricamento indirizzi...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Caricamento portamonete...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Ripetere la scansione...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Errore: CreateThread(StartNode) non riuscito</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Attenzione: lo spazio su disco è scarso</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Importo non valido per -paytxfee=&lt;amount&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Attenzione: -paytxfee è molto alta. Questa è la commissione che si paga quando si invia una transazione.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Attenzione: si prega di controllare che la data del computer e l&apos;ora siano corrette. Se il vostro orologio è sbagliato Bitcoin non funziona correttamente.</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Utilizzo:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Errore caricamento blkindex.dat</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Manda il comando a -server o bitcoind
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Errore caricamento wallet.dat: il wallet richiede una versione nuova di Bitcoin</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Lista comandi
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Manda il comando a -server o bitcoind
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Aiuto su un comando
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
+ <location line="+20"/>
<source>Options:</source>
<translation>Opzioni:
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
+ <location line="+23"/>
<source>Specify configuration file (default: bitcoin.conf)</source>
<translation>Specifica il file di configurazione (di default: bitcoin.conf)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Aiuto su un comando
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Specifica il file pid (default: bitcoind.pid)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
+ <location line="-47"/>
<source>Generate coins</source>
<translation>Genera Bitcoin
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
+ <location line="-14"/>
<source>Don&apos;t generate coins</source>
<translation>Non generare Bitcoin
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Specifica il file pid (default: bitcoind.pid)
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Specifica la cartella dati
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation>Imposta la dimensione cache del database in megabyte (default: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Specifica il timeout di connessione (in millisecondi)
-</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Specifica la cartella dati
-</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Ascolta le connessioni JSON-RPC su &lt;porta&gt; (default: 8333 o testnet: 18333)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Mantieni al massimo &lt;n&gt; connessioni ai peer (default: 125)</translation>
+ </message>
+ <message>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Specifica il tuo indirizzo pubblico</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+77"/>
<source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation>Soglia di disconnessione dei peer di cattiva qualità (default: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Mantieni al massimo &lt;n&gt; connessioni ai peer (default: 125)</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Numero di secondi di sospensione che i peer di cattiva qualità devono trascorrere prima di riconnettersi (default: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Parti in icona
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>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?</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Attendi le connessioni JSON-RPC su &lt;porta&gt; (default: 8332 or testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Accetta da linea di comando e da comandi JSON-RPC
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Mostra finestra di presentazione all&apos;avvio (default: 1)</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Errore: creazione della transazione fallita.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Run in the background as a daemon and accept commands</source>
<translation>Esegui in background come demone e accetta i comandi
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
+ <location line="+33"/>
<source>Use the test network</source>
<translation>Utilizza la rete di prova
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Numero di secondi di sospensione che i peer di cattiva qualità devono trascorrere prima di riconnettersi (default: 86400)</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Connessione tramite socks4 proxy
-</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Consenti ricerche DNS per aggiungere nodi e collegare
-</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Attenzione: -paytxfee è molto alta. Questa è la commissione che si paga quando si invia una transazione.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Attenzione: si prega di controllare che la data del computer e l&apos;ora siano corrette. Se il vostro orologio è sbagliato Bitcoin non funziona correttamente.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Connetti solo al nodo specificato</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Indirizzo -tor non valido: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Buffer di ricezione massimo per connessione, &lt;n&gt;*1000 byte (default: 5000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Buffer di invio massimo per connessione, &lt;n&gt;*1000 byte (default: 1000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Produci informazioni extra utili al debug. Implies all other -debug* options</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation>Anteponi all&apos;output di debug una marca temporale</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Attendi le connessioni JSON-RPC su &lt;porta&gt; (default: 8332)
-</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>Opzioni SSL: (vedi il wiki di Bitcoin per le istruzioni di configurazione SSL)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation>Invia le informazioni di trace/debug alla console invece che al file debug.log</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Invia le informazioni di trace/debug al debugger</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Specifica il timeout di connessione in millisecondi (default: 5000)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 1 when listening)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Nome utente per connessioni JSON-RPC
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Imposta lingua, ad esempio &quot;it_IT&quot; (predefinita: lingua di sistema)</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Attenzione: lo spazio su disco è scarso</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Nome utente per connessioni JSON-RPC
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Password per connessioni JSON-RPC
+</translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Consenti connessioni JSON-RPC dall&apos;indirizzo IP specificato
+</translation>
+ </message>
+ <message>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Inviare comandi al nodo in esecuzione su &lt;ip&gt; (default: 127.0.0.1)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation>Aggiorna il wallet all&apos;ultimo formato</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation>Impostare la quantità di chiavi di riserva a &lt;n&gt; (default: 100)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation>Ripeti analisi della catena dei blocchi per cercare le transazioni mancanti dal portamonete
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation>Quanti blocchi da controllare all&apos;avvio (default: 2500, 0 = tutti)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Connetti solo al nodo specificato
-</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Buffer di invio massimo per connessione, &lt;n&gt;*1000 byte (default: 10000)</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Password per connessioni JSON-RPC
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Utilizzare OpenSSL (https) per le connessioni JSON-RPC
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Produci informazioni extra utili al debug</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>File certificato del server (default: server.cert)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Chiave privata del server (default: server.pem)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Cifrari accettabili (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Errore: creazione della transazione fallita.</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Questo messaggio di aiuto
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">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.</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Non è possibile ottenere i dati sulla directory %s. Probabilmente Bitcoin è già in esecuzione.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation type="unfinished"></translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation type="unfinished"></translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Impossibile collegarsi alla %s su questo computer (bind returned error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Cifrari accettabili (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
-</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Connessione tramite socks proxy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Caricamento dell&apos;indice del blocco...</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Consenti ricerche DNS per aggiungere nodi e collegare
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation type="unfinished"></translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Caricamento indirizzi...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation type="unfinished"></translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Errore caricamento blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Errore caricamento wallet.dat: Wallet corrotto</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Caricamento completato</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Errore caricamento wallet.dat: il wallet richiede una versione nuova di Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Indirizzo -proxy non valido</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Il portamonete deve essere riscritto: riavviare Bitcoin per completare</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Impossibile collegarsi alla porta %d su questo computer. Probabilmente Bitcoin è già in esecuzione.</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Errore caricamento wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Utilizzo:</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Indirizzo -proxy non valido: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Invio...</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Fondi insufficienti</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Errore caricamento addr.dat</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Errore caricamento wallet.dat: Wallet corrotto</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Il portamonete deve essere riscritto: riavviare Bitcoin per completare</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Importo non valido per -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Errore</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Errore: impossibile inizializzare il nodo</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Lista comandi
-</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Invio...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
+ <location line="-24"/>
<source>Invalid amount</source>
<translation>Importo non valido</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Ascolta le connessioni JSON-RPC su &lt;porta&gt; (default: 8333 o testnet: 18333)</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Fondi insufficienti</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Elérendő csomópont megadása and attempt to keep the connection open</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Caricamento dell&apos;indice del blocco...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Buffer di ricezione massimo per connessione, &lt;n&gt;*1000 byte (default: 10000)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Elérendő csomópont megadása and attempt to keep the connection open</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 1)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Impossibile collegarsi alla %s su questo computer. Probabilmente Bitcoin è già in esecuzione.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">UPnP-használat engedélyezése a figyelő port feltérképezésénél (default: 0)</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
+ <location line="-2"/>
<source>Fee per KB to add to transactions you send</source>
<translation>Commissione per KB da aggiungere alle transazioni in uscita</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Accetta da linea di comando e da comandi JSON-RPC
-</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Utilizzo</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Caricamento portamonete...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Consenti connessioni JSON-RPC dall&apos;indirizzo IP specificato
-</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Inviare comandi al nodo in esecuzione su &lt;ip&gt; (default: 127.0.0.1)
-</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Invia le informazioni di trace/debug al debugger</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Errore caricamento wallet.dat</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Ripetere la scansione...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>File certificato del server (default: server.cert)
-</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Caricamento completato</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Chiave privata del server (default: server.pem)
-</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Questo messaggio di aiuto
-</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Utilizzare OpenSSL (https) per le connessioni JSON-RPC
-</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Errore</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-Opzioni SSL: (vedi il wiki di Bitcoin per le istruzioni di configurazione SSL)
-</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_lt.ts b/src/qt/locale/bitcoin_lt.ts
index b924fe93f8..ca38273bd3 100644
--- a/src/qt/locale/bitcoin_lt.ts
+++ b/src/qt/locale/bitcoin_lt.ts
@@ -5,133 +5,134 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
- <translation>Apie Bitcoiną</translation>
+ <translation>Apie Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; versija</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Bitcoin programuotojai</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Autorystės teisės© 2009-2012 Bitcoin Developers
-DĖMESIO: programa eksperimentinė!
+ <translation>Tai eksperimentinė programa.
-Platinama pagal licenziją MIT/X11, papildomą informaciją rasite faile license.txt arba dokumente pagal nuorodą: http://www.opensource.org/licenses/mit-license.php.
+Platinama pagal MIT/X11 licenciją, kurią rasite faile COPYING arba http://www.opensource.org/licenses/mit-license.php.
-Šiame produkte yra projekto OpenSSL (http://www.openssl.org/), Eriko Jango (eay@cryptsoft.com) parašyti kriptografinės funkcijos ir algoritmai ir UPnP darbui skirtos funkcijos parašytos Tomo Bernardo.
- </translation>
+Š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.</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adresų knygelė</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Čia yra Jūsų adresai skirti mokėjimams gauti. Jūs galite skirtingiems žmonėms duoti skirtingus adresus. Tai Jums palengvins kontroliuoti mokėjimus bei padidins anonimiškumą.
- </translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
- <translation>Tam, kad pakeisti ar redaguoti adresą arba žymę turite objektą dukart spragtelti pele.</translation>
+ <translation>Spragtelėkite, kad pakeistumėte adresą arba žymę</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Sukurti naują adresą</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Naujas adresas...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Kopijuoti esamą adresą į mainų atmintį</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;C Kopijuoti į mainų atmintų</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Naujas adresas</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Tai yra jūsų Bitcoin adresai mokėjimų gavimui. Galite duoti skirtingus adresus atskiriems siuntėjams, kad galėtumėte sekti, kas jums moka.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopijuoti adresą</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Rodyti &amp;QR kodą</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Registruotis žinute įrodančia, kad turite šį adresą</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Pasirašykite žinutę, kad įrodytume, jog esate Bitcoin adreso savininkas</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>Registruoti praneši&amp;mą</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Pašalinti iš sąrašo pažymėtą adresą(gali būti pašalinti tiktai adresų knygelės įrašai).</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;D Pašalinti</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Patikrinkite žinutę, jog įsitikintumėte, kad ją pasirašė nurodytas Bitcoin adresas</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Copijuoti adresą</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Tikrinti žinutę</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopijuoti žymę</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Trinti</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Redaguoti</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopijuoti ž&amp;ymę</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Pašalinti</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Keisti</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Eksportuoti adresų knygelės duomenis</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Kableliais išskirtas failas (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Eksportavimo klaida</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Nepavyko įrašyti į failą %1.</translation>
</message>
@@ -139,17 +140,17 @@ Platinama pagal licenziją MIT/X11, papildomą informaciją rasite faile license
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Žymė</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresas</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(nėra žymės)</translation>
</message>
@@ -157,315 +158,369 @@ Platinama pagal licenziją MIT/X11, papildomą informaciją rasite faile license
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialogas</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Teksto žymė</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Slaptafrazės dialogas</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
- <translation>Įvesti slaptažodį</translation>
+ <translation>Įvesti slaptafrazę</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
- <translation>Naujas slaptažodis</translation>
+ <translation>Nauja slaptafrazė</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
- <translation>Pakartoti naują slaptažodį</translation>
+ <translation>Pakartokite naują slaptafrazę</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Įveskite naują slaptažodį piniginei &lt;br/&gt; Prašome naudoti slaptažodį iš &lt;b&gt; 10 ar daugiau atsitiktinių simbolių &lt;/b&gt; arba &lt;b&gt; aštuonių ar daugiau žodžių &lt;/b&gt;.</translation>
+ <translation>Įveskite naują piniginės slaptafrazę.&lt;br/&gt;Prašome naudoti slaptafrazę iš &lt;b&gt; 10 ar daugiau atsitiktinių simbolių&lt;/b&gt; arba &lt;b&gt;aštuonių ar daugiau žodžių&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Užšifruoti piniginę</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Ši operacija reikalauja jūsų piniginės slaptažodžio jai atrakinti.</translation>
+ <translation>Ši operacija reikalauja jūsų piniginės slaptafrazės jai atrakinti.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Atrakinti piniginę</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Ši operacija reikalauja jūsų piniginės slaptažodžio jai iššifruoti.</translation>
+ <translation>Ši operacija reikalauja jūsų piniginės slaptafrazės jai iššifruoti.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Iššifruoti piniginę</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
- <translation>Pakeisti slaptažodį</translation>
+ <translation>Pakeisti slaptafrazę</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
- <translation>Įveskite seną ir naują piniginės slaptažodžius</translation>
+ <translation>Įveskite seną ir naują piniginės slaptafrazes.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Patvirtinkite piniginės užšifravimą</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ĮSPĖJIMAS: Jei užšifruosite savo piniginę ir prarasite savo slaptažodį, Jūs &lt;b&gt; PRARASITE VISUS SAVO BITKOINUS, &lt;/b&gt;!
-Ar jūs tikrai norite užšifruoti savo piniginę?</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Piniginė užšifruota</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Dėmesio: jei užšifruosite savo piniginę ir pamesite slaptafrazę, jūs&lt;b&gt;PRARASITE VISUS SAVO BITCOINUS&lt;/b&gt;! </translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin dabar užsidarys šifravimo proceso pabaigai. Atminkite, kad piniginės šifravimas negali pilnai apsaugoti bitcoinų vagysčių kai tinkle esančios kenkėjiškos programos patenka į jūsų kompiuterį.</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Ar tikrai norite šifruoti savo piniginę?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Sėkmingai pakeistas piniginės slaptažodis.</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Įspėjimas: įjungtas Caps Lock klavišas!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Piniginė užšifruota</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>ĮSPĖJIMAS: Įjungtos didžiosios raidės</translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin dabar užsidarys šifravimo proceso pabaigai. Atminkite, kad piniginės šifravimas negali pilnai apsaugoti bitcoinų vagysčių kai tinkle esančios kenkėjiškos programos patenka į jūsų kompiuterį.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Nepavyko užšifruoti piniginę</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Dėl vidinės klaidos nepavyko užšifruoti piniginę.Piniginė neužšifruota.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
- <translation>Įvestas slaptažodis nesutampa</translation>
+ <translation>Įvestos slaptafrazės nesutampa.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Nepavyko atrakinti piniginę</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation> Neteisingai įvestas slaptažodis piniginės iššifravimui</translation>
+ <translation>Neteisingai įvestas slaptažodis piniginės iššifravimui.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
- <translation>Nepavyko iššifruoti piniginę</translation>
+ <translation>Nepavyko iššifruoti piniginės</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Piniginės slaptažodis sėkmingai pakeistas.</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitkoinų piniginė</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Pasirašyti ži&amp;nutę...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>Sinchronizavimas su tinklu ...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
- <translation>&amp;O Apžvalga</translation>
+ <translation>&amp;Apžvalga</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Rodyti piniginės bendrą apžvalgą</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
- <translation>&amp;T Sandoriai</translation>
+ <translation>&amp;Sandoriai</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Apžvelgti sandorių istoriją</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Adresų knygelė</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Redaguoti išsaugotus adresus bei žymes</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
- <translation>&amp;R Gautos monetos</translation>
+ <translation>&amp;Gauti monetas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Parodyti adresų sąraša mokėjimams gauti</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation>&amp;Siųsti monetas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Siųsti monetas bitkoinų adresu</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Išeiti</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Registruoti praneši&amp;mą</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Išjungti programą</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Įrodyti, kad jūs valdyti adresą</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Rodyti informaciją apie Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;x išėjimas</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Apie &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Išjungti programą</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Rodyti informaciją apie Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Apie %1</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Parinktys...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Užšifruoti ar iššifruoti piniginę</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Užšifruoti piniginę...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Pakeisti slaptažodį naudojamą piniginės užšifravimui</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup piniginę...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Rodyti informaciją apie Bitkoiną</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Keisti slaptafrazę...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~liko %n blokas</numerusform>
+ <numerusform>~liko %n blokai</numerusform>
+ <numerusform>~liko %n blokų</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Apie &amp;Qt</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Atsisiuntė %1 iš %2 sandorių istorijos blokų (%3% done).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Rodyti informaciją apie Qt</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Eksportuoti...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Opcijos...</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Siųsti monetas Bitcoin adresui</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation type="unfinished"></translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Keisti bitcoin konfigūracijos galimybes</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Užšifruoti ar iššifruoti piniginę</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation>Daryti piniginės atsarginę kopiją</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Pakeisti slaptafrazę naudojamą piniginės užšifravimui</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Derinimo langas</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Atverti derinimo ir diagnostikos konsolę</translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Tikrinti žinutę...</translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Piniginė</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Apie Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Rodyti / Slėpti</translation>
+ </message>
+ <message>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>&amp;Failas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
- <translation>Nu&amp;Statymai</translation>
+ <translation>&amp;Nustatymai</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
- <translation>&amp;H Pagelba</translation>
+ <translation>&amp;Pagalba</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+9"/>
<source>Tabs toolbar</source>
- <translation>Tabs įrankių juosta</translation>
+ <translation>Kortelių įrankinė</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
- <translation>Veiksmų įrankių juosta</translation>
+ <translation>Veiksmų įrankinė</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoin klientas</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testavimotinklas]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoin klientas</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n Bitcoin tinklo aktyvus ryšys</numerusform>
@@ -474,12 +529,12 @@ Ar jūs tikrai norite užšifruoti savo piniginę?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>Atsisiuntė %1 iš %2 sandorių istorijos blokų</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>Prieš %n sekundę</numerusform>
@@ -488,7 +543,7 @@ Ar jūs tikrai norite užšifruoti savo piniginę?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>Prieš %n minutę</numerusform>
@@ -497,7 +552,7 @@ Ar jūs tikrai norite užšifruoti savo piniginę?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>Prieš %n valandą</numerusform>
@@ -506,7 +561,7 @@ Ar jūs tikrai norite užšifruoti savo piniginę?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>Prieš %n dieną</numerusform>
@@ -515,67 +570,42 @@ Ar jūs tikrai norite užšifruoti savo piniginę?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
- <translation>Iki šiol</translation>
+ <translation>Atnaujinta</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
- <translation>Gaudo...</translation>
+ <translation>Vejamasi...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Paskutinis gautas blokas buvo sukurtas %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Siunčiama...</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Šis sandoris viršija leistiną dydį. Jūs galite įvykdyti jį papildomai sumokėję %1 mokesčių, kurie bus išsiųsti tais pačiais mazgais kuriais vyko sandoris ir padės palaikyti tinklą. Ar jūs norite apmokėti papildomą mokestį?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Patvirtinti sandorio mokestį</translation>
+ </message>
+ <message>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Sandoris nusiųstas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Ateinantis sandoris</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Piniginės duomenys (*.dat)</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Nepavyko padaryti atsarginės kopijos</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished">Rodyti Bitcoin langą</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Piniginė &lt;b&gt;užšifruota&lt;/b&gt; ir šiuo metu &lt;b&gt;atrakinta&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Piniginė &lt;b&gt;užšifruota&lt;/b&gt; ir šiuo metu &lt;b&gt;užrakinta&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -587,579 +617,749 @@ Tipas: %3
Adresas: %4</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testavimotinklas]</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Atsisiuntė %1 iš %2 sandorių istorijos blokų (%3% done).</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI apdorojimas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Backup piniginę</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Piniginė &lt;b&gt;užšifruota&lt;/b&gt; ir šiuo metu &lt;b&gt;atrakinta&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Keisti bitcoin konfigūracijos galimybes</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Piniginė &lt;b&gt;užšifruota&lt;/b&gt; ir šiuo metu &lt;b&gt;užrakinta&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Eksportas...</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Backup piniginę</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;E Užšifruoti piniginę</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Piniginės duomenys (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">&amp;Backup piniginę</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Nepavyko padaryti atsarginės kopijos</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;C Pakeisti slaptažodį</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;U vienetų rodyti sumas:</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Rodomų ir siunčiamų monetų kiekio matavimo vienetai</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Rodyti adresus sandorių sąraše</translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished"></translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Tinklo įspėjimas</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
- <translation>Redaguoti adresą</translation>
+ <translation>Keisti adresą</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
- <translation>&amp;L Žymė</translation>
+ <translation>Ž&amp;ymė</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Žymė yra susieta su šios adresų knygelęs turiniu</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adresas</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Adresas yra susietas su šios adresų knygelęs turiniu. Tai gali būti keičiama tik siuntimo adresams.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Naujas gavimo adresas</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Naujas siuntimo adresas</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
- <translation>Taisyti gavimo adresą</translation>
+ <translation>Keisti gavimo adresą</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
- <translation>Taisyti siuntimo adresą</translation>
+ <translation>Keisti siuntimo adresą</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
- <translation>Įvestas adresas &quot;%1&quot;yra adresų knygelėje</translation>
+ <translation>Įvestas adresas „%1“ jau yra adresų knygelėje.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Įvestas adresas &quot;%1&quot;nėra galiojantis bitkoinų adresas</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Įvestas adresas „%1“ nėra galiojantis Bitcoin adresas.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
- <translation>Neįmanoma atrakinti piniginės</translation>
+ <translation>Nepavyko atrakinti piniginės.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
- <translation>Naujas raktas nesukurtas</translation>
+ <translation>Naujo rakto generavimas nepavyko.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;S Paleisti Bitcoin programą su window sistemos paleidimu</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Automatiškai paleisti Bitkoin programą kai yra įjungiamas kompiuteris</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versija</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;M sumažinti langą bet ne užduočių juostą</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Naudojimas:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Po programos lango sumažinimo rodyti tik programos ikoną.</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>komandinės eilutės parametrai</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Prievado struktūra naudojant &amp;UPnP</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>Naudotoji sąsajos parametrai</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Automatiškai atidaryti Bitcoin kliento maršrutizatoriaus prievadą. Tai veikia tik tada, kai jūsų maršrutizatorius palaiko UPnP ir ji įjungta.</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Nustatyti kalbą, pavyzdžiui &quot;lt_LT&quot; (numatyta: sistemos kalba)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>&amp;i Sumažinti uždarant</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Paleisti sumažintą</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Uždarant langą neuždaryti programos. Kai ši parinktis įjungta, programa bus uždaryta tik pasirinkus meniu komandą Baigti.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;C Jungtis per socks4 proxy:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Parinktys</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Jungtis į Bitkoin tinklą per socks4 proxy (pvz. jungiantis per Tor)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Pagrindinės</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP: </translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Neprivalomas sandorio mokestis už KB, kuris padeda greičiau sutvarkyti sandorius. Daugelis sandorių yra tik 1KB dydžio. Rekomenduojamas 0,01 mokestis.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP adresas proxy (pvz. 127.0.0.1)</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>&amp;Mokėti sandorio mokestį</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Automatiškai paleisti Bitkoin programą įjungus sistemą.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Prievadas: </translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;S Paleisti Bitcoin programą su window sistemos paleidimu</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Proxy prievadas (pvz. 1234)</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>&amp;f Mokėti sandorio mokestį</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Atjungti duombazes išsijungiant</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Atjungti duombazes išsijungiant</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Tinklas</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Automatiškai atidaryti Bitcoin kliento prievadą maršrutizatoriuje. Tai veikia tik tada, kai jūsų maršrutizatorius palaiko UPnP ir ji įjungta.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>Neprivaloma sandorio mokestis už KB, kuris padeda įsitikinti, kad jūsų sandoriai tvarkomi greitai. Daugelis sandorių yra tik 1KB dydžio. Rekomenduojamas 0,01 mokestis.</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Persiųsti prievadą naudojant &amp;UPnP</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Žinutė</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Jungtis į Bitkoin tinklą per socks proxy (pvz. jungiantis per Tor)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Jungtis per SOCKS tarpinį serverį:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Įveskite bitkoinų adresą (pvz. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Tarpinio serverio &amp;IP:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Pasirinkite adresą iš adresų knygelės</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Tarpinio serverio IP adresas (pvz. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Prievadas:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Įvesti adresą iš mainų atminties</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Tarpinio serverio preivadas (pvz, 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS &amp;versija:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Įveskite pranešimą, kurį norite pasirašyti čia</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Tarpinio serverio SOCKS versija (pvz., 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Spragtelėkite &quot;Registruotis žinutę&quot; tam, kad gauti parašą</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Langas</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Registruotis žinute įrodymuii, kad turite šį adresą</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Po programos lango sumažinimo rodyti tik programos ikoną.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;S Registravimosi žinutė</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;M sumažinti langą bet ne užduočių juostą</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Uždarant langą neuždaryti programos. Kai ši parinktis įjungta, programa bus uždaryta tik pasirinkus meniu komandą Baigti.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>&amp;Sumažinti uždarant</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Rodymas</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>Naudotojo sąsajos &amp;kalba:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Čia gali būti nustatyta naudotojo sąsajos kalba. Šis nustatymas įsigalios iš naujo paleidus Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Vienetai, kuriais rodyti sumas:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Rodomų ir siunčiamų monetų kiekio matavimo vienetai</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>Kopijuoti į mainų atmintį</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Rodyti adresus sandorių sąraše</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 tai negaliojantis adresas</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;Gerai</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Klaida pasirašant</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Atšaukti</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Privataus rakto %1 nėra</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Pritaikyti</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Registravimas nepavyko</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>numatyta</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Pagrindinis</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Įspėjimas</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Opcijos</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Ekranas</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Nurodytas tarpinio serverio adresas negalioja.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Iš viso sandorių, įskaitant tuos kurie dar turi būti patvirtinti, ir jie dar nėra įskaičiuotii į einamosios sąskaitos balansą</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Forma</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Balansas</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>Sandorių kiekis</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Balansas:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Sandorių kiekis:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Nepatvirtinti:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation>Piniginė</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Nepribrendę:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Naujausi sandoris&lt;/b&gt;</translation>
+ <translation>&lt;b&gt;Naujausi sandoriai&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Jūsų einamasis balansas</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Iš viso sandorių, įskaitant tuos kurie dar turi būti patvirtinti, ir jie dar nėra įskaičiuotii į einamosios sąskaitos balansą</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Bandras sandorių kiekis piniginėje</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;S išsaugoti kaip...</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR kodo dialogas</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR kodas</translation>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Prašau išmokėti</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Suma:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Žymė:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>Žinutė:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialogas</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Prašau išmokėti</translation>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>Į&amp;rašyti kaip...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation>Klaida, koduojant URI į QR kodą.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Įvesta suma neteisinga, prašom patikrinti.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished"></translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Įrašyti QR kodą</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>PNG paveikslėliai (*.png)</translation>
</message>
</context>
<context>
- <name>SendCoinsDialog</name>
+ <name>RPCConsole</name>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Kliento pavadinimas</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
- <source>Confirm the send action</source>
- <translation>Patvirtinti siuntimo veiksmą</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>nėra</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Balansas:</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Kliento versija</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
- <source>123.456 BTC</source>
- <translation>123.456 BTC</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Informacija</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Patvirtinti siuntimui monetas</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Naudojama OpenSSL versija</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Paleidimo laikas</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Tinklas</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Prisijungimų kiekis</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>Testnete</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Blokų grandinė</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Dabartinis blokų skaičius</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Paskutinio bloko laikas</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Atverti</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Komandinės eilutės parametrai</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Rodyti</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Konsolė</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Kompiliavimo data</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Derinimo langas</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Bitcoin branduolys</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Derinimo žurnalo failas</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Išvalyti konsolę</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Siųsti monetas</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Siųsti keliems gavėjams vienu metu</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
<translation>&amp;A Pridėti gavėją</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Pašalinti visus sandorio laukus</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Ištrinti viską</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Išvalyti &amp;viską</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Balansas:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Patvirtinti siuntimo veiksmą</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Siųsti</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Patvirtinti monetų siuntimą</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
- <translation>Ar esate įsitikinę, kad norite siųsti %1?</translation>
+ <translation>Ar tikrai norite siųsti %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
- <translation>ir</translation>
+ <translation> ir </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Negaliojantis gavėjo adresas. Patikrinkite.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
- <translation>Apmokėjimo suma turi būti didesnė negu 0.</translation>
+ <translation>Apmokėjimo suma turi būti didesnė nei 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Suma viršija jūsų balansą.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Jei pridedame sandorio mokestį %1 bendra suma viršija jūsų balansą.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Rastas adreso dublikatas.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>KLAIDA:nepavyko sudaryti sandorio.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Klaida: sandoris buvo atmestas.Tai gali įvykti, jei kai kurios monetos iš jūsų piniginėje jau buvo panaudotos, pvz. jei naudojote wallet.dat kopiją ir monetos buvo išleistos kopijoje, bet nepažymėtos kaip skirtos išleisti čia.</translation>
</message>
@@ -1167,295 +1367,470 @@ Adresas: %4</translation>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Forma</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>Su&amp;ma:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
- <translation>Mokėti &amp;T gavėjui:</translation>
+ <translation>Mokėti &amp;gavėjui:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Įveskite žymę šiam adresui kad galėtumėte įtraukti ją į adresų knygelę</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
- <translation>&amp;L žymė:</translation>
+ <translation>Ž&amp;ymė:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Adresas mokėjimo siuntimui (pvz. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Pasirinkite adresą iš adresų knygelės</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Įvesti adresą iš mainų atminties</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
- <translation>Pašalinti šitą gavėją</translation>
+ <translation>Pašalinti šį gavėją</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Įveskite bitkoinų adresą (pvz. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/atjungtas?</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/nepatvirtintas</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Pasirašyti žinutę</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 patvirtinimai</translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Būsena:&lt;/b&gt; </translation>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Įveskite bitkoinų adresą (pvz. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, transliavimas dar nebuvo sėkmingas</translation>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Pasirinkite adresą iš adresų knygelės</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, transliuota per %1 mazgą</translation>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, transliuota per %1 mazgus</translation>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Įvesti adresą iš mainų atminties</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Data:&lt;/b&gt; </translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Šaltinis:&lt;/b&gt; Sukurta&lt;br&gt;</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Įveskite pranešimą, kurį norite pasirašyti čia</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Nuo:&lt;/b&gt; </translation>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Skirta:&lt;/b&gt; </translation>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Registruotis žinute įrodymuii, kad turite šį adresą</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (jūsų, žymė: </translation>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (jūsų)</translation>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Išvalyti &amp;viską</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Kreditas:&lt;/b&gt; </translation>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Patikrinti žinutę</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 apmokėtinas %2 daugiau blokais)</translation>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Sandorio mokestis:&lt;/b&gt; </translation>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Įveskite bitkoinų adresą (pvz. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Neto suma:&lt;/b&gt; </translation>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Patikrinkite žinutę, jog įsitikintumėte, kad ją pasirašė nurodytas Bitcoin adresas</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Žinutė:</translation>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Komentaras:</translation>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Įveskite bitkoinų adresą (pvz. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Sandorio ID:</translation>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Spragtelėkite &quot;Registruotis žinutę&quot; tam, kad gauti parašą</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Išgautos monetos turi sulaukti 120 blokų, kol jos gali būti naudojamos. Kai sukūrėte šį bloką, jis buvo transliuojamas tinkle ir turėjo būti įtrauktas į blokų grandinę. Jei nepavyksta patekti į grandinę, bus pakeista į &quot;nepriėmė&quot;, o ne &quot;vartojamas&quot;. Tai kartais gali atsitikti, jei kitas mazgas per keletą sekundžių sukuria bloką po jūsų bloko.</translation>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Įveskite Bitcoin parašą</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>nežinomas</translation>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Įvestas adresas negalioja.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Atidaryta %1 blokams</translation>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Prašom patikrinti adresą ir bandyti iš naujo.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>Atidaryta iki %1</translation>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(nepriimta)</translation>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Piniginės atrakinimas atšauktas.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debitas:&lt;/b&gt; </translation>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
- <source>Transaction details</source>
- <translation>Sandorio išsami informacija</translation>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Žinutės pasirašymas nepavyko.</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
- <source>This pane shows a detailed description of the transaction</source>
- <translation>Šis langas sandorio detalų aprašymą</translation>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Žinutė pasirašyta.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Nepavyko iškoduoti parašo.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Prašom patikrinti parašą ir bandyti iš naujo.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>Parašas neatitinka žinutės.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Žinutės tikrinimas nepavyko.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Žinutė patikrinta.</translation>
</message>
</context>
<context>
- <name>TransactionTableModel</name>
+ <name>TransactionDesc</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>Atjungta (%1 patvirtinimai)</translation>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Atidaryta iki %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Atverti %n blokui</numerusform>
+ <numerusform>Atverti %n blokams</numerusform>
+ <numerusform>Atverti %n blokų</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
- <source>Confirmed (%1 confirmations)</source>
- <translation>Patvirtinta (%1 patvirtinimai)</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/neprisijungęs</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
- <source>Generated but not accepted</source>
- <translation>Išgauta bet nepriimta</translation>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/nepatvirtintas</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
- <source>Received with</source>
- <translation>Gauta su</translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 patvirtinimų</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Gauta iš</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Būsena</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>Siųsta </translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Data</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
- <source>(n/a)</source>
- <translation>nepasiekiama</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Šaltinis</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
- <source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>Sandorio būklė. Užvedus pelės žymeklį ant šios srities matysite patvirtinimų skaičių.</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Sugeneruotas</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
- <source>Type of transaction.</source>
- <translation>Sandorio tipas</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Nuo</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
- <source>Destination address of transaction.</source>
- <translation>Sandorio paskirties adresas</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Kam</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Suma pridėta ar išskaičiuota iš balanso</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>savo adresas</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>žymė</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Kreditas</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>nepriimta</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debitas</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Sandorio mokestis</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Neto suma</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Žinutė</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Komentaras</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Sandorio ID</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Išgautos monetos turi sulaukti 120 blokų, kol jos gali būti naudojamos. Kai sukūrėte šį bloką, jis buvo transliuojamas tinkle ir turėjo būti įtrauktas į blokų grandinę. Jei nepavyksta patekti į grandinę, bus pakeista į &quot;nepriėmė&quot;, o ne &quot;vartojamas&quot;. Tai kartais gali atsitikti, jei kitas mazgas per keletą sekundžių sukuria bloką po jūsų bloko.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Derinimo informacija</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Sandoris</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Suma</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>tiesa</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>netiesa</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, transliavimas dar nebuvo sėkmingas</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>nežinomas</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDescDialog</name>
+ <message>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Sandorio detelės</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Šis langas sandorio detalų aprašymą</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
+ <message>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Data</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Type</source>
<translation>Tipas</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresas</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>Atidaryta kol %n</translation>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Suma</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Atidaryta %n blokui</numerusform>
@@ -1464,703 +1839,887 @@ Adresas: %4</translation>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Data</translation>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Atidaryta iki %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>Suma</translation>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Atjungta (%1 patvirtinimai)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Nepatvirtintos (%1 iš %2 patvirtinimų)</translation>
</message>
+ <message>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>Patvirtinta (%1 patvirtinimai)</translation>
+ </message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Išgautas balansas bus pasiekiamas po %n bloko</numerusform>
- <numerusform>Išgautas balansas bus pasiekiamas po %n blokų</numerusform>
- <numerusform>Išgautas balansas bus pasiekiamas po %n blokų</numerusform>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Šis blokas negautas nė vienu iš mazgų ir matomai nepriimtas</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Mokėjimas sau</translation>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>Išgauta bet nepriimta</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
- <source>Mined</source>
- <translation>Išgauta</translation>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Gauta su</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
- <source>Date and time that the transaction was received.</source>
- <translation>Sandorio gavimo data ir laikas</translation>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Gauta iš</translation>
</message>
-</context>
-<context>
- <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+3"/>
<source>Sent to</source>
- <translation>Išsiųsta</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Data</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Tipas</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Žymė</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>Skirta sau</translation>
+ <translation>Siųsta </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Įveskite adresą ar žymę į paiešką</translation>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Mokėjimas sau</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>Minimali suma</translation>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>Išgauta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Šią savaitę</translation>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>nepasiekiama</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Patvirtintas</translation>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Sandorio būklė. Užvedus pelės žymeklį ant šios srities matysite patvirtinimų skaičių.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Kita</translation>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Sandorio gavimo data ir laikas</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Gauta su</translation>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Sandorio tipas.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Kopijuoti sumą</translation>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Sandorio paskirties adresas</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Taisyti žymę</translation>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Suma pridėta ar išskaičiuota iš balanso</translation>
</message>
+</context>
+<context>
+ <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>Visi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>Šiandien</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Šią savaitę</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>This month</source>
<translation>Šį mėnesį</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>Paskutinį mėnesį</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>Šiais metais</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
- <translation>Grupė</translation>
+ <translation>Intervalas...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Gauta su</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Išsiųsta</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Skirta sau</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Mined</source>
<translation>Išgauta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Kita</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Įveskite adresą ar žymę į paiešką</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Minimali suma</translation>
+ </message>
+ <message>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Kopijuoti adresą</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>Kopijuoti žymę</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Parodyti išsamiai</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Kopijuoti sumą</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Taisyti žymę</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Rodyti sandėrio detales</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>Sandorio duomenų eksportavimas</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Kableliais atskirtų duomenų failas (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Patvirtintas</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Data</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Tipas</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Žymė</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Address</source>
<translation>Adresas</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation>Suma</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Neįmanoma įrašyti į failą %1.</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Eksportavimo klaida</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Neįmanoma įrašyti į failą %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
<source>Range:</source>
<translation>Grupė:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation>skirta</translation>
</message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
- </message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
- <translation>Siunčiama</translation>
+ <translation>Siunčiama...</translation>
</message>
</context>
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Vartotojo vardas JSON-RPC jungimuisi</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin versija</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Užkraunami adresai...</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Naudojimas:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Dirbti fone kaip šešėlyje ir priimti komandas</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Siųsti komandą serveriui arba bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Siųsti atsekimo/derinimo info į konsolę vietoj debug.log failo</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Komandų sąrašas</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Siųsti sekimo/derinimo info derintojui</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Suteikti pagalba komandai</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Siųsti komandą serveriui arba bitcoind</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Parinktys:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Atjungimo dėl netinkamo kolegų elgesio riba (pagal nutylėjimą: 100)</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Nurodyti konfigūracijos failą (pagal nutylėjimąt: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation> wallet.dat pakrovimo klaida, wallet.dat sugadintas</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Nurodyti pid failą (pagal nutylėjimą: bitcoind.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation> wallet.dat pakrovimo klaida</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generuoti monetas</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Užkraunami blokų indeksai...</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Negeneruoti monetų</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Suteikti pagalba komandai</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Nustatyti duomenų aplanką</translation>
+ </message>
+ <message>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Sujungimo klausymas prijungčiai &lt;port&gt; (pagal nutylėjimą: 8333 arba testnet: 18333)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation>Palaikyti ne daugiau &lt;n&gt; jungčių kolegoms (pagal nutylėjimą: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>blkindex.dat pakrovimo klaida</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoin versija</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation> wallet.dat pakrovimo klaida, wallet.dat reikalauja naujasnės Bitcoin versijos</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Siunčiama</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Atjungimo dėl netinkamo kolegų elgesio riba (pagal nutylėjimą: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Naudojimas:</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Sekundžių kiekis eikiamas palaikyti ryšį dėl lygiarangių nestabilumo (pagal nutylėjimą: 86.400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Prideėti laiko žymę derinimo rezultatams</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Slaptažodis JSON-RPC sujungimams</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Klausymas JSON-RPC sujungimui prijungčiai &lt;port&gt; (pagal nutylėjimą: 8332)</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Leisti JSON-RPC tik iš nurodytų IP adresų</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Nurodyti pid failą (pagal nutylėjimą: bitcoind.pid)</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Klaida: sandoris buvo atmestas.Tai gali įvykti, jei kai kurios monetos iš jūsų piniginėje jau buvo panaudotos, pvz. jei naudojote wallet.dat kopiją ir monetos buvo išleistos kopijoje, bet nepažymėtos kaip skirtos išleisti čia.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Sukurti monetas</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Šis sandoris viršija leistiną dydį. Jūs galite įvykdyti jį papildomai sumokėję %1 mokesčių, kurie bus išsiųsti tais pačiais mazgais kuriais vyko sandoris ir padės palaikyti tinklą. Ar jūs norite apmokėti papildomą mokestį?</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Pakrovimas baigtas</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Klausymas JSON-RPC sujungimui prijungčiai &lt;port&gt; (pagal nutylėjimą: 8332 or testnet: 18332)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Pagelbos žinutė</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Negali gauti duomenų katalogo %s rakto. Bitcoin tikriausiai jau veikia.</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Piniginė turi būti prrašyta: įvykdymui perkraukite Bitcoin</translation>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Priimti komandinę eilutę ir JSON-RPC komandas</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>KLAIDA:nepavyko sudaryti sandorio.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Dirbti fone kaip šešėlyje ir priimti komandas</translation>
+ </message>
+ <message>
+ <location line="+33"/>
<source>Use the test network</source>
<translation>Naudoti testavimo tinklą</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Įspėjimas: -paytxfee yra nustatytas per didelis. Tai sandorio mokestis, kurį turėsite mokėti, jei siųsite sandorį.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Klaida</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Įspėjimas: Patikrinkite, kad kompiuterio data ir laikas yra teisingi.Jei Jūsų laikrodis neteisingai nustatytas Bitcoin, veiks netinkamai.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Prisijungti tik prie nurodyto mazgo</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Neteisingas tor adresas: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Maksimalus buferis priėmimo sujungimui &lt;n&gt;*1000 bitų (pagal nutylėjimą: 5000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Maksimalus buferis siuntimo sujungimui &lt;n&gt;*1000 bitų (pagal nutylėjimą: 1000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Išvesti papildomą derinimo informaciją. Numanomi visi kiti -debug* parametrai</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Išvesti papildomą tinklo derinimo informaciją</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Prideėti laiko žymę derinimo rezultatams</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL opcijos (žr.e Bitcoin Wiki for SSL setup instructions)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Siųsti atsekimo/derinimo info į konsolę vietoj debug.log failo</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Siųsti sekimo/derinimo info derintojui</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Nustatyti kalbą, pavyzdžiui &quot;lt_LT&quot; (numatyta: sistemos kalba)</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Nustatyti sujungimo trukmę milisekundėmis (pagal nutylėjimą: 5000)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Bandymas naudoti UPnP struktūra klausymosi prievadui (default: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Bandymas naudoti UPnP struktūra klausymosi prievadui (default: 1 when listening)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Vartotojo vardas JSON-RPC jungimuisi</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Dėmesio: Diskas baigia užsipildyti!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Slaptažodis JSON-RPC sujungimams</translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Leisti JSON-RPC tik iš nurodytų IP adresų</translation>
+ </message>
+ <message>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation>Siųsti komandą mazgui dirbančiam &lt;ip&gt; (pagal nutylėjimą: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
- <translation type="unfinished"></translation>
+ <translation>Atnaujinti piniginę į naujausią formatą</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation>Nustatyti rakto apimties dydį &lt;n&gt; (pagal nutylėjimą: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation>Ieškoti prarastų piniginės sandorių blokų grandinėje</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Naudoti OpenSSL (https) jungimuisi JSON-RPC </translation>
+ <translation>Naudoti OpenSSL (https) jungimuisi JSON-RPC </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation>Serverio sertifikato failas (pagal nutylėjimą: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
- <translation>Serverio privatus raktas (pagal nutylėjimą: server.pem)</translation>
+ <translation>Serverio privatus raktas (pagal nutylėjimą: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation>Priimtini šifrai (pagal nutylėjimą: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Opcijos:</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Nurodyti konfigūracijos failą (pagal nutylėjimąt: bitcoin.conf)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Nustatyti duomenų direktoriją</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Nustatyti sujungimo trukmę (milisekundėmis)</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Pagelbos žinutė</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Peržiūra</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Negali gauti duomenų katalogo %s rakto. Bitcoin tikriausiai jau veikia.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Naudojimas</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maksimalus buferis priėmimo sujungimui &lt;n&gt;*1000 bitų (pagal nutylėjimą: 10000)</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Nepavyko susieti šiame kompiuteryje prievado %s (bind returned error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maksimalus buferis siuntimo sujungimui &lt;n&gt;*1000 bitų (pagal nutylėjimą: 10000)</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Jungtis per socks tarpinį serverį</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Bandymas naudoti UPnP struktūra klausymosi prievadui (default: 1)</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Leisti DNS paiešką sujungimui ir mazgo pridėjimui</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Išėjimo papildomas derinimo informacija</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Užkraunami adresai...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>SSL opcijos (žr.e Bitcoin Wiki for SSL setup instructions)</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>blkindex.dat pakrovimo klaida</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Komandų sąrašas</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation> wallet.dat pakrovimo klaida, wallet.dat sugadintas</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation> wallet.dat pakrovimo klaida, wallet.dat reikalauja naujasnės Bitcoin versijos</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Piniginė turi būti prrašyta: įvykdymui perkraukite Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">KLAIDA:nepavyko sudaryti sandorio.</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation> wallet.dat pakrovimo klaida</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Klaida: sandoris buvo atmestas.Tai gali įvykti, jei kai kurios monetos iš jūsų piniginėje jau buvo panaudotos, pvz. jei naudojote wallet.dat kopiją ir monetos buvo išleistos kopijoje, bet nepažymėtos kaip skirtos išleisti čia.</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Neteisingas proxy adresas: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>addr.dat pakrovimo klaida</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Neteisingas proxy adresas</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Neteisinga suma -paytxfee=&lt;amount&gt;</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Neteisinga suma -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Įspėjimas: -paytxfee yra nustatytas per didelis. Tai sandorio mokestis, kurį turėsite mokėti, jei siųsite sandorį.</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Klaida: nepasileidžia CreateThread(StartNode) </translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Siunčiama...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Nepavyko susieti šiame kompiuteryje prievado %d. Bitcoin tikriausiai jau veikia.</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Neteisinga suma</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Įspėjimas: nepakanka vietos diske</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Nepakanka lėšų</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Pradžia sumažinta</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Įkeliamas blokų indeksas...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Prisijungti per socks4 proxy</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Pridėti mazgą prie sujungti su and attempt to keep the connection open</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Leisti DNS paiešką sujungimui ir mazgo pridėjimui</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Nepavyko susieti šiame kompiuteryje prievado %s. Bitcoin tikriausiai jau veikia.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Prisijungti tik prie nurodyto mazgo</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
+ <location line="-2"/>
<source>Fee per KB to add to transactions you send</source>
<translation>Įtraukti mokestį už kB siunčiamiems sandoriams</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
+ <location line="+19"/>
<source>Loading wallet...</source>
<translation>Užkraunama piniginė...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Neteisinga suma</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Pridėti mazgą prie sujungti su and attempt to keep the connection open</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Bandymas naudoti UPnP struktūra klausymosi prievadui (default: 0)</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Peržiūra</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Priimti komandinę eilutę ir JSON-RPC komandas</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Įkėlimas baigtas</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Neišgavinėti monetų</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Sujungimo klausymas prijungčiai &lt;port&gt; (pagal nutylėjimą: 8333 arba testnet: 18333)</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Sekundžių kiekis eikiamas palaikyti ryšį dėl lygiarangių nestabilumo (pagal nutylėjimą: 86.400)</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Klaida</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Įspėjimas: Patikrinkite, kad kompiuterio data ir laikas yra teisingi.Jei Jūsų laikrodis neteisingai nustatytas Bitcoin, veiks netinkamai.</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_nb.ts b/src/qt/locale/bitcoin_nb.ts
index fbe417c11d..958c24283e 100644
--- a/src/qt/locale/bitcoin_nb.ts
+++ b/src/qt/locale/bitcoin_nb.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Om Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; versjon</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Bitcoin Utviklerne</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Utviklerne
-
+ <translation>
Dette er eksperimentell programvare.
-Distribuert under MIT/X11 programvarelisensen, se medfølgende fil license.txt eller http://www.opensource.org/licenses/mit-license.php.
+Distribuert under MIT/X11 programvarelisensen, se medfølgende fil COPYING eller http://www.opensource.org/licenses/mit-license.php.
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.</translation>
</message>
@@ -35,120 +38,120 @@ Dette produktet inneholder programvare utviklet av OpenSSL prosjektet for bruk i
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adressebok</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Dette er dine Bitcoin adresser for å motta betalinger. Du kan gi en separat adresse til hver avsender slik at du kan holde oversikt over hvem som betaler deg.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dobbeltklikk for å redigere adresse eller merkelapp</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Lag en ny adresse</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Ny adresse...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Kopier den valgte adressen til systemets utklippstavle</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopier til utklippstavle</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Ny Adresse</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
- <source>Show &amp;QR Code</source>
- <translation>Vis &amp;QR Kode</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Dette er dine Bitcoin-adresser for mottak av betalinger. Du kan gi forskjellige adresser til alle som skal betale deg for å holde bedre oversikt.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
- <source>Sign &amp;Message</source>
- <translation>Signér &amp;melding</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopier Adresse</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Slett den valgte adressen fra listen. Bare adresser for sending kan slettes.</translation>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>Vis &amp;QR Kode</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Slett</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Signer en melding for å bevise at du eier en Bitcoin-adresse</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Signér en melding for å bevise at du eier denne adressen</translation>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>Signér &amp;Melding</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Kommaseparert fil (*.csv)</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopier adresse</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Verifiser en melding for å være sikker på at den ble signert av en angitt Bitcoin-adresse</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Slett</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verifiser Melding</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Kunne ikke skrive til filen %1.</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Slett</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopier merkelapp</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopier &amp;Merkelapp</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Rediger</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Rediger</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Eksporter adressebok</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Kommaseparert fil (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Feil ved eksportering</translation>
</message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Kunne ikke skrive til filen %1.</translation>
+ </message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Address</source>
- <translation>Adresse</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Merkelapp</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
+ </message>
+ <message>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(ingen merkelapp)</translation>
</message>
@@ -156,280 +159,368 @@ Dette produktet inneholder programvare utviklet av OpenSSL prosjektet for bruk i
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
- <source>Enter passphrase</source>
- <translation>Angi adgangsfrase</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Dialog for Adgangsfrase</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Merkelapp</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin vil nå lukkes for å fullføre krypteringsprosessen. Husk at kryptering av lommeboken ikke fullt ut kan beskytte dine bitcoins fra å bli stjålet om skadevare infiserer datamaskinen.</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Angi adgangsfrase</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
- <source>Unlock wallet</source>
- <translation>Lås opp lommebok</translation>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Ny adgangsfrase</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Gjenta ny adgangsfrase</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>Ny adgangsfrase</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Skriv inn den nye adgangsfrasen for lommeboken.&lt;br/&gt;Vennligst bruk en adgangsfrase med &lt;b&gt;10 eller flere tilfeldige tegn&lt;/b&gt;, eller &lt;b&gt;åtte eller flere ord&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>De angitte adgangsfrasene er ulike.</translation>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Krypter lommebok</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Denne operasjonen krever adgangsfrasen til lommeboken for å låse den opp.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Lås opp lommebok</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Denne operasjonen krever adgangsfrasen til lommeboken for å dekryptere den.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ADVARSEL: Hvis du krypterer lommeboken og mister adgangsfrasen vil du &lt;b&gt;MISTE ALLE DINE BITCOINS&lt;/b&gt;!
-Er du sikker på at du vil kryptere lommeboken?</translation>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Dekrypter lommebok</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Endre adgangsfrase</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Kryptering av lommebok feilet</translation>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Skriv inn gammel og ny adgangsfrase for lommeboken.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Bekreft kryptering av lommebok</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Kryptering av lommebok feilet på grunn av en intern feil. Din lommebok ble ikke kryptert.</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Advarsel: Hvis du krypterer lommeboken og mister adgangsfrasen, så vil du &lt;b&gt;MISTE ALLE DINE BITCOINS&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
- <source>Decrypt wallet</source>
- <translation>Dekrypter lommebok</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Er du sikker på at du vil kryptere lommeboken?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Skriv inn den nye adgangsfrasen for lommeboken.&lt;br/&gt;Vennligst bruk en adgangsfrase med &lt;b&gt;10 eller flere tilfeldige tegn&lt;/b&gt;, eller &lt;b&gt;åtte eller flere ord&lt;/b&gt;.</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Krypter lommebok</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Advarsel: Caps Lock er på !</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Skriv inn gammel og ny adgangsfrase for lommeboken.</translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Lommebok kryptert</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin vil nå lukkes for å fullføre krypteringsprosessen. Husk at kryptering av lommeboken ikke fullt ut kan beskytte dine bitcoins fra å bli stjålet om skadevare infiserer datamaskinen.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Advarsel: Caps lock tasten er på.</translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Kryptering av lommebok feilet</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Lommebok kryptert</translation>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Kryptering av lommebok feilet på grunn av en intern feil. Din lommebok ble ikke kryptert.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Adgangsfrase for lommebok endret.</translation>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>De angitte adgangsfrasene er ulike.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Opplåsing av lommebok feilet</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Adgangsfrasen angitt for dekryptering av lommeboken var feil.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Dekryptering av lommebok feilet</translation>
</message>
+ <message>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Adgangsfrase for lommebok endret.</translation>
+ </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Signer &amp;melding...</translation>
+ </message>
+ <message>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>Synkroniserer med nettverk...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Oversikt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Vis generell oversikt over lommeboken</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Transaksjoner</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin Lommebok</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Endre adgangsfrasen brukt for kryptering av lommebok</translation>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Vis transaksjonshistorikk</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Om &amp;Qt</translation>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Adressebok</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Rediger listen over adresser og deres merkelapper</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>&amp;Motta bitcoins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Fil</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Vis listen over adresser for mottak av betalinger</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Gjem/vis &amp;Bitcoin</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Send bitcoins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Vis transaksjonshistorikk</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Avslutt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>&amp;Adressebok</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Avslutt applikasjonen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Vis listen over adresser for mottak av betalinger</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Vis informasjon om Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Send bitcoins til en adresse</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Om &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Signér &amp;melding</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Vis informasjon om Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Bevis at du kontrollerer en adresse</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Innstillinger...</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Krypter Lommebok...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Vis eller gjem Bitcoinvinduet</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>Lag &amp;Sikkerhetskopi av Lommebok...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Endre Adgangsfrase...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n blokk gjenstår</numerusform>
+ <numerusform>~%n blokker gjenstår</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Lastet ned %1 av %2 blokker med transaksjonshistorikk (%3% ferdig).</translation>
+ </message>
+ <message>
+ <location line="-242"/>
<source>&amp;Export...</source>
<translation>&amp;Eksporter...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Send til en Bitcoin-adresse</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Endre oppsett for Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation>Eksporter data fra nåværende fane til fil</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Krypter Lommebok</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Krypter eller dekrypter lommebok</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation>Sikkerhetskopiér lommebok til annet sted</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Endre adgangsfrasen brukt for kryptering av lommebok</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Feilsøkingsvindu</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Åpne konsoll for feilsøk og diagnostikk</translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Verifiser melding...</translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Lommebok</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Om Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Gjem / vis</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fil</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Innstillinger</translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation>&amp;Hjelp</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoinklient</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Verktøylinje for faner</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Verktøylinje for handlinger</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Sikkerhetskopiér Lommebok</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnett]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Lommeboksdata (*.dat)</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoinklient</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n aktiv forbindelse til Bitcoin-nettverket</numerusform>
@@ -437,40 +528,36 @@ Er du sikker på at du vil kryptere lommeboken?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Send bitcoins</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>Lastet ned %1 blokker med transaksjonshistorikk.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>for %n sekund siden</numerusform>
+ <numerusform>for %n sekunder siden</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>for %n minutt siden</numerusform>
<numerusform>for %n minutter siden</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Oversikt</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnett]</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>Siste mottatte blokk ble generert %1.</translation>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>for %n time siden</numerusform>
+ <numerusform>for %n timer siden</numerusform>
+ </translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>for %n dag siden</numerusform>
@@ -478,48 +565,42 @@ Er du sikker på at du vil kryptere lommeboken?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Ajour</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Kommer ajour...</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>~%n blokk gjenstår</numerusform>
- <numerusform>~%n blokker gjenstår</numerusform>
- </translation>
+ <message>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Siste mottatte blokk ble generert %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Lastet ned %1 av %2 blokker med transaksjonshistorikk (%3% ferdig).</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>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?</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>for %n sekund siden</numerusform>
- <numerusform>for %n sekunder siden</numerusform>
- </translation>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Bekreft transaksjonsgebyr</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Sendt transaksjon</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Innkommende transaksjon</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -532,859 +613,1218 @@ Adresse: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Lommeboken er &lt;b&gt;kryptert&lt;/b&gt; og for tiden &lt;b&gt;ulåst&lt;/b&gt;</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Lommeboken er &lt;b&gt;kryptert&lt;/b&gt; og for tiden &lt;b&gt;låst&lt;/b&gt;</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI håndtering</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Avslutt</translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI kunne ikke tolkes! Dette kan forårsakes av en ugyldig Bitcoin-adresse eller feil i URI-parametere.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation> &amp;Om %1</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Lommeboken er &lt;b&gt;kryptert&lt;/b&gt; og for tiden &lt;b&gt;ulåst&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Vis informasjon om Qt</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Lommeboken er &lt;b&gt;kryptert&lt;/b&gt; og for tiden &lt;b&gt;låst&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Innstillinger...</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Sikkerhetskopiér Lommebok</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Endre innstillinger for bitcoin</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Lommeboksdata (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation>Sikkerhetskopiering feilet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation>En feil oppstod ved lagring av lommebok til nytt sted</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>Lag &amp;Sikkerhetskopi av Lommebok</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Endre Adgangsfrase</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Vis informasjon om Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Krypter eller dekrypter lommebok</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Innstillinger</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Verktøylinje for faner</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Verktøylinje for handlinger</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>for %n time siden</numerusform>
- <numerusform>for %n timer siden</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation>En fatal feil har inntruffet. Det er ikke trygt å fortsette og Bitcoin må derfor avslutte.</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Sender...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Avslutt applikasjonen</translation>
- </message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Enhet for å vise beløp i: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Velg standard underenhet som skal vises i grensesnittet og ved sending av mynter</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Om Bitcoin-adresser skal vises i transaksjonslisten eller ikke</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Vis adresser i transaksjonslisten</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Nettverksvarsel</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Rediger adresse</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Merkelapp</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Merkelappen koblet til denne adressen i adresseboken</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adresse</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Adressen til denne oppføringen i adresseboken. Denne kan kun endres for utsendingsadresser.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Ny mottaksadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Ny utsendingsadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Rediger mottaksadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Rediger utsendingsadresse</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Den oppgitte adressen &quot;%1&quot; er allerede i adresseboken.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Den angitte adressed &quot;%1&quot; er ikke en gyldig Bitcoin-adresse.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Kunne ikke låse opp lommeboken.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Generering av ny nøkkel feilet.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>en oppgitte adressen &quot;%1&quot; er ikke en gyldig bitcoin-adresse.</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
+ </message>
+ <message>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versjon</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Bruk:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>kommandolinjevalg</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>valg i brukergrensesnitt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Sett språk, for eksempel &quot;nb_NO&quot; (standardverdi: fra operativsystem)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Start minimert
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Vis splashskjerm ved oppstart (standardverdi: 1)</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Innstillinger</translation>
+ </message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Start Bitcoin automatisk når datamaskinen blir slått på</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Hoved</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Start Bitcoin ved oppstart</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimer til systemkurv istedenfor oppgavelinjen</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Betal transaksjons&amp;gebyr</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Vis kun ikon i systemkurv etter minimering av vinduet</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Start Bitcoin automatisk etter innlogging.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimér ved lukking</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Start Bitcoin ved systeminnlogging</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Koble fra blokk og adresse databaser ved avslutning. Dette betyr at de kan flyttes til en annen mappe, men det gir en tregere avslutning. Lommeboken blir alltid koblet fra.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Koble fra databaser ved avslutning</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Nettverk</translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Åpne automatisk Bitcoin klientporten på ruteren. Dette virker kun om din ruter støtter UPnP og dette er påslått.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
+ <location line="+3"/>
<source>Map port using &amp;UPnP</source>
<translation>Sett opp port vha. &amp;UPnP</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimerer vinduet istedenfor å avslutte applikasjonen når vinduet lukkes. Når dette er slått på avsluttes applikasjonen kun ved å velge avslutt i menyen.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Koble til Bitcoin-nettverket gjennom en SOCKS proxy (f.eks. ved tilkobling gjennom Tor).</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Koble til gjennom SOCKS4 proxy:</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Koble til gjenom SOCKS proxy:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Koble til Bitcoin nettverket gjennom en SOCKS4 mellomtjener (f.eks. for tilkobling gjennom Tor)</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Proxy &amp;IP:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Mellomtjeners &amp;IP: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="201"/>
+ <location line="+19"/>
<source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation>IP-adresse for mellomtjener (f.eks. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Port for mellomtjener (f.eks. 1234)</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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.</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Proxyens port (f.eks. 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Betal transaksjons&amp;gebyr</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS &amp;Versjon:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Koble fra databaser ved avslutning</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Proxyens SOCKS versjon (f.eks. 5)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Koble fra blokk og adresse databaser ved avslutning. Dette betyr at de kan flyttes til en annen mappe, men det gir en tregere avslutning. Lommeboken blir alltid koblet fra.</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Vindu</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port: </translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Vis kun ikon i systemkurv etter minimering av vinduet.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Klikk &quot;Signér Melding&quot; for signatur</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimer til systemkurv istedenfor oppgavelinjen</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Signér en melding for å bevise at du eier denne adressen</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimerer vinduet istedenfor å avslutte applikasjonen når vinduet lukkes. Når dette er slått på avsluttes applikasjonen kun ved å velge avslutt i menyen.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Kopier valgt signatur til utklippstavle</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimer ved lukking</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Signér Melding</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Visning</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Feil ved signering</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>&amp;Språk for brukergrensesnitt</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 er ikke en gyldig adresse</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Språket for brukergrensesnittet kan settes her. Innstillingen trer i kraft ved omstart av Bitcoin.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Melding</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Enhet for visning av beløper:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Du kan signere meldinger med dine adresser for å bevise at du eier dem. Ikke signér vage meldinger da phishing-angrep kan prøve å lure deg til å signere din identitet over til andre. Signér kun fullt detaljerte utsagn som du er enig i.</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Velg standard delt enhet for visning i grensesnittet og for sending av bitcoins.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Adressen for signering av meldingen (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Om Bitcoin-adresser skal vises i transaksjonslisten eller ikke.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Velg adresse fra adresseboken</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Vis adresser i transaksjonslisten</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Lim inn adresse fra utklippstavlen</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Avbryt</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Bruk</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Skriv inn meldingen du vil signere her</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>standardverdi</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopier til utklippstavle</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Advarsel</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Privat nøkkel for %1 er ikke tilgjengelig.</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Denne innstillingen trer i kraft etter omstart av Bitcoin.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Signering feilet</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Angitt proxyadresse er ugyldig.</translation>
</message>
</context>
<context>
- <name>OptionsDialog</name>
+ <name>OverviewPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Hoved</translation>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Skjema</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Visning</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Innstillinger</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Saldo:</translation>
</message>
-</context>
-<context>
- <name>OverviewPage</name>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Din nåværende saldo</translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Antall transaksjoner:</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Totalt antall transaksjoner i lommeboken</translation>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Ubekreftet</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>Skjema</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Lommebok</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Saldo:</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Umoden:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Ubekreftet</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Minet saldo har ikke modnet enda</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Totalt antall ubekreftede transaksjoner som ikke telles med i saldo enda</translation>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Siste transaksjoner&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>Antall transaksjoner:</translation>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Din nåværende saldo</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Totalt antall ubekreftede transaksjoner som ikke telles med i saldo enda</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Lommebok</translation>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Totalt antall transaksjoner i lommeboken</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Siste transaksjoner&lt;/b&gt;</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>ute av synk</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>PNG bilder (*.png)</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>Dialog for QR Kode</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished"></translation>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Etterspør Betaling</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Beløp:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Merkelapp:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
<source>Message:</source>
<translation>Melding:</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation>Feil ved koding av URI i QR kode.</translation>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Lagre Som...</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Feil ved koding av URI i QR kode.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR Kode</translation>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Angitt beløp er ugyldig.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>Resulterende URI for lang, prøv å redusere teksten for merkelapp / melding.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Etterspør Betaling</translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Lagre QR Kode</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Merkelapp:</translation>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>PNG bilder (*.png)</translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Klientnavn</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>-</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Klientversjon</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;Lagre Som...</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Informasjon</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Bruker OpenSSL versjon</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Oppstartstidspunkt</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Nettverk</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Antall tilkoblinger</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>På testnett</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Blokkjeden</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Nåværende antall blokker</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Estimert totalt antall blokker</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Tidspunkt for siste blokk</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Åpne</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Kommandolinjevalg</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Vis Bitcoin-Qt hjelpemelding for å få en liste med mulige kommandolinjevalg.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Vis</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Konsoll</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Byggedato</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - vindu for feilsøk</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Bitcoin Kjerne</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Loggfil for feilsøk</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Åpne Bitcoin loggfil for feilsøk fra datamappen. Dette kan ta noen sekunder for store loggfiler.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Tøm konsoll</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Velkommen til Bitcoin RPC konsoll.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Bruk opp og ned pil for å navigere historikken, og &lt;b&gt;Ctrl-L&lt;/b&gt; for å tømme skjermen.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Skriv &lt;b&gt;help&lt;/b&gt; for en oversikt over kommandoer.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Send Bitcoins</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; til %2 (%3)</translation>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>Send til flere enn én mottaker</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
- <source>The recipient address is not valid, please recheck.</source>
- <translation>Adresse for mottaker er ugyldig.</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Legg til Mottaker</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>Beløpen som skal betales må være over 0.</translation>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Fjern alle transaksjonsfelter</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
- <source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>Totalbeløpet overstiger saldo etter at %1 transaksjonsgebyr er lagt til.</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Fjern &amp;Alt</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
- <source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation>Duplikate adresser funnet. Kan bare sende én gang til hver adresse per operasjon.</translation>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
- <source>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.</source>
- <translation>Feil: Transaksjonen ble avvist. Dette kan skje om noe av beløpet allerede var brukt, f.eks. hvis du kopierte wallet.dat og noen bitcoins ble brukt i kopien men ikke ble markert som brukt her.</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Bekreft sending</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
- <source>Remove all transaction fields</source>
- <translation>Fjern alle transaksjonsfelter</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Saldo:</translation>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> og </translation>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; til %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Bekreft sending av bitcoins</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Er du sikker på at du vil sende %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
- <source>The amount exceeds your balance.</source>
- <translation>Beløpet overstiger saldo.</translation>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> og </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
- <source>Error: Transaction creation failed.</source>
- <translation>Feil: opprettelse av transaksjon feilet.</translation>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>Adresse for mottaker er ugyldig.</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
- <source>Send to multiple recipients at once</source>
- <translation>Send til flere enn én mottaker</translation>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>Beløpen som skal betales må være over 0.</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Legg til mottaker...</translation>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>Beløpet overstiger saldo.</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Fjern alle</translation>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation>Totalbeløpet overstiger saldo etter at %1 transaksjonsgebyr er lagt til.</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>Duplikate adresser funnet. Kan bare sende én gang til hver adresse per operasjon.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Feil: opprettelse av transaksjon feilet.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>Feil: Transaksjonen ble avvist. Dette kan skje om noe av beløpet allerede var brukt, f.eks. hvis du kopierte wallet.dat og noen bitcoins ble brukt i kopien men ikke ble markert som brukt her.</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Skjema</translation>
+ </message>
+ <message>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>&amp;Beløp:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>Betal &amp;Til:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>Skjema</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Skriv inn en merkelapp for denne adressen for å legge den til i din adressebok</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Merkelapp:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Adressen betalingen skal sendes til (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Velg adresse fra adresseboken</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Lim inn adresse fra utklippstavlen</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Fjern denne mottakeren</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Skriv inn en Bitcoin adresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Signaturer - Signer / Verifiser en melding</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Signér Melding</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Du kan signere meldinger med dine adresser for å bevise at du eier dem. Ikke signér vage meldinger da phishing-angrep kan prøve å lure deg til å signere din identitet over til andre. Signér kun fullt detaljerte utsagn som du er enig i.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adressen for signering av meldingen (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Velg en adresse fra adresseboken</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Lim inn adresse fra utklippstavlen</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Skriv inn meldingen du vil signere her</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Kopier valgt signatur til utklippstavle</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Signer meldingen for å bevise at du eier denne Bitcoin-adressen</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Tilbakestill alle felter for meldingssignering</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Fjern &amp;Alt</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verifiser Melding</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Angi adresse for signering, melding (vær sikker på at du kopierer linjeskift, mellomrom, tab, etc. helt nøyaktig) og signatur under for å verifisere meldingen. Vær forsiktig med at du ikke gir signaturen mer betydning enn det som faktisk står i meldingen, for å unngå å bli lurt av såkalte &quot;man-in-the-middle&quot; angrep.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adressen meldingen var signert med (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Verifiser meldingen for å være sikker på at den ble signert av den angitte Bitcoin-adressen</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Tilbakestill alle felter for meldingsverifikasjon</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Skriv inn en Bitcoin adresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Klikk &quot;Signer Melding&quot; for å generere signatur</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Angi Bitcoin signatur</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Angitt adresse er ugyldig.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Vennligst sjekk adressen og prøv igjen.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>Angitt adresse refererer ikke til en nøkkel.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Opplåsing av lommebok ble avbrutt.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Privat nøkkel for den angitte adressen er ikke tilgjengelig.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Signering av melding feilet.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Melding signert.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Signaturen kunne ikke dekodes.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Vennligst sjekk signaturen og prøv igjen.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>Signaturen passer ikke til meldingen.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Verifikasjon av melding feilet.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Melding verifisert.</translation>
+ </message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Åpen til %1</translation>
</message>
- <message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Åpen for %1 blokker</translation>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Åpen for %n blokk</numerusform>
+ <numerusform>Åpen for %n blokker</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/frakoblet?</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/frakoblet</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/ubekreftet</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Status:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 bekreftelser</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, kringkast gjennom %1 node</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, kringkast gjennom %n node</numerusform>
+ <numerusform>, kringkast gjennom %n noder</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, kringkast gjennom %1 noder</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Dato</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Dato:&lt;/b&gt; </translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Kilde</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Kilde:&lt;/b&gt; Generert&lt;br&gt;</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generert</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Fra:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Fra</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Til:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Til</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>ukjent</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>egen adresse</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>merkelapp</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (din)</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Kredit</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>blir moden om %n blokk</numerusform>
+ <numerusform>blir moden om %n blokker</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (din, merkelapp: </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>ikke akseptert</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 modnes om %2 flere blokker)</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debet</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Kredit:&lt;/b&gt; </translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Transaksjonsgebyr</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debet:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Nettobeløp</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Nettobeløp:&lt;/b&gt; </translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Melding</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Kommentar:</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Kommentar</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Transaksjons-ID:</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Transaksjons-ID</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Genererte mynter må vente 120 blokker før de kan brukes. Da du genererte denne blokken ble den kringkastet på nettverket for å bli lagt til i kjeden av blokker. Hvis den ikke kommer med i kjeden vil den endre seg til &quot;ikke akseptert og pengene vil ikke kunne brukes. Dette vil noen ganger skje hvis en annen node genererer en blokk noen sekunder i tid fra din egen.</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Genererte bitcoins må modnes 120 blokker før de kan brukes. Da du genererte denne blokken ble den kringkastet til nettverket for å legges til i blokkjeden. Hvis den ikke kommer inn i kjeden får den tilstanden &quot;ikke akseptert&quot; og vil ikke kunne brukes. Dette skjer noen ganger hvis en annen node genererer en blokk noen sekunder fra din.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 bekreftelser</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Informasjon for feilsøk</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, har ikke blitt kringkastet uten problemer enda.</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transaksjon</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(ikke akseptert)</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Inndata</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Transaksjonsgebyr:&lt;/b&gt; </translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Beløp</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Melding:</translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>sann</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>usann</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, har ikke blitt kringkastet uten problemer enda.</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>ukjent</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
- <source>This pane shows a detailed description of the transaction</source>
- <translation>Her vises en detaljert beskrivelse av transaksjonen</translation>
- </message>
- <message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Transaksjonsdetaljer</translation>
</message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Her vises en detaljert beskrivelse av transaksjonen</translation>
+ </message>
</context>
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Dato</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Adresse</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation>Beløp</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Åpen for %n blokk</numerusform>
@@ -1392,282 +1832,267 @@ Adresse: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Åpen til %1</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Frakoblet (%1 bekreftelser)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Ubekreftet (%1 av %2 bekreftelser)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Bekreftet (%1 bekreftelser)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Minet saldo blir tilgjengelig når den modner om %n blokk</numerusform>
+ <numerusform>Minet saldo blir tilgjengelig når den modner om %n blokker</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Denne blokken har ikke blitt mottatt av noen andre noder og vil sannsynligvis ikke bli akseptert!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Generert men ikke akseptert</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Mottatt med</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>Mottatt fra</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Sendt til</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Betaling til deg selv</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Utvunnet</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>-</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Transaksjonsstatus. Hold muspekeren over dette feltet for å se antall bekreftelser.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Dato og tid for da transaksjonen ble mottat.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Type transaksjon.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Mottaksadresse for transaksjonen</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Beløp fjernet eller lagt til saldo.</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Type</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Dato</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Adresse</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>Åpen til %1</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Utvunnet saldo vil bli tilgjengelig om %n blokk</numerusform>
- <numerusform>Utvunnet saldo vil bli tilgjengelig om %n blokker</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>Frakoblet (%1 bekreftelser)</translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Feil ved eksport</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Intervall:</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Denne måneden</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>til</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Dette året</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Kopiér beløp</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>Alle</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>I dag</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation>Denne uken</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Denne måneden</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Last month</source>
<translation>Forrige måned</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Dette året</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Range...</source>
<translation>Intervall...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>Mottatt med</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Sendt til</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Til deg selv</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>Utvunnet</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation>Andre</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Skriv inn adresse eller merkelapp for søk</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Minimumsbeløp</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Kopier adresse</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>Kopier merkelapp</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Type</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Beløp</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Kunne ikke skrive til filen %1.</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Kopiér beløp</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation>Rediger merkelapp</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Vis transaksjonsdetaljer</translation>
+ </message>
+ <message>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>Eksporter transaksjonsdata</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Kommaseparert fil (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>Bekreftet</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>Dato</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Label</source>
<translation>Merkelapp</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation>Adresse</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Vis detaljer...</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Beløp</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Sendt til</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Feil ved eksport</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Kunne ikke skrive til filen %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Intervall:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>til</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Sender...</translation>
</message>
@@ -1675,495 +2100,627 @@ Adresse: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
<source>Bitcoin version</source>
<translation>Bitcoin versjon</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Laster blokkindeks...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Laster lommebok...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Leser gjennom...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Feil ved lasting av wallet.dat</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Bruk:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Lommeboken måtte skrives om: start Bitcoin på nytt for å fullføre</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Send kommando til -server eller bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
+ <location line="-19"/>
<source>List commands</source>
<translation>List opp kommandoer</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
+ <location line="-11"/>
<source>Get help for a command</source>
<translation>Vis hjelpetekst for en kommando</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
+ <location line="+20"/>
<source>Options:</source>
<translation>Innstillinger:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Generér bitcoins</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
+ <location line="+23"/>
<source>Specify configuration file (default: bitcoin.conf)</source>
<translation>Angi konfigurasjonsfil (standardverdi: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
+ <location line="+3"/>
<source>Specify pid file (default: bitcoind.pid)</source>
<translation>Angi pid-fil (standardverdi: bitcoind.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Hold maks &lt;n&gt; koblinger åpne til andre noder (standardverdi: 125)</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generér bitcoins</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Legg til node for tilkobling og hold forbindelsen åpen</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Ikke generér bitcoins</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Angi mappe for datafiler</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation>Sett størrelse på mellomlager for database i megabytes (standardverdi: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Angi tidsavbrudd for forbindelse (i millisekunder)</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Sett størrelse på disklogg for database i megabytes (standardverdi: 100)</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Lytt etter tilkoblinger på &lt;port&gt; (standardverdi: 8333 eller testnet: 18333)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Hold maks &lt;n&gt; koblinger åpne til andre noder (standardverdi: 125)</translation>
+ </message>
+ <message>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Koble til node for å hente adresser til andre noder, koble så fra igjen</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Angi din egen offentlige adresse</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Bind til angitt adresse. Bruk [vertsmaskin]:port notasjon for IPv6</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
+ <location line="+77"/>
<source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation>Grenseverdi for å koble fra noder med dårlig oppførsel (standardverdi: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Lytt etter tilkoblinger på &lt;port&gt; (standardverdi: 8333 eller testnet: 18333)</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Antall sekunder noder med dårlig oppførsel hindres fra å koble til på nytt (standardverdi: 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>En feil oppstod ved opprettelse av RPC port %u for lytting: %s</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Koble fra blokk og adresse databaser. Gir tregere avslutning (standardverdi: 0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Feil: Transaksjonen ble avvist. Dette kan skje om noe av beløpet allerede var brukt, f.eks. hvis du kopierte wallet.dat og noen bitcoins ble brukt i kopien men ikke ble markert som brukt her.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Feil: Denne transaksjonen krever et gebyr på minst %s pga. beløpet, kompleksiteten, eller bruk av nylig mottatte midler </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Lytt etter JSON-RPC tilkoblinger på &lt;port&gt; (standardverdi: 8332 or testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Accept command line and JSON-RPC commands</source>
<translation>Ta imot kommandolinje- og JSON-RPC-kommandoer</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Eksekvér kommando når beste blokk endrer seg (%s i kommandoen erstattes med blokkens hash)</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Oppgradér lommebok til nyeste format</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Feil: opprettelse av transaksjon feilet.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Sett tidsstempel på debugmeldinger</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Feil: Lommebok låst, kan ikke opprette transaksjon </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Hvor mange blokker som skal sjekkes ved oppstart (standardverdi: 2500, 0 = alle)</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Hvor grundig verifisering av blokker gjøres (0-6, standardverdi: 1)</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Ferdig med lasting</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Kjør i bakgrunnen som daemon og ta imot kommandoer</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Ugyldig -proxy adresse for mellomtjener</translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Bruk testnettverket</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Antall sekunder noder med dårlig oppførsel hindres fra å koble til på nytt (standardverdi: 86400)</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Ta imot tilkoblinger fra utsiden (standardverdi: 1 hvis uten -proxy eller -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Feil: CreateThread(StartNode) feilet</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Sett maks størrelse for transaksjoner med høy prioritet / lavt gebyr, i bytes (standardverdi: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Advarsel: Lite ledig diskplass</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Advarsel: -paytxfee er satt veldig høyt! Dette er transaksjonsgebyret du betaler når du sender transaksjoner.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Klarer ikke binde til port %d på denne datamaskinen. Bitcoin kjører sannsynligvis allerede.</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Advarsel: Viste transaksjoner kan være feil! Du, eller andre noder, kan trenge en oppgradering.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Brukernavn for JSON-RPC forbindelser</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Advarsel: Vennligst undersøk at din datamaskin har riktig dato og klokkeslett! Hvis klokken er stilt feil vil ikke Bitcoin fungere riktig.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Passord for JSON-RPC forbindelser</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Valg for opprettelse av blokker:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Angi størrelse på nøkkel-lager til &lt;n&gt; (standardverdi: 100)</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Koble kun til angitt(e) node(r)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Servers sertifikat (standardverdi: server.cert)</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Oppdag egen IP-adresse (standardverdi: 1 ved lytting og uten -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Servers private nøkkel (standardverdi: server.pem)</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Kunne ikke lytte på noen port. Bruk -listen=0 hvis det er dette du vil.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Denne hjelpemeldingen</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Finn andre noder gjennom DNS-oppslag (standardverdi: 1 med mindre -connect er oppgit)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Feil ved lasting av addr.dat</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Ugyldig -tor adresse: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Vis splashskjerm ved oppstart (standardverdi: 1)</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Maks mottaksbuffer per forbindelse, &lt;n&gt;*1000 bytes (standardverdi: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Koble kun til angitt node</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Maks sendebuffer per forbindelse, &lt;n&gt;*1000 bytes (standardverdi: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Sett språk, for eksempel &quot;nb_NO&quot; (standardverdi: fra operativsystem)</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Koble kun til noder i nettverket &lt;nett&gt; (IPv4, IPv6 eller Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maksimum mottaksbuffer per tilkobling, &lt;n&gt;*1000 bytes (standardverdi: 10000)</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Skriv ekstra informasjon for feilsøk. Medfører at alle -debug* valg tas med</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Bruk testnettverket</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Skriv ekstra informasjon for feilsøk av nettverk</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Bruk UPnP for lytteport (standardverdi: 0)</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Sett tidsstempel på debugmeldinger</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>Finn andre noder gjennom DNS-oppslag (standardverdi: 1)</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL valg: (se Bitcoin Wiki for instruksjoner for oppsett av SSL)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maksimum sendebuffer per tilkobling, &lt;n&gt;*1000 bytes (standardverdi: 10000)</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Velg versjon av socks proxy (4-5, standardverdi 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Sender...</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Send spor/debug informasjon til konsollet istedenfor debug.log filen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Ugyldig beløp</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Send spor/debug informasjon til debugger</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Utilstrekkelige midler</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Sett maks blokkstørrelse i bytes (standardverdi: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, du må sette et rpcpassord i konfigurasjonsfilen:
- %s
-Det anbefales at du bruker følgende tilfeldige passord:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(du trenger ikke huske dette passordet)
-Hvis filen ikke finnes, opprett den med leserettighet kun for eier av filen.
-</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Sett minimum blokkstørrelse i bytes (standardverdi: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>For å bruke %s opsjonen</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Krymp debug.log filen når klienten starter (standardverdi: 1 hvis uten -debug)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Feil</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Angi tidsavbrudd for forbindelse i millisekunder (standardverdi: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Du må sette rpcpassword=&lt;passord&gt; i konfigurasjonsfilen:
-%s
-Hvis filen ikke finnes, opprett den med leserettighet kun for eier av filen.</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Bruk UPnP for lytteport (standardverdi: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Bruk:</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Bruk UPnP for lytteport (standardverdi: 1 ved lytting)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Sett størrelse på disklogg for database i megabytes (standardverdi: 100)</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Bruk en proxy for å nå skjulte tor tjenester (standardverdi: samme som -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Laster adresser...</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Brukernavn for JSON-RPC forbindelser</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Kan ikke initialisere nøkkellager</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Kan ikke skrive standardadresse</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Advarsel: lite ledig lagringsplass!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Kunne ikke låse datamappen %s. Bitcoin kjører sannsynligvis allerede.</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Advarsel: Denne versjonen er foreldet, oppgradering kreves!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Koble fra blokk og adresse databaser. Gir tregere avslutning (standardverdi: 0)</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Passord for JSON-RPC forbindelser</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Feil ved lasting av blkindex.dat</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Tillat JSON-RPC tilkoblinger fra angitt IP-adresse</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Ugyldig gebyrbeløp for -paytxfee=&lt;beløp&gt;</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Send kommandoer til node på &lt;ip&gt; (standardverdi: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Feil ved lasting av wallet.dat: Lommeboken er skadet</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Eksekvér kommando når beste blokk endrer seg (%s i kommandoen erstattes med blokkens hash)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Advarsel: -paytxfee er satt veldig høyt. Dette er transaksjonsgebyret du betaler når du sender en transaksjon.</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Oppgradér lommebok til nyeste format</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Feil ved lasting av wallet.dat: Lommeboken krever en nyere versjon av Bitcoin</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Angi størrelse på nøkkel-lager til &lt;n&gt; (standardverdi: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Kan ikke nedgradere lommebok</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Se gjennom blokk-kjeden etter manglende lommeboktransaksjoner</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Advarsel: Vennligst sjekk at dato og klokke er riktig innstilt på datamaskinen. Hvis klokken er feil vil ikke Bitcoin fungere ordentlig.</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Hvor mange blokker som skal sjekkes ved oppstart (standardverdi: 2500, 0 = alle)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Send kommando til -server eller bitcoind</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Hvor grundig verifisering av blokker gjøres (0-6, standardverdi: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Ikke generér bitcoins</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Importerer blokker fra ekstern blk000?.dat fil</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Start minimert
-</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Bruk OpenSSL (https) for JSON-RPC forbindelser</translation>
+ </message>
+ <message>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Servers sertifikat (standardverdi: server.cert)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Servers private nøkkel (standardverdi: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation>Akseptable krypteringsmetoder (standardverdi: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Angi mappe for datafiler</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Denne hjelpemeldingen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Kunne ikke låse datamappen %s. Bitcoin kjører sannsynligvis allerede.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Feil: opprettelse av transaksjon feilet.</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Kan ikke binde til %s på denne datamaskinen (bind returnerte feil %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Feil: Transaksjonen ble avvist. Dette kan skje om noe av beløpet allerede var brukt, f.eks. hvis du kopierte wallet.dat og noen bitcoins ble brukt i kopien men ikke ble markert som brukt her.</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Koble til gjennom socks proxy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>En feil oppstod ved opprettelse av RPC port %u for lytting: %s</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Tillat DNS oppslag for -addnode, -seednode og -connect</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Koble til gjennom socks4 proxy</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Laster adresser...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Tillat DNS-oppslag for addnode og connect</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Feil ved lasting av blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Finn andre noder via internet relay chat (standardverdi: 0)</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Feil ved lasting av wallet.dat: Lommeboken er skadet</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation>Ta imot tilkoblinger fra utsiden (standardverdi: 1)</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Feil ved lasting av wallet.dat: Lommeboken krever en nyere versjon av Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Bruk UPnP for lytteport (standardverdi: 1)</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Lommeboken måtte skrives om: start Bitcoin på nytt for å fullføre</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Gebyr per KB for transaksjoner du sender</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Feil ved lasting av wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Kjør i bakgrunnen som daemon og ta imot kommandoer</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Ugyldig -proxy adresse: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Gi ut ekstra debuginformasjon</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Ukjent nettverk angitt i -onlynet &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Send spor/debug informasjon til konsollet istedenfor debug.log filen</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Ukjent -socks proxy versjon angitt: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Send spor/debug informasjon til debugger</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Kunne ikke slå opp -bind adresse: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Lytt etter JSON-RPC tilkoblinger på &lt;port&gt; (standardverdi: 8332)</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Kunne ikke slå opp -externalip adresse: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Tillat JSON-RPC tilkoblinger fra angitt IP-adresse</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Ugyldig beløp for -paytxfee=&lt;beløp&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Send kommandoer til node på &lt;ip&gt; (standardverdi: 127.0.0.1)</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Feil: kunne ikke starte node</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Se gjennom blokk-kjeden etter manglende lommeboktransaksjoner</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Sender...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL innstillinger: (se Bitcoin Wiki for instruksjoner om SSL oppsett)</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Ugyldig beløp</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Bruk OpenSSL (https) for JSON-RPC forbindelser</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Utilstrekkelige midler</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Laster blokkindeks...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Legg til node for tilkobling og hold forbindelsen åpen</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Kan ikke binde til %s på denne datamaskinen. Sannsynligvis kjører Bitcoin allerede.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Finn andre noder via internet relay chat (standardverdi: 0)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Gebyr per KB for transaksjoner du sender</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Laster lommebok...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Kan ikke nedgradere lommebok</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Kan ikke initialisere nøkkellager</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Kan ikke skrive standardadresse</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Leser gjennom...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Ferdig med lasting</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>For å bruke %s opsjonen</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, du må sette et rpcpassord i konfigurasjonsfilen:
+ %s
+Det anbefales at du bruker følgende tilfeldige passord:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(du trenger ikke huske dette passordet)
+Hvis filen ikke finnes, opprett den med leserettighet kun for eier av filen.
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Bruk</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Feil</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Du må sette rpcpassword=&lt;passord&gt; i konfigurasjonsfilen:
+%s
+Hvis filen ikke finnes, opprett den med leserettighet kun for eier av filen.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_nl.ts b/src/qt/locale/bitcoin_nl.ts
index b5a56751ea..4f8c94f5c9 100644
--- a/src/qt/locale/bitcoin_nl.ts
+++ b/src/qt/locale/bitcoin_nl.ts
@@ -5,30 +5,33 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Over Bitcoin
</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; versie</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 The Bitcoin Ontwikkelaars</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Ontwikkelaars
-
+ <translation>
Dit is experimentele software.
-Gedistribueerd onder de MIT/X11 software licentie, zie het bijgevoegde bestand license.txt of http://www.opensource.org/licenses/mit-license.php.
+Gedistribueerd onder de MIT/X11 software licentie, zie het bijgevoegde bestand COPYING of http://www.opensource.org/licenses/mit-license.php.
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.</translation>
</message>
@@ -36,436 +39,502 @@ Dit product bevat software ontwikkeld door het OpenSSL Project voor gebruik in d
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adresboek</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Dit zijn uw Bitcoin-adressen om betalingen te ontvangen. U kunt er voor kiezen om een adres aan te maken voor elke afzender. Op deze manier kunt u bijhouden wie al aan u betaald heeft.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dubbelklik om adres of label te wijzigen</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Maak een nieuw adres aan</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Nieuw Adres...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Kopieer het huidig geselecteerde adres naar het klembord</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopieer naar Klembord</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Nieuw Adres</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
- <source>Show &amp;QR Code</source>
- <translation>Toon &amp;QR-Code</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Verwijder</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopiëer Adres</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Onderteken een bericht om te bewijzen dat u dit adres bezit</translation>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>Toon &amp;QR-Code</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
- <source>Sign &amp;Message</source>
- <translation>&amp;Onderteken Bericht</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Onderteken een bericht om te bewijzen dat u een bepaald Bitcoinadres bezit</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Verwijder het huidige geselecteerde adres van de lijst. Alleen zend-adressen kunnen verwijderd worden, niet uw ontvangstadressen.</translation>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>&amp;Onderteken Bericht</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopieer label</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Verwijder het geselecteerde adres van de lijst</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Verwijder</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Controleer een bericht om te verifiëren dat het gespecificeerde Bitcoinadres het bericht heeft ondertekend.</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Kommagescheiden bestand (*.csv)</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verifiëer Bericht</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Kon niet schrijven naar bestand %1.</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Verwijder</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopieer adres</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopiëer &amp;Label</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Bewerk</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Bewerk</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Exporteer Gegevens van het Adresboek</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Kommagescheiden bestand (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Fout bij exporteren</translation>
</message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Kon niet schrijven naar bestand %1.</translation>
+ </message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
- <source>(no label)</source>
- <translation>(geen label)</translation>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
+ <source>Label</source>
+ <translation>Label</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adres</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Label</source>
- <translation>Label</translation>
+ <location line="+36"/>
+ <source>(no label)</source>
+ <translation>(geen label)</translation>
</message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Deze operatie vereist uw portemonneewachtwoord om de portemonnee te openen.</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Wachtwoorddialoogscherm</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TekstLabel</translation>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Huidig wachtwoord</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation>Herhaal wachtwoord</translation>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Nieuwe wachtwoord</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Portemonneewachtwoord is met succes gewijzigd.</translation>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Herhaal wachtwoord</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Deze operatie vereist uw portemonneewachtwoord om de portemonnee te ontsleutelen</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Vul een nieuw wachtwoord in voor uw portemonnee. &lt;br/&gt; Gebruik een wachtwoord van &lt;b&gt;10 of meer lukrake karakters&lt;/b&gt;, of &lt;b&gt; acht of meer woorden&lt;/b&gt; . </translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Versleutel portemonnee</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>Nieuwe wachtwoord</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialoog</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Portemonnee versleuteld</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
- <source>Enter passphrase</source>
- <translation>Huidig wachtwoord</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Deze operatie vereist uw portemonneewachtwoord om de portemonnee te openen.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Open portemonnee</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Deze operatie vereist uw portemonneewachtwoord om de portemonnee te ontsleutelen</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Ontsleutel portemonnee</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Wijzig wachtwoord</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Vul uw oude en nieuwe portemonneewachtwoord in.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>WAARSCHUWING: Wanneer uw portemonnee wordt versleuteld en u verliest uw wachtwoord, dan verliest u&lt;b&gt;AL UW BITCOINS&lt;/b&gt;!
-Bent u er zeker van uw dat u uw portemonnee wilt versleutelen?</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Bevestig versleuteling van de portemonnee</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin zal nu afsluiten om het versleutelingsproces te voltooien. Onthoud dat het versleutelen van uw portemonnee u niet volledig kan beschermen: Malware kan uw computer infecteren en uw bitcoins stelen.</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Waarschuwing: Als u uw portemonnee versleutelt en uw wachtwoord vergeet, zult u &lt;b&gt;AL UW BITCOINS VERLIEZEN&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>BELANGRIJK: Elke eerder gemaakte backup van uw portemonneebestand dient u te vervangen door het nieuw gegenereerde, versleutelde portemonneebestand. Om veiligheidsredenen zullen eerdere backups van het niet-versleutelde portemonneebestand onbruikbaar worden zodra u uw nieuwe, versleutelde, portemonnee begint te gebruiken.</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Weet u zeker dat u uw portemonnee wilt versleutelen?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>Portemonneeversleuteling mislukt door een interne fout, Uw portemonnee is niet versleuteld.</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>BELANGRIJK: Elke eerder gemaakte backup van uw portemonneebestand dient u te vervangen door het nieuw gegenereerde, versleutelde portemonneebestand. Om veiligheidsredenen zullen eerdere backups van het niet-versleutelde portemonneebestand onbruikbaar worden zodra u uw nieuwe, versleutelde, portemonnee begint te gebruiken.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Waarschuwing: De Caps-Lock-toets staat aan.</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Waarschuwing: De Caps-Lock-toets staat aan!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Vul een nieuw wachtwoord in voor uw portemonnee. &lt;br/&gt; Gebruik een wachtwoord van &lt;b&gt;10 of meer lukrake karakters&lt;/b&gt;, of &lt;b&gt; acht of meer woorden&lt;/b&gt; . </translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Portemonnee versleuteld</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>De opgegeven wachtwoorden komen niet overeen</translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin zal nu afsluiten om het versleutelingsproces te voltooien. Onthoud dat het versleutelen van uw portemonnee u niet volledig kan beschermen: Malware kan uw computer infecteren en uw bitcoins stelen.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Portemonneeversleuteling mislukt</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Bevestig versleuteling van de portemonnee</translation>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>Portemonneeversleuteling mislukt door een interne fout, Uw portemonnee is niet versleuteld.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>De opgegeven wachtwoorden komen niet overeen</translation>
+ </message>
+ <message>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Portemonnee openen mislukt</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Het opgegeven wachtwoord voor de portemonnee-ontsleuteling is niet correct.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Portemonnee-ontsleuteling mislukt</translation>
</message>
+ <message>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Portemonneewachtwoord is met succes gewijzigd.</translation>
+ </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>&amp;Onderteken bericht...</translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Synchroniseren met netwerk...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Overzicht</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Toon algemeen overzicht van de portemonnee</translation>
+ </message>
+ <message>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Transacties</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Blader door transactieverleden</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Adresboek</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Toon lijst van adressen om betalingen mee te ontvangen</translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Bewerk de lijst van opgeslagen adressen en labels</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>&amp;Ontvang munten</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Afsluiten</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Over &amp;Qt</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Toon lijst van adressen om betalingen mee te ontvangen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation>&amp;Verstuur munten</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>Backup &amp;Portemonnee</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Afsluiten</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
+ <location line="+1"/>
<source>Quit application</source>
<translation>Programma afsluiten</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
<translation>Laat informatie zien over Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Over &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show information about Qt</source>
<translation>Toon informatie over Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Verstuur munten naar een bitcoin-adres</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>O&amp;pties...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Versturen...</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Versleutel Portemonnee...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>O&amp;pties...</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup Portemonnee...</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Wijzig Wachtwoord</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n blok resterend</numerusform>
+ <numerusform>~%n blokken resterend</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>%1 van %2 blokken van transactiehistorie opgehaald (%3% klaar).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
+ <location line="-242"/>
<source>&amp;Export...</source>
<translation>&amp;Exporteer...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Verstuur munten naar een Bitcoinadres</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Wijzig instellingen van Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation>Exporteer de data in de huidige tab naar een bestand</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Tab-werkbalk</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Versleutel of ontsleutel portemonnee</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>&amp;Backup portemonnee naar een andere locatie</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>&amp;Toon/Verberg Bitcoin</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>wijzig het wachtwoord voor uw portemonneversleuteling</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Toon of verberg Bitcoin venster</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Debugscherm</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Bestand</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Open debugging en diagnostische console</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Versleutel of ontsleutel portemonnee</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Verifiëer bericht...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin-portemonnee</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Toon algemeen overzicht van de portemonnee</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Portemonnee</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Over Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Toon / Verberg</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Bestand</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Instellingen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation>&amp;Hulp</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Tab-werkbalk</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Backup Mislukt</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Actie-werkbalk</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Er is een fout opgetreden bij het wegschrijven van de portemonnee-data naar de nieuwe locatie.</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnetwerk]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation>Bitcoin client</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Bewijs dat u een adres bezit</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n actieve connectie naar Bitcoinnetwerk</numerusform>
+ <numerusform>%n actieve connecties naar Bitcoinnetwerk</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>%1 blokken van transactiehistorie opgehaald.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n seconde geleden</numerusform>
@@ -473,7 +542,15 @@ Bent u er zeker van uw dat u uw portemonnee wilt versleutelen?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n minuut geleden</numerusform>
+ <numerusform>%n minuten geleden</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n uur geleden</numerusform>
@@ -481,7 +558,7 @@ Bent u er zeker van uw dat u uw portemonnee wilt versleutelen?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>%n dag geleden</numerusform>
@@ -489,37 +566,42 @@ Bent u er zeker van uw dat u uw portemonnee wilt versleutelen?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Bijgewerkt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Aan het bijwerken...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Laatst ontvangen blok is %1 gegenereerd.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>&amp;Onderteken Bericht</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>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 netwerk. Wilt u de transactiekosten betalen?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Bevestig transactiekosten</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Verzonden transactie</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Binnenkomende transactie</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -532,629 +614,750 @@ Adres: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Over %1</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI-behandeling</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI kan niet worden geïnterpreteerd. Dit kan komen door een ongeldig Bitcoinadres of misvormde URI-parameters.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>Portemonnee is &lt;b&gt;versleuteld&lt;/b&gt; en momenteel &lt;b&gt;geopend&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Portemonnee is &lt;b&gt;versleuteld&lt;/b&gt; en momenteel &lt;b&gt;gesloten&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Wijzig instellingen van Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Versleutel Portemonnee</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>&amp;Backup portemonnee naar een andere locatie</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Wijzig Wachtwoord</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>wijzig het wachtwoord voor uw portemonneversleuteling</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Instellingen</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnetwerk]</translation>
- </message>
- <message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation>Er is een fatale fout opgetreden. Bitcoin kan niet meer veilig doorgaan en zal nu afgesloten worden.</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n actieve connectie naar Bitcoinnetwerk</numerusform>
- <numerusform>%n actieve connecties naar Bitcoinnetwerk</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>~%n blok resterend</numerusform>
- <numerusform>~%n blokken resterend</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Synchroniseren met netwerk...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>%1 van %2 blokken van transactiehistorie opgehaald (%3% klaar).</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>%n minuut geleden</numerusform>
- <numerusform>%n minuten geleden</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation>Backup Portemonnee</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Actie-werkbalk</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>Portemonnee-data (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Bewerk de lijst van opgeslagen adressen en labels</translation>
- </message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Eenheid om bedrag in te tonen:</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Backup Mislukt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Kies de standaard onderverdelingseenheid om weer te geven in uw programma, en voor het versturen van munten</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Er is een fout opgetreden bij het wegschrijven van de portemonnee-data naar de nieuwe locatie.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Toon adressen in uw transactielijst</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>Er is een fatale fout opgetreden. Bitcoin kan niet meer veilig doorgaan en zal nu afgesloten worden.</translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation>Of Bitcoinadressen getoond worden in de transactielijst</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Netwerkwaarschuwing</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Bewerk Adres</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Label</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Het label dat geassocieerd is met dit adres</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adres</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Het adres dat geassocieerd is met deze inschrijving in het adresboek. Dit kan alleen worden veranderd voor zend-adressen.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Nieuw ontvangstadres</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Nieuw adres om naar te verzenden</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Bewerk ontvangstadres</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Bewerk adres om naar te verzenden</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Het opgegeven adres &quot;%1&quot; bestaat al in uw adresboek.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Het opgegeven adres &quot;%1&quot; is een ongeldig Bitcoinadres</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Kon de portemonnee niet openen.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Genereren nieuwe sleutel mislukt.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
+ <message>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
+ </message>
+ <message>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versie</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Gebruik:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>commandoregel-opties</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>gebruikersinterfaceopties</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Stel taal in, bijvoorbeeld &apos;&apos;de_DE&quot; (standaard: systeeminstellingen)</translation>
+ </message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Het opgegeven adres &quot;%1&quot; is een ongeldig bitcoinadres</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Geminimaliseerd starten
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Laat laadscherm zien bij het opstarten. (standaard: 1)</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimaliseer naar het systeemvak in plaats van de taakbalk</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Opties</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Laat alleen een systeemvak-icoon zien wanneer het venster geminimaliseerd is</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Algemeen</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Portmapping via &amp;UPnP</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Optionele transactiekosten per kB die helpen om uw transacties snel te verwerken. De meeste transacties zijn 1 kB. Transactiekosten van 0,01 wordt aangeraden</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Open de Bitcoin-poort automatisch op de router. Dit werkt alleen als de router UPnP ondersteunt.</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Betaal &amp;transactiekosten</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>Start &amp;Bitcoin wanneer het systeem opstart</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Start Bitcoin automatisch na inloggen in het systeem</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Start Bitcoin automatisch wanneer de computer wordt aangezet</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Start Bitcoin bij het inloggen in het systeem</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>Minimaliseer bij &amp;sluiten van het venster</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Ontkoppel blok- en adresdatabases bij afsluiten. Dit betekent dat ze verplaatst kunnen worden naar een andere map, maar het vertraagt het afsluiten. De portemonnee wordt altijd ontkoppeld.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimaliseer het venster in de plaats van de applicatie af te sluiten als het venster gesloten wordt. Wanneer deze optie aan staan, kan de applicatie alleen worden afgesloten door Afsluiten te kiezen in het menu.</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Ontkoppel databases bij afsluiten</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Verbind via SOCKS4 proxy: </translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Netwerk</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Verbind met het Bitcoin-netwerk door een SOCKS4 proxy (bijv. wanneer Tor gebruikt wordt)</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Open de Bitcoin-poort automatisch op de router. Dit werkt alleen als de router UPnP ondersteunt en het aanstaat.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP:</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Portmapping via &amp;UPnP</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP-adres van de proxy (bijv. 127.0.0.1)</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Verbind met het Bitcoin-netwerk via een SOCKS-proxy (bijv. wanneer u via Tor wilt verbinden)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Poort:</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Verbind via een SOCKS-proxy</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Poort waarop de proxy luistert (bijv. 1234)</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Proxy &amp;IP:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>Optionele transactiekosten per kB die helpen om uw transacties snel te verwerken. De meeste transacties zijn 1 kB. Transactiekosten van 0,01 wordt aangeraden</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP-adres van de proxy (bijv. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Betaal &amp;transactiekosten</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Poort:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Ontkoppel databases bij afsluiten</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Poort van de proxy (bijv. 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Ontkoppel blok- en adresdatabases bij afsluiten. Dit betekent dat ze verplaatst kunnen worden naar een andere map, maar het vertraagt het afsluiten. De portemonnee wordt altijd ontkoppeld.</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS-&amp;Versie:</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Bericht</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>SOCKS-versie van de proxy (bijv. 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>U kunt berichten ondertekenen met een van uw adressen om te bewijzen dat u dit adres bezit. Pas op dat u geen onduidelijke dingen ondertekent, want phishingaanvallen zouden u voor de gek kunnen houden om zo uw identiteit te stelen. Onderteken alleen berichten waarmee u het volledig eens bent.</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Scherm</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Onderteken een bericht om te bewijzen dat u dit adres bezit</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Laat alleen een systeemvak-icoon zien wanneer het venster geminimaliseerd is</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Kies adres uit adresboek</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimaliseer naar het systeemvak in plaats van de taakbalk</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Typ hier het bericht dat u wilt ondertekenen</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimaliseer het venster in de plaats van de applicatie af te sluiten als het venster gesloten wordt. Wanneer deze optie aan staan, kan de applicatie alleen worden afgesloten door Afsluiten te kiezen in het menu.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Geheime sleutel voor %1 is niet beschikbaar.</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>Minimaliseer bij &amp;sluiten van het venster</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Ondertekenen mislukt</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Interface</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Het adres om het bericht mee te ondertekenen (Vb.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>&amp;Taal Gebruikersinterface:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>De taal van de gebruikersinterface kan hier ingesteld worden. Deze instelling zal pas van kracht worden nadat Bitcoin herstart wordt.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Plak adres vanuit klembord</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Eenheid om bedrag in te tonen:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Kies de standaard onderverdelingseenheid om weer te geven in uw programma, en voor het versturen van munten</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Klik &quot;Onderteken Bericht&quot; om de handtekening te verkrijgen</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Of Bitcoinadressen getoond worden in de transactielijst</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Onderteken Bericht</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>Toon &amp;adressen in de transactielijst</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Kopieer de huidige handtekening naar het systeemklembord</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopieer naar Klembord</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Annuleren</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Fout bij het ondertekenen</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Toepassen</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 is geen geldig adres.</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>standaard</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Algemeen</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Waarschuwing</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Beeldscherm</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Deze instelling zal pas van kracht worden na het herstarten van Bitcoin.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Opties</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Het opgegeven proxyadres is ongeldig.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Vorm</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Saldo:</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Uw huidige saldo</translation>
- </message>
- <message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Totaal van de transacties die nog moeten worden bevestigd en nog niet zijn meegeteld in uw huidige saldo </translation>
- </message>
- <message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Totaal aantal transacties in uw portemonnee</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Aantal transacties:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Onbevestigd:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation>Portemonnee</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Immatuur:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Ontgonnen saldo dat nog niet tot wasdom is gekomen</translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Recente transacties&lt;/b&gt;</translation>
</message>
+ <message>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Uw huidige saldo</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Totaal van de transacties die nog moeten worden bevestigd en nog niet zijn meegeteld in uw huidige saldo </translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Totaal aantal transacties in uw portemonnee</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>niet gesynchroniseerd</translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR-codescherm</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Vraag betaling aan</translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Bedrag:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Label:</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>PNG-Afbeeldingen (*.png)</translation>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Bericht:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Opslaan Als...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Fout tijdens encoderen URI in QR-code</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Het opgegeven bedrag is ongeldig, controleer het s.v.p.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>Resulterende URI te lang, probeer de tekst korter te maken voor het label/bericht.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Sla QR-code op</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>Afbeelding Opslaan...</translation>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>PNG-Afbeeldingen (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Bericht:</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Clientnaam</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;Opslaan Als...</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>N.v.t.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation>Fout tijdens encoderen URI in QR-code</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Clientversie</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialoog</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Informatie</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR-code</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Gebruikt OpenSSL versie</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Vraag betaling aan</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Opstarttijd</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Netwerk</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Aantal connecties</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>Op testnet</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Blokkenketen</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Huidig aantal blokken</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Geschat totaal aantal blokken</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Tijd laatste blok</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Open</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Commandoregel-opties</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Toon het BitcoinQt-hulpbericht voor een lijst met mogelijke Bitcoin commandoregel-opties.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Toon</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Console</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Bouwdatum</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin-debugscherm</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Bitcoin Kern</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Debug-logbestand</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Open het Bitcoindebug-logbestand van de huidige datamap. Dit kan een aantal seconden duren voor grote logbestanden.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Maak console leeg</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Welkom bij de Bitcoin RPC-console.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Gebruik de pijltjestoetsen om door de geschiedenis te navigeren, en &lt;b&gt;Ctrl-L&lt;/b&gt; om het scherm leeg te maken.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Typ &lt;b&gt;help&lt;/b&gt; voor een overzicht van de beschikbare commando&apos;s.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Verstuur munten</translation>
+ </message>
+ <message>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Verstuur aan verschillende ontvangers ineens</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Voeg &amp;Ontvanger Toe</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Verwijder alle transactievelden</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Verwijder &amp;Alles</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Bevestig de verstuuractie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>&amp;Verstuur</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; aan %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Bevestig versturen munten</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Weet u zeker dat u %1 wil versturen?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation> en </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Het ontvangstadres is niet geldig, controleer uw invoer.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Het ingevoerde bedrag moet groter zijn dan 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Bedrag is hoger dan uw huidige saldo</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
- <source>Send Coins</source>
- <translation>Verstuur munten</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Verwijder alles</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
- <source>123.456 BTC</source>
- <translation>123.456 BTC</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
- <source>Confirm the send action</source>
- <translation>Bevestig de verstuuractie</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation>&amp;Verstuur</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>Voeg &amp;ontvanger toe...</translation>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation>Totaal overschrijdt uw huidige saldo wanneer de %1 transactiekosten worden meegerekend</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Dubbel adres gevonden, u kunt slechts eenmaal naar een bepaald adres verzenden per verstuurtransactie</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
- <source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>Totaal overschrijdt uw huidige saldo wanneer de %1 transactiekosten worden meegerekend</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Fout: Aanmaak transactie mislukt</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Fout: De transactie was afgewezen. Dit kan gebeuren als u eerder uitgegeven munten opnieuw wilt versturen, zoals wanneer u een kopie van uw portemonneebestand (wallet.dat) heeft gebruikt en in de kopie deze munten zijn uitgegeven, maar in de huidige portemonnee deze nog niet als zodanig zijn gemarkeerd.</translation>
</message>
@@ -1162,217 +1365,439 @@ Adres: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Vorm</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>Bedra&amp;g:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Betaal &amp;Aan:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Vul een label in voor dit adres om het toe te voegen aan uw adresboek</translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Label:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Het adres waaraan u wilt betalen (bijv. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Kies adres uit adresboek</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Plak adres vanuit klembord</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Verwijder deze ontvanger</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>Bedra&amp;g:</translation>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Vul een Bitcoinadres in (bijv. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>Vorm</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Handtekeningen - Onderteken een bericht / Verifiëer een handtekening</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>Betaal &amp;Aan:</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>O&amp;nderteken Bericht</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
- <source>Enter a label for this address to add it to your address book</source>
- <translation>Vul een label in voor dit adres om het toe te voegen aan uw adresboek</translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>U kunt berichten ondertekenen met een van uw adressen om te bewijzen dat u dit adres bezit. Pas op dat u geen onduidelijke dingen ondertekent, want phishingaanvallen zouden u kunnen misleiden om zo uw identiteit te stelen. Onderteken alleen berichten waarmee u het volledig eens bent.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Het adres om het bericht mee te ondertekenen (Vb.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L).</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Kies een adres uit het adresboek</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Plak adres vanuit klembord</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Typ hier het bericht dat u wilt ondertekenen</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Kopieer de huidige handtekening naar het systeemklembord</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Onderteken een bericht om te bewijzen dat u een bepaald Bitcoinadres bezit</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Verwijder alles in de invulvelden</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Verwijder &amp;Alles</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verifiëer Bericht</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Voer het ondertekenende adres, bericht en handtekening hieronder in (let erop dat u nieuwe regels, spaties en tabs juist overneemt) om de handtekening te verifiëren. Let erop dat u niet meer uit het bericht interpreteert dan er daadwerkelijk staat, om te voorkomen dat u wordt misleid in een man-in-the-middle-aanval.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Het adres waarmee bet bericht was ondertekend (Vb.: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L).</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Controleer een bericht om te verifiëren dat het gespecificeerde Bitcoinadres het bericht heeft ondertekend.</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Verwijder alles in de invulvelden</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Vul een Bitcoinadres in (bijv. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Klik &quot;Onderteken Bericht&quot; om de handtekening te genereren</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Voer Bitcoin-handtekening in</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Het opgegeven adres is ongeldig.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Controleer s.v.p. het adres en probeer het opnieuw.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>Het opgegeven adres verwijst niet naar een sleutel.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Portemonnee-ontsleuteling is geannuleerd</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Geheime sleutel voor het ingevoerde adres is niet beschikbaar.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Ondertekenen van het bericht is mislukt.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Bericht ondertekend.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>De handtekening kon niet worden gedecodeerd.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Controleer s.v.p. de handtekening en probeer het opnieuw.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>De handtekening hoort niet bij het bericht.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Berichtverificatie mislukt.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Bericht correct geverifiëerd.</translation>
+ </message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Openen totdat %1</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Open voor %n blok.</numerusform>
+ <numerusform>Open voor %n blokken</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/offline</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/onbevestigd</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 bevestigingen</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Openen voor %1 blokken</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, uitgezonden naar %n node</numerusform>
+ <numerusform>, uitgezonden naar %n nodes</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/niet verbonden?</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Datum</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Status:&lt;/b&gt;</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Bron</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, uitgezonden naar %1 node</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Gegenereerd</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, uitgezonden naar %1 nodes</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Van</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Datum:&lt;/b&gt;</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Aan</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Bron:&lt;/b&gt;Gegenereerd&lt;br&gt;</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>eigen adres</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Van:&lt;/b&gt; </translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>label</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Aan:&lt;/b&gt; </translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Credit</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>komt tot wasdom na %n nieuw blok</numerusform>
+ <numerusform>komt tot wasdom na %n nieuwe blokken</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 komt beschikbaar na %2 blokken)</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>niet geaccepteerd</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Af:&lt;/b&gt; </translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debet</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Opmerking:</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Transactiekosten</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Transactie-ID:</translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Netto bedrag</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, is nog niet met succes uitgezonden</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Bericht</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>onbekend</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Opmerking</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation>(Uw adres, label:</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Transactie-ID:</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation>(uw)</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>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 &quot;niet geaccepteerd&quot; 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.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Bij:&lt;/b&gt;</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Debug-informatie</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(niet geaccepteerd)</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transactie</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Transactiekosten:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Inputs</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Netto bedrag:&lt;/b&gt;</translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Bedrag</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Bericht:</translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>waar</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>onwaar</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, is nog niet met succes uitgezonden</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Gegeneerde munten moeten 120 blokken wachten voor ze 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 &quot;ongeldig&quot; 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.</translation>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>onbekend</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Transactiedetails</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Dit venster laat een uitgebreide beschrijving van de transactie zien</translation>
</message>
@@ -1380,17 +1805,27 @@ Adres: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>Bedrag</translation>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Datum</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Address</source>
<translation>Adres</translation>
</message>
+ <message>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Bedrag</translation>
+ </message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Open gedurende %n blok</numerusform>
@@ -1398,277 +1833,267 @@ Adres: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Open tot %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Niet verbonden (%1 bevestigingen)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Onbevestigd (%1 van %2 bevestigd)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>Bevestigd (%1 bevestigingen)</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Ontgonnen saldo zal beschikbaar komen als het tot wasdom komt na %n blok</numerusform>
+ <numerusform>Ontgonnen saldo zal beschikbaar komen als het tot wasdom komt na %n blokken</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Dit blok is niet ontvangen bij andere nodes en zal waarschijnlijk niet worden geaccepteerd!</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Gegenereerd maar niet geaccepteerd</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Ontvangen met</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Received from</source>
<translation>Ontvangen van</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Verzonden aan</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Betaling aan uzelf</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Ontgonnen</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(nvt)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Transactiestatus. Houd de muiscursor boven dit veld om het aantal bevestigingen te laten zien.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Datum en tijd waarop deze transactie is ontvangen.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Type transactie.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Ontvangend adres van transactie</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Bedrag verwijderd van of toegevoegd aan saldo</translation>
</message>
+</context>
+<context>
+ <name>TransactionView</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Datum</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Alles</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Type</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Vandaag</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>Onbevestigd (%1 van %2 bevestigd)</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Deze week</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Dit blok is niet ontvangen bij andere nodes en zal waarschijnlijk niet worden geaccepteerd!</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Deze maand</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
- <source>Received with</source>
- <translation>Ontvangen met</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Vorige maand</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
- <source>Confirmed (%1 confirmations)</source>
- <translation>Bevestigd (%1 bevestigingen)</translation>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Dit jaar</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Ontgonnen saldo komt beschikbaar na %n blok</numerusform>
- <numerusform>Ontgonnen saldo komt beschikbaar na %n blokken</numerusform>
- </translation>
+ <message>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Bereik...</translation>
</message>
-</context>
-<context>
- <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Bereik:</translation>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Ontvangen met</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>naar</translation>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Verzonden aan</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Alles</translation>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Aan uzelf</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Vul adres of label in om te zoeken</translation>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Ontgonnen</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Label</translation>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Anders</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Deze maand</translation>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Vul adres of label in om te zoeken</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Min. bedrag</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Kopieer adres</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Kopieer bedrag</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Kopieer label</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Bereik...</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Kopieer bedrag</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation>Bewerk label</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Verzonden aan</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Toon transactiedetails</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>Exporteer transactiegegevens</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Ontgonnen</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Kommagescheiden bestand (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>Bevestigd</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Kopieer label</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation>Type</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Label</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Address</source>
<translation>Adres</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation>Bedrag</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Fout bij exporteren</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Kon niet schrijven naar bestand %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>Aan uzelf</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Deze week</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Vorige maand</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Dit jaar</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Ontvangen met</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Anders</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Toon details...</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Bereik:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Vandaag</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>naar</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Versturen...</translation>
</message>
@@ -1676,522 +2101,648 @@ Adres: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Kan geen lock op de datamap %s verkrijgen. Bitcoin draait vermoedelijk reeds.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Blokindex aan het laden...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Opnieuw aan het scannen ...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Klaar met laden</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoinversie</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Portemonnee moest herschreven worden: Herstart Bitcoin om te voltooien</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Gebruik:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Fout bij laden wallet.dat</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Stuur commando naar -server of bitcoind
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Kan portemonnee niet downgraden</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>List van commando&apos;s
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Kan standaard adres niet schrijven</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Toon hulp voor een commando
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
+ <location line="+20"/>
<source>Options:</source>
<translation>Opties:
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Fout: Aanmaak transactie mislukt</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Specifieer configuratiebestand (standaard: bitcoin.conf)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Fout: De transactie was afgewezen. Dit kan gebeuren als u eerder uitgegeven munten opnieuw wilt versturen, zoals wanneer u een kopie van uw portemonneebestand (wallet.dat) heeft gebruikt en in de kopie deze munten zijn uitgegeven, maar in de huidige portemonnee deze nog niet als zodanig zijn gemarkeerd.</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Specifieer pid-bestand (standaard: bitcoind.pid)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Stuur commando naar -server of bitcoind
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Genereer munten
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
+ <location line="-14"/>
<source>Don&apos;t generate coins</source>
<translation>Genereer geen munten
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
+ <location line="+60"/>
<source>Specify data directory</source>
<translation>Stel datamap in
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation>Stel databankcachegrootte in in megabytes (standaard: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Stel databankloggrootte in in megabytes (standaard: 100)</translation>
+ </message>
+ <message>
+ <location line="-26"/>
<source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation>Luister voor verbindingen op &lt;poort&gt; (standaard: 8333 of testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Voeg een knooppunt om te verbinden toe en probeer de verbinding open te houden</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Onderhoud maximaal &lt;n&gt; verbindingen naar peers (standaard: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Stuur trace/debug-info naar de console in plaats van het debug.log bestand</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Verbind naar een node om adressen van anderen op te halen, en verbreek vervolgens de verbinding</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Wachtwoord voor JSON-RPC verbindingen
-</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Specificeer uw eigen publieke adres</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Verstuur commando&apos;s naar proces dat op &lt;ip&gt; draait (standaard: 127.0.0.1)
-</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Bind aan gegeven adres. Gebruik [host]:poort -notatie voor IPv6</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Drempel om verbinding te verbreken naar zich misdragende peers (standaard: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
+ <location line="-112"/>
<source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation>Aantal seconden dat zich misdragende peers niet opnieuw mogen verbinden (standaard: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Waarschuwing: -paytxfee is zeer hoog ingesteld. Dit zijn de transactiekosten die u betaalt bij het versturen van een transactie.</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Er is een fout opgetreden tijdens het instellen van de inkomende RPC-poort %u op IPv4: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Kan niet binden aan poort %d op deze computer. Bitcoin draait vermoedelijk reeds.</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>Er is een fout opgetreden tijdens het instellen van de inkomende RPC-poort %u op IPv6, terugval naar IPv4: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Waarschuwing: Controleer dat de datum en tijd op uw computer correct zijn ingesteld. Als uw klok fout staat zal Bitcoin niet correct werken.</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Ontkoppel blok- en adresdatabases. Verhoogt afsluittijd (standaard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Certificaat-bestand voor server (standaard: server.cert)
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Fout: De transactie was afgewezen. Dit kan gebeuren als u eerder uitgegeven munten opnieuw wilt versturen, zoals wanneer u een kopie van uw portemonneebestand (wallet.dat) heeft gebruikt en in de kopie deze munten zijn uitgegeven, maar in de huidige portemonnee deze nog niet als zodanig zijn gemarkeerd.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Fout: Deze transactie heeft transactiekosten nodig van tenminste %s, vanwege zijn grootte, ingewikkeldheid, of het gebruik van onlangs ontvangen munten </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Wacht op JSON-RPC-connecties op poort &lt;port&gt; (standaard: 8332 of testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Aanvaard commandoregel en JSON-RPC commando&apos;s
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Kosten per KB om aan transacties toe te voegen die u verstuurt</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Fout: Aanmaak transactie mislukt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Fout: Portemonnee gesloten, transactie maken niet mogelijk </translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Bezig met importeren van blokkenketen-databestand.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Bezig met importeren van bootstap-blokkenketen-databestand.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
+ <location line="+23"/>
<source>Run in the background as a daemon and accept commands</source>
<translation>Draai in de achtergrond als daemon en aanvaard commando&apos;s
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
+ <location line="+33"/>
<source>Use the test network</source>
<translation>Gebruik het testnetwerk
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Voorzie de debuggingsuitvoer van een tijdsaanduiding</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Accepteer verbindingen van buitenaf (standaard: 1 als geen -proxy of -connect is opgegeven)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Aanvaardbare ciphers (standaard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Stel maximumgrootte in in bytes voor hoge-prioriteits-/lage-transactiekosten-transacties (standaard: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Stuur trace/debug-info naar debugger</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Waarschuwing: -paytxfee is zeer hoog ingesteld. Dit zijn de transactiekosten die u betaalt bij het versturen van een transactie.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Voer commando uit zodra het beste blok verandert (%s in cmd wordt vervangen door blockhash)</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Waarschuwing: Weergegeven transacties zijn mogelijk niet correct! Mogelijk dient u te upgraden, of andere nodes dienen te upgraden.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Gebruikersnaam voor JSON-RPC verbindingen
-</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Waarschuwing: Controleer dat de datum en tijd op uw computer correct zijn ingesteld. Als uw klok fout staat zal Bitcoin niet correct werken.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Luister voor JSON-RPC verbindingen op &lt;poort&gt; (standaard: 8332)
-</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Blokcreatie-opties:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Vernieuw portemonnee naar nieuwste versie</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Verbind alleen naar de gespecificeerde node(s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Stel sleutelpoelgrootte in op &lt;n&gt; (standaard: 100)
-</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Ontdek eigen IP-adres (standaard: 1 als er wordt geluisterd en geen -externalip is opgegeven)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Doorzoek de blokkenketen op ontbrekende portemonnee-transacties</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Mislukt om op welke poort dan ook te luisteren. Gebruik -listen=0 as u dit wilt.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Het aantal blokken na te kijken bij opstarten (standaard: 2500, 0=alle)</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Vind andere nodes d.m.v. DNS-naslag (standaard: 1 tenzij -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>De grondigheid van de blokverificatie (0-6, standaard: 1)</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Ongeldig -tor adres: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Gebruik OpenSSL (https) voor JSON-RPC verbindingen
-</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Maximum per-connectie ontvangstbuffer, &lt;n&gt;*1000 bytes (standaard: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Verbind via socks4 proxy
-</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Maximum per-connectie zendbuffer, &lt;n&gt;*1000 bytes (standaard: 1000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Verbind alleen naar nodes in netwerk &lt;net&gt; (IPv4, IPv6 of Tor)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Output extra debugginginformatie. Impliceert alle andere -debug* opties</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Output extra netwerk-debugginginformatie</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Voorzie de debuggingsuitvoer van een tijdsaanduiding</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL-opties: (zie de Bitcoin wiki voor SSL-instructies)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Selecteer de versie van de SOCKS-proxy om te gebruiken (4 of 5, standaard is 5)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Stuur trace/debug-info naar de console in plaats van het debug.log bestand</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maximale ontvangstbuffer per connectie, &lt;n&gt;*1000 bytes (standaard: 10000)</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Stuur trace/debug-info naar debugger</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Stel maximum blokgrootte in in bytes (standaard: 250000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Stel minimum blokgrootte in in bytes (standaard: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Verklein debug.log-bestand bij het opstarten van de client (standaard: 1 als geen -debug)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Specificeer de time-out tijd in milliseconden (standaard: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Gebruik UPnP om de luisterende poort te mappen (standaard: 0)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Gebruik UPnP om de luisterende poort te mappen (standaard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Verbind alleen met deze node
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Gebruik UPnP om de luisterende poort te mappen (standaard: 1 als er wordt geluisterd)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Gebruik proxy om &apos;tor hidden services&apos; te bereiken (standaard: hetzelfde als -proxy)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Gebruikersnaam voor JSON-RPC verbindingen
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation>Accepteer verbindingen van buitenaf (standaard: 1)</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Stel taal in, bijvoorbeeld &apos;&apos;de_DE&quot; (standaard: systeeminstellingen)</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Waarschuwing: Weinig schijfruimte vrij!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maximale zendbuffer per connectie, &lt;n&gt;*1000 bytes (standaard: 10000)</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Waarschuwing: Deze versie is verouderd, een upgrade is vereist!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Gebruik UPnP om de luisterende poort te mappen (standaard: 1)</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Toon extra debuggingsinformatie</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Wachtwoord voor JSON-RPC verbindingen
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Aan het versturen...</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Sta JSON-RPC verbindingen van opgegeven IP adres toe
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL opties: (zie de Bitcoin wiki voor SSL instructies)
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Verstuur commando&apos;s naar proces dat op &lt;ip&gt; draait (standaard: 127.0.0.1)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Ongeldig aantal</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Voer commando uit zodra het beste blok verandert (%s in cmd wordt vervangen door blockhash)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Ontoereikend saldo</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Vernieuw portemonnee naar nieuwste versie</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, u moet een rpcpassword instellen in het configuratiebestand:
- %s
-Het wordt aangeraden het volgende willekeurige wachtwoord te gebruiken:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(U hoeft het wachtwoord niet te onthouden)
-Als het bestand niet bestaat, maak het aan met een alleen-lezen-permissie.
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Stel sleutelpoelgrootte in op &lt;n&gt; (standaard: 100)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>Om de %s optie te gebruiken</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Doorzoek de blokkenketen op ontbrekende portemonnee-transacties</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Fout</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Het aantal blokken na te kijken bij opstarten (standaard: 2500, 0=alle)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>U dient rpcpassword=&lt;wachtwoord&gt; in te stellen in het configuratiebestand:
-%s
-Als het bestand niet bestaat, maak het dan aan, met een alleen-lezen-permissie.</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>De grondigheid van de blokverificatie (0-6, standaard: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoinversie</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Importeert blokken van extern blk000?.dat bestand</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Gebruik:</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Gebruik OpenSSL (https) voor JSON-RPC verbindingen
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Stel databankloggrootte in in megabytes (standaard: 100)</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Certificaat-bestand voor server (standaard: server.cert)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Adressen aan het laden...</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Geheime sleutel voor server (standaard: server.pem)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Portemonnee aan het laden...</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Aanvaardbare ciphers (standaard: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Dit helpbericht
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Waarschuwing: Weinig schijfruimte over</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Kan geen lock op de datamap %s verkrijgen. Bitcoin draait vermoedelijk reeds.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Ongeldig bedrag voor -paytxfee=&lt;bedrag&gt;</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Niet in staat om aan %s te binden op deze computer (bind gaf error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Fout: CreateThread(StartNode) is mislukt</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Verbind via een socks-proxy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Foutief -proxy adres</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Sta DNS-naslag toe voor -addnode, -seednode en -connect</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Fout bij laden addr.dat</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Adressen aan het laden...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
+ <location line="-26"/>
<source>Error loading blkindex.dat</source>
<translation>Fout bij laden blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation>Fout bij laden wallet.dat: Portemonnee corrupt</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation>Fout bij laden wallet.dat: Portemonnee vereist een nieuwere versie van Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Kan sleutel-pool niet initialiseren</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Portemonnee moest herschreven worden: Herstart Bitcoin om te voltooien</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Er is een fout opgetreden tijdens het opzetten van de inkomende RPC-poort %u: %s</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Fout bij laden wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>List van commando&apos;s
-</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Ongeldig -proxy adres: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Toon hulp voor een commando
-</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Onbekend netwerk gespecificeerd in -onlynet: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Specifieer configuratiebestand (standaard: bitcoin.conf)
-</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Onbekende -socks proxyversie aangegeven: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Specifieer pid-bestand (standaard: bitcoind.pid)
-</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Kan -bind adres niet herleiden: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Genereer munten
-</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Kan -externlip adres niet herleiden: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Geminimaliseerd starten
-</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Ongeldig bedrag voor -paytxfee=&lt;bedrag&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Laat laadscherm zien bij het opstarten. (standaard: 1)</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Fout: Kon node niet starten</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Specificeer de time-out tijd (in milliseconden)
-</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Aan het versturen...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Sta DNS-naslag toe voor addnode en connect
-</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Ongeldig aantal</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Onderhoud maximaal &lt;n&gt; verbindingen naar peers (standaard: 125)</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Ontoereikend saldo</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Blokindex aan het laden...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Voeg een knooppunt om te verbinden toe en probeer de verbinding open te houden</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Niet in staat om aan %s te binden op deze computer. Bitcoin draait vermoedelijk reeds.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
<source>Find peers using internet relay chat (default: 0)</source>
<translation>Vind anderen door middel van Internet Relay Chat (standaard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>Vind andere nodes d.m.v. DNS-naslag (standaard: 1)</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Kosten per KB om aan transacties toe te voegen die u verstuurt</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Drempel om verbinding te verbreken naar zich misdragende peers (standaard: 100)</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Portemonnee aan het laden...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Aanvaard commandoregel en JSON-RPC commando&apos;s
-</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Kan portemonnee niet downgraden</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Sta JSON-RPC verbindingen van opgegeven IP adres toe
-</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Kan sleutel-pool niet initialiseren</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Geheime sleutel voor server (standaard: server.pem)
-</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Kan standaard adres niet schrijven</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Dit helpbericht
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Opnieuw aan het scannen ...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Klaar met laden</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Om de %s optie te gebruiken</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, u moet een rpcpassword instellen in het configuratiebestand:
+ %s
+Het wordt aangeraden het volgende willekeurige wachtwoord te gebruiken:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(U hoeft het wachtwoord niet te onthouden)
+Als het bestand niet bestaat, maak het aan met een alleen-lezen-permissie.
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Ontkoppel blok- en adresdatabases. Verhoogt afsluittijd (standaard: 0)</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Fout</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Gebruik</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>U dient rpcpassword=&lt;wachtwoord&gt; in te stellen in het configuratiebestand:
+%s
+Als het bestand niet bestaat, maak het dan aan, met een alleen-lezen-permissie.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_pl.ts b/src/qt/locale/bitcoin_pl.ts
index 071f5e0853..7ad7be8630 100644
--- a/src/qt/locale/bitcoin_pl.ts
+++ b/src/qt/locale/bitcoin_pl.ts
@@ -5,137 +5,135 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>O Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>Wersja &lt;b&gt;Bitcoin&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin Developers
-
+ <translation>
Oprogramowanie eksperymentalne.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt 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.
-
-
+Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php.
-Pomóż w tłumaczeniu:
-www.transifex.net/projects/p/bitcoin/</translation>
+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.</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Książka Adresowa</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Kliknij dwukrotnie, aby edytować adres lub etykietę</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Utwórz nowy adres</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Nowy adres...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Skopiuj aktualnie wybrany adres do schowka</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopiuj do schowka</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Nowy Adres</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopiuj adres</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Pokaż Kod &amp;QR</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation>Podpisz wiadomość aby dowieść, że ten adres jest twój</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>Podpisz wiado&amp;mość</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Usuń aktualnie wybrany adres z listy. Tylko adresy nadawcze mogą być usunięte.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Usuń</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Zweryfikuj wiadomość, aby upewnić się, że została podpisana odpowiednim adresem Bitcoin.</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopiuj adres</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Zweryfikuj wiadomość</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopiuj etykietę</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Usuń</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Edytuj</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopiuj &amp;Etykietę</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Usuń</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Edytuj</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Eksportuj książkę adresową</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Plik *.CSV (rozdzielany przecinkami)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Błąd podczas eksportowania</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Błąd zapisu do pliku %1.</translation>
</message>
@@ -143,17 +141,17 @@ www.transifex.net/projects/p/bitcoin/</translation>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etykieta</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adres</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(bez etykiety)</translation>
</message>
@@ -161,348 +159,383 @@ www.transifex.net/projects/p/bitcoin/</translation>
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Okienko Hasła</translation>
+ </message>
+ <message>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Wpisz hasło</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Nowe hasło</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Powtórz nowe hasło</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TekstEtykiety</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Wprowadź nowe hasło dla portfela.&lt;br/&gt;Proszę użyć hasła składającego się z &lt;b&gt;10 lub więcej losowych znaków&lt;/b&gt; lub &lt;b&gt;ośmiu lub więcej słów&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Zaszyfruj portfel</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Ta operacja wymaga hasła do portfela ażeby odblokować portfel.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Odblokuj portfel</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Ta operacja wymaga hasła do portfela ażeby odszyfrować portfel.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Odszyfruj portfel</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Zmień hasło</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Podaj stare i nowe hasło do portfela.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Potwierdź szyfrowanie portfela</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>OSTRZEŻENIE: Jeśli zaszyfrujesz portfel i zgubisz hasło, wtedy &lt;b&gt;STRACISZ WSZYSTKIE SWOJE BITMONETY&lt;/b&gt;
-Czy na pewno chcesz zaszyfrować swój portfel?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Uwaga: Jeśli zaszyfrujesz swój portfel i zgubisz hasło to &lt;b&gt;STRACISZ WSZYSTKIE SWOJE BITCOIN&apos;Y&lt;/b&gt;!</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Jesteś pewien, że chcesz zaszyfrować swój portfel?</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Uwaga: Klawisz Caps Lock jest włączony</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>Portfel zaszyfrowany</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>Program Bitcoin zamknie się aby dokończyć proces szyfrowania. Pamiętaj, że szyfrowanie portfela nie zabezpiecza w pełni Twoich bitcoinów przed kradzieżą przez wirusy lub trojany mogące zainfekować Twój komputer.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Szyfrowanie portfela nie powiodło się</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Szyfrowanie portfela nie powiodło się z powodu wewnętrznego błędu. Twój portfel nie został zaszyfrowany.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Podane hasła nie są takie same.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Odblokowanie portfela nie powiodło się</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Wprowadzone hasło do odszyfrowania portfela jest niepoprawne.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Odszyfrowywanie portfela nie powiodło się</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation>Hasło portfela zostało pomyślnie zmienione.</translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Ostrzeżenie: Caps Lock jest włączony.</translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Podpisz wiado&amp;mość...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Synchronizacja z siecią...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>P&amp;odsumowanie</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Pokazuje ogólny zarys portfela</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Transakcje</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Przeglądaj historię transakcji</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>Książka &amp;adresowa</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Edytuj listę zapisanych adresów i i etykiet</translation>
+ </message>
+ <message>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>Odbie&amp;rz monety</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Podpisz wiado&amp;mość</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Pokaż listę adresów do otrzymywania płatności</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Pokazuje informacje o Qt</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>Wy&amp;syłka monet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Pokaż lub ukryj okno Bitcoin</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Zakończ</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Eksportuj...</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Zamknij program</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>Wy&amp;syłka monet</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Pokaż informację o Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Pokaż/Ukryj &amp;Bitcoin</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>O &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Portfel jest &lt;b&gt;zaszyfrowany&lt;/b&gt; i obecnie &lt;b&gt;zablokowany&lt;/b&gt;</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Pokazuje informacje o Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">&amp;Backup portfel</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Opcje...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>P&amp;odsumowanie</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>Zaszyfruj Portf&amp;el</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Edytuj listę zapisanych adresów i i etykiet</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>Wykonaj kopię zapasową...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Pokaż listę adresów do otrzymywania płatności</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Zmień hasło...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>pozostał ~%n blok</numerusform>
+ <numerusform>pozostało ~%n bloki</numerusform>
+ <numerusform>pozostało ~%n bloków</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Opcje...</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Pobrano %1 z %2 bloków historii transakcji(%3% ukończono).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Eksportuj...</translation>
+ </message>
+ <message>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Wyślij monety na adres Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Zmienia opcje konfiguracji bitcoina</translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation>Eksportuj dane z aktywnej karty do pliku</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Zaszyfruj lub odszyfruj portfel</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation>Zapasowy portfel w innej lokalizacji</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
+ <location line="+2"/>
<source>Change the passphrase used for wallet encryption</source>
<translation>Zmień hasło użyte do szyfrowania portfela</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Transakcja wysłana</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Okno debudowania</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Zamknij program</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Otwórz konsolę debugowania i diagnostyki</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Zaszyfruj lub odszyfruj portfel</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Zweryfikuj wiadomość...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Pokaż informację o Bitcoin</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>Zmień h&amp;asło</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Portfel</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>P&amp;referencje</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>%n minutę temu</numerusform>
- <numerusform>%n minuty temu</numerusform>
- <numerusform>%n minut temu</numerusform>
- </translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>O Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Portfel jest &lt;b&gt;zaszyfrowany&lt;/b&gt; i obecnie &lt;b&gt;niezablokowany&lt;/b&gt;</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Pokaż / Ukryj</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Kopia Zapasowa Portfela</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Plik</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Dane Portfela (*.dat)</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>P&amp;referencje</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Kopia Zapasowa Nie Została Wykonana</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>Pomo&amp;c</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Wystąpił błąd podczas próby zapisu portfela do nowej lokalizacji.</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Pasek zakładek</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Wyślij monety na adres bitcoin</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Pasek akcji</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;O %1</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Udowodnij, że kontrolujesz adres</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoin klient</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
<translation>
- <numerusform>%n dzień temu</numerusform>
- <numerusform>%n dni temu</numerusform>
- <numerusform>%n dni temu</numerusform>
+ <numerusform>%n aktywne połączenie do sieci Bitcoin</numerusform>
+ <numerusform>%n aktywne połączenia do sieci Bitcoin</numerusform>
+ <numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform>
</translation>
</message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Pobrano %1 bloków z historią transakcji.</translation>
+ </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n sekundę temu</numerusform>
@@ -510,42 +543,70 @@ Czy na pewno chcesz zaszyfrować swój portfel?</translation>
<numerusform>%n sekund temu</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n minutę temu</numerusform>
+ <numerusform>%n minuty temu</numerusform>
+ <numerusform>%n minut temu</numerusform>
+ </translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
<translation>
- <numerusform>pozostał ~%n blok</numerusform>
- <numerusform>pozostało ~%n bloki</numerusform>
- <numerusform>pozostało ~%n bloków</numerusform>
+ <numerusform>%n godzinę temu</numerusform>
+ <numerusform>%n godziny temu</numerusform>
+ <numerusform>%n godzin temu</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n dzień temu</numerusform>
+ <numerusform>%n dni temu</numerusform>
+ <numerusform>%n dni temu</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Zmienia opcje konfiguracji bitcoina</translation>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Aktualny</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Pasek akcji</translation>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Łapanie bloków...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Pobrano %1 bloków z historią transakcji.</translation>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Ostatnio otrzymany blok został wygenerowany %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Zakończ</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>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ę?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Potwierdź prowizję transakcyjną</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Transakcja wysłana</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Transakcja przychodząca</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -558,613 +619,749 @@ Adres: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>Zaszyfruj portf&amp;el</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Portfel Bitcoin</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>Obsługa URI</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Plik</translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI nie może zostać przetworzony! Prawdopodobnie błędny adres Bitcoin bądź nieprawidłowe parametry URI.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>O &amp;Qt</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>Pomo&amp;c</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Pasek zakładek</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoin klient</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n aktywne połączenie do sieci Bitcoin</numerusform>
- <numerusform>%n aktywne połączenia do sieci Bitcoin</numerusform>
- <numerusform>%n aktywnych połączeń do sieci Bitcoin</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>%n godzinę temu</numerusform>
- <numerusform>%n godziny temu</numerusform>
- <numerusform>%n godzin temu</numerusform>
- </translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Synchronizacja z siecią...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Pobrano %1 z %2 bloków historii transakcji(%3% ukończono).</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Portfel jest &lt;b&gt;zaszyfrowany&lt;/b&gt; i obecnie &lt;b&gt;niezablokowany&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>Aktualny</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Portfel jest &lt;b&gt;zaszyfrowany&lt;/b&gt; i obecnie &lt;b&gt;zablokowany&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
- <source>Catching up...</source>
- <translation>Łapanie bloków...</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Kopia Zapasowa Portfela</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>Ostatnio otrzymany blok została wygenerowany %1.</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Dane Portfela (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Transakcja przychodząca</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Kopia Zapasowa Nie Została Wykonana</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Wysyłanie...</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Wystąpił błąd podczas próby zapisu portfela do nowej lokalizacji.</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation>Błąd krytyczny. Bitcoin nie może kontynuować bezpiecznie więc zostanie zamknięty.</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Jednostka pokazywana przy kwocie:</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Wybierz podział jednostki pokazywany w interfejsie oraz podczas wysyłania monet</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Wyświetlaj adresy w liście transakcji</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation>Pokazuj adresy Bitcoin na liście transakcji.</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Sieć Alert</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Edytuj adres</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Etykieta</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Etykieta skojarzona z tym wpisem w książce adresowej</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adres</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Ten adres jest skojarzony z wpisem w książce adresowej. Może być zmodyfikowany jedynie dla adresów wysyłających.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Nowy adres odbiorczy</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Nowy adres wysyłania</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Edytuj adres odbioru</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Edytuj adres wysyłania</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Wprowadzony adres &quot;%1&quot; już istnieje w książce adresowej.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Wprowadzony adres &quot;%1&quot; nie jest prawidłowym adresem bitcoin.</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Wprowadzony adres &quot;%1&quot; nie jest poprawnym adresem Bitcoin.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Nie można było odblokować portfela.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Tworzenie nowego klucza nie powiodło się.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>Uruchom Bitcoin wraz ze &amp;startem systemu okien</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Automatyczne uruchamia Bitcoin po włączeniu komputera</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>wersja</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimalizuj do paska przy zegarku zamiast do paska zadań</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Użycie:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Pokazuje tylko ikonę przy zegarku po zminimalizowaniu okna</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>opcje konsoli</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Mapuj port używając &amp;UPnP</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI opcje</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Automatycznie otwiera port klienta Bitcoin na routerze. Ta opcja dzieła tylko jeśli twój router wspiera UPnP i jest ono włączone.</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Ustaw Język, na przykład &quot;pl_PL&quot; (domyślnie: systemowy)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimalizuj przy zamykaniu</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Uruchom zminimalizowany</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimalizuje zamiast zakończyć działanie programu przy zamykaniu okna. Kiedy ta opcja jest włączona, program zakończy działanie po wybieraniu Zamknij w menu.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Pokazuj okno powitalne przy starcie (domyślnie: 1)</translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>Połącz przez proxy SO&amp;CKS4:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Opcje</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Łączy się z siecią Bitcoin przez proxy SOCKS4 (np. kiedy łączysz się przez Tor)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>Główne</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP: </translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Opcjonalna prowizja za transakcje za kB, wspomaga ona szybkość przebiegu transakcji. Większość transakcji jest 1 kB. Zalecana prowizja 0.01 .</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>Adres IP serwera proxy (np. 127.0.0.1)</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Płać prowizję za t&amp;ransakcje</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port: </translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Automatycznie uruchamia Bitcoin po zalogowaniu do systemu.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Port proxy (np. 1234)</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>Uruchamiaj Bitcoin wraz z zalogowaniem do &amp;systemu</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>Opcjonalna prowizja za transakcje za kB, wspomaga ona szybkość przebiegu transakcji. Większość transakcji jest 1 kB. Zalecana prowizja 0.01 .</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Odłącz bazę bloków i adresów podczas zamknięcia aplikcji. Oznacza to, że baza może zostać przeniesiona do innego folderu, ale jednocześnie zwiększa czas potrzebny na zamknięcie programu. Portfel jest zawsze odłączany.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Płać prowizję za t&amp;ransakcje</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Odłącz bazy danych przy zamknięciu</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Odłącz bazy danych przy zamknięciu</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Sieć</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Odłącz bazę bloków i adresów podczas zamknięcia aplikcji. Oznacza to, że baza może zostać przeniesiona do innego folderu, ale jednocześnie zwiększa czas potrzebny na zamknięcie programu. Portfel jest zawsze odłączany.</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Automatycznie otwiera port klienta Bitcoin na routerze. Ta opcja dzieła tylko jeśli twój router wspiera UPnP i jest ono włączone.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Wiadomość</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Mapuj port używając &amp;UPnP</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Możesz podpisywać wiadomości swoimi adresami aby udowodnić, że jesteś ich właścicielem. Uważaj, aby nie podpisywać niczego co wzbudza Twoje podejrzenia, ponieważ ktoś może stosować phishing próbując nakłonić Cię do ich podpisania. Akceptuj i podpisuj tylko w pełni zrozumiałe komunikaty i wiadomości.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Podłącz się do sieci Bitcoin przez proxy SOCKS (np. gdy łączysz się poprzez Tor&apos;a)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Wprowadź adres Bitcoin (np. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Połącz się przez proxy SOCKS</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Wybierz adres z książki adresowej</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Proxy &amp;IP: </translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Adres IP serwera proxy (np. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Wklej adres ze schowka</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Port proxy (np. 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Wprowadź wiadomość, którą chcesz podpisać, tutaj</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>Wersja &amp;SOCKS</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Kliknij &quot;Podpisz Wiadomość&quot; żeby uzyskać podpis</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>SOCKS wersja serwera proxy (np. 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Podpisz wiadomość aby dowieść, że ten adres jest twój</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Okno</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>Podpi&amp;sz Wiadomość</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Pokazuj tylko ikonę przy zegarku po zminimalizowaniu okna.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Kopiuje aktualny podpis do schowka systemowego</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimalizuj do paska przy zegarku zamiast do paska zadań</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopiuj do schowka</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimalizuje zamiast zakończyć działanie programu przy zamykaniu okna. Kiedy ta opcja jest włączona, program zakończy działanie po wybieraniu Zamknij w menu.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Błąd podpisywania</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimalizuj przy zamknięciu</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 nie jest poprawnym adresem.</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Wyświetlanie</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Klucz prywatny dla %1 jest niedostępny.</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>Język &amp;Użytkownika:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Podpisywanie nie powiodło się.</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Można tu ustawić język interfejsu uzytkownika. Żeby ustawienie przyniosło skutek trzeba uruchomić ponownie Bitcoin.</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Główny</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Jednostka pokazywana przy kwocie:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Wyświetlanie</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Wybierz podział jednostki pokazywany w interfejsie oraz podczas wysyłania monet</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Opcje</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Pokazuj adresy Bitcoin na liście transakcji.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Wyświetlaj adresy w liście transakcji</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Anuluj</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>Z&amp;astosuj</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>domyślny</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Ostrzeżenie</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>To ustawienie zostanie zastosowane po restarcie Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Adres podanego proxy jest nieprawidłowy</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Niepotwierdzony:</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Formularz</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Liczba transakcji:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Niepotwierdzony:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Portfel</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Niedojrzały: </translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Balans wydobycia, który jeszcze nie dojrzał</translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Ostatnie transakcje&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Twoje obecne saldo</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Suma transakcji, które nie zostały jeszcze potwierdzone, i które nie zostały wliczone do twojego obecnego salda</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Całkowita liczba transakcji w portfelu</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Portfel</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>desynchronizacja</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>Obraz PNG (*.png)</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>Okno Dialogowe Kodu QR</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation>Prośba o płatność</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Kwota:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Etykieta:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>Wiadomość:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>Zapi&amp;sz jako...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation>Błąd kodowania URI w Kodzie QR.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Podana ilość jest nieprawidłowa, proszę sprawdzić</translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>Wynikowy URI jest zbyt długi, spróbuj zmniejszyć tekst etykiety / wiadomości</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Zapisz Kod QR</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>Kod QR</translation>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>Obraz PNG (*.png)</translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Nazwa klienta</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>NIEDOSTĘPNE</translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Wersja klienta</translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Informacje</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Używana wersja OpenSSL</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Czas uruchomienia</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Sieć</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Liczba połączeń</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>W sieci testowej</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Ciąg bloków</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Aktualna liczba bloków</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Szacowana ilość bloków</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Czas ostatniego bloku</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Otwórz</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Opcje konsoli</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Pokaż pomoc Bitcoin-Qt, aby zobaczyć listę wszystkich opcji linii poleceń</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Pokaż</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Konsola</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Data kompilacji</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Okno debudowania</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Wyczyść konsolę</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Witam w konsoli Bitcoin RPC</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Użyj strzałek do przewijania historii i &lt;b&gt;Ctrl-L&lt;/b&gt; aby wyczyścić ekran</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Wpisz &lt;b&gt;help&lt;/b&gt; aby uzyskać listę dostępnych komend</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Wyślij płatność</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Wyślij do wielu odbiorców na raz</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>Dod&amp;aj odbiorcę...</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Dodaj Odbio&amp;rce</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Wyczyść wszystkie pola transakcji</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Wyczyść wszystko</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
- <source>Confirm the send action</source>
- <translation>Potwierdź akcję wysyłania</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Wyczyść &amp;wszystko</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation>Wy&amp;syłka</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Potwierdź akcję wysyłania</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>Wy&amp;syłka</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; do %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Potwierdź wysyłanie monet</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> i </translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Czy na pewno chcesz wysłać %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> i </translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Adres odbiorcy jest nieprawidłowy, proszę poprawić</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Kwota do zapłacenia musi być większa od 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Kwota przekracza twoje saldo.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Suma przekracza twoje saldo, gdy doliczymy %1 prowizji transakcyjnej.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Znaleziono powtórzony adres, można wysłać tylko raz na każdy adres podczas operacji wysyłania.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Błąd: Tworzenie transakcji nie powiodło się.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Błąd: transakcja została odrzucona. Może się to zdarzyć, gdy monety z Twojego portfela zostały już wydane, na przykład gdy używałeś kopii wallet.dat i bitcoiny które tam wydałeś nie zostały jeszcze odjęte z portfela z którego teraz korzystasz.</translation>
</message>
@@ -1172,204 +1369,429 @@ Adres: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
- <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Wprowadź adres Bitcoin (np. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Formularz</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>Su&amp;ma:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>Płać &amp;Do:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Wprowadź etykietę dla tego adresu by dodać go do książki adresowej</translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Etykieta:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+18"/>
+ <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adres do wysłania należności do (np. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Wybierz adres z książki adresowej</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Wklej adres ze schowka</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>Formularz</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>Su&amp;ma:</translation>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Usuń tego odbiorce</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
- <source>Enter a label for this address to add it to your address book</source>
- <translation>Wprowadź etykietę dla tego adresu by dodać go do książki adresowej</translation>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Wprowadź adres Bitcoin (np. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
- <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
- <source>Choose address from address book</source>
- <translation>Wybierz adres z książki adresowej</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>Podpi&amp;sz Wiadomość</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Możesz podpisywać wiadomości swoimi adresami aby udowodnić, że jesteś ich właścicielem. Uważaj, aby nie podpisywać niczego co wzbudza Twoje podejrzenia, ponieważ ktoś może stosować phishing próbując nakłonić Cię do ich podpisania. Akceptuj i podpisuj tylko w pełni zrozumiałe komunikaty i wiadomości.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Wprowadź adres Bitcoin (np. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Wybierz adres z książki kontaktowej</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Wklej adres ze schowka</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
- <source>Remove this recipient</source>
- <translation>Usuń tego odbiorce</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Wprowadź wiadomość, którą chcesz podpisać, tutaj</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Kopiuje aktualny podpis do schowka systemowego</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Podpisz wiadomość aby dowieść, że ten adres jest twój</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Zresetuj wszystkie pola podpisanej wiadomości</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Wyczyść &amp;wszystko</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Zweryfikuj wiadomość</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Wprowadź adres Bitcoin (np. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Zweryfikuj wiadomość, aby upewnić się, że została podpisana odpowiednim adresem Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Wprowadź adres Bitcoin (np. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Kliknij &quot;Podpisz Wiadomość&quot; żeby uzyskać podpis</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Wprowadź podpis Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Podany adres jest nieprawidłowy.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Proszę sprawdzić adres i spróbować ponownie.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Odblokowanie portfela zostało anulowane.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Klucz prywatny dla podanego adresu nie jest dostępny</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Podpisanie wiadomości nie powiodło się</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Wiadomość podpisana.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Podpis nie może zostać zdekodowany.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Sprawdź podpis i spróbuj ponownie.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Weryfikacja wiadomości nie powiodła się.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Wiadomość zweryfikowana.</translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Otwórz do %1</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Otwórz dla %n bloku</numerusform>
+ <numerusform>Otwórz dla %n bloków</numerusform>
+ <numerusform>Otwórz dla %n bloków</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 potwierdzeń</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/niezatwierdzone</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Otwórz dla %1 bloków</translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 potwierdzeń</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/offline?</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Status:&lt;/b&gt; </translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Data</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, emitowany przez %1 węzeł</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Źródło</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, emitowany przez %1 węzły</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Wygenerowano</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Data:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Od</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Źródło:&lt;/b&gt; Wygenerowano&lt;br&gt;</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Do</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Do:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>własny adres</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (twoje, etykieta: </translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>etykieta</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (twoje)</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Przypisy</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Przypisy:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>niezaakceptowane</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation type="unfinished"></translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debet</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Prowizja transakcji</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(niezaakceptowane)</translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Kwota netto</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debet:&lt;/b&gt; </translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Wiadomość</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Prowizja transakcyjna:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Komentarz</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Kwota netto:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID transakcji</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Wiadomość:</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Wygenerowane monety muszą zaczekać 120 bloków zanim będzie można je wydać. Kiedy wygenerowałeś ten blok, został on wyemitowany do sieci, aby dodać go do łańcucha bloków. Jeśli to się nie powiedzie nie zostanie on zaakceptowany i wygenerowanych monet nie będzie można wysyłać. Może się to czasami zdarzyć jeśli inny węzeł wygeneruje blok tuż przed tobą.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Komentarz:</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Informacje debugowania</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>ID transakcji:</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transakcja</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Wygenerowane monety muszą zaczekać 120 bloków zanim będzie można je wydać. Kiedy wygenerowałeś ten blok, został on wyemitowany do sieci, aby dodać go do łańcucha bloków. Jeśli to się nie powiedzie nie zostanie on zaakceptowany i wygenerowanych monet nie będzie można wysyłać. Może się to czasami zdarzyć jeśli inny węzeł wygeneruje blok tuż przed tobą.</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Kwota</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Od:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>prawda</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>fałsz</translation>
+ </message>
+ <message>
+ <location line="-211"/>
<source>, has not been successfully broadcast yet</source>
<translation>, nie został jeszcze pomyślnie wyemitowany</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
+ <location line="+35"/>
<source>unknown</source>
<translation>nieznany</translation>
</message>
@@ -1377,12 +1799,12 @@ Adres: %4
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Szczegóły transakcji</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Ten panel pokazuje szczegółowy opis transakcji</translation>
</message>
@@ -1390,67 +1812,27 @@ Adres: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>Offline (%1 potwierdzeń)</translation>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Data</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>Kwota</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adres</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Ten blok nie został odebrany przez jakikolwiek inny węzeł i prawdopodobnie nie zostanie zaakceptowany!</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
- <source>Mined</source>
- <translation>Wydobyto</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
- <source>(n/a)</source>
- <translation>(brak)</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
- <source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>Status transakcji. Najedź na pole, aby zobaczyć liczbę potwierdzeń.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
- <source>Date and time that the transaction was received.</source>
- <translation>Data i czas odebrania transakcji.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
- <source>Destination address of transaction.</source>
- <translation>Adres docelowy transakcji.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
- <source>Type of transaction.</source>
- <translation>Rodzaj transakcji.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Płatność do siebie</translation>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Kwota</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Otwórz dla %n bloku</numerusform>
@@ -1459,228 +1841,268 @@ Adres: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Otwórz do %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Offline (%1 potwierdzeń)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Niezatwierdzony (%1 z %2 potwierdzeń)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Zatwierdzony (%1 potwierdzeń)</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Data</translation>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Balans wydobycia będzie dostępny zaraz po tym, jak dojrzeje. Pozostał %n blok</numerusform>
+ <numerusform>Balans wydobycia będzie dostępny zaraz po tym, jak dojrzeje. Pozostało %n bloków</numerusform>
+ <numerusform>Balans wydobycia będzie dostępny zaraz po tym, jak dojrzeje. Pozostało %n bloków</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>Niezatwierdzony (%1 z %2 potwierdzeń)</translation>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Ten blok nie został odebrany przez jakikolwiek inny węzeł i prawdopodobnie nie zostanie zaakceptowany!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Wygenerowano ale nie zaakceptowano</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Otrzymane przez</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>Odebrano od</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Wysłano do</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Kwota usunięta z lub dodana do konta.</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Wydobyta kwota będzie dostępna za %n blok</numerusform>
- <numerusform>Wydobyta kwota będzie dostępna za %n bloków</numerusform>
- <numerusform>Wydobyta kwota będzie dostępna za %n bloki</numerusform>
- </translation>
- </message>
-</context>
-<context>
- <name>TransactionView</name>
- <message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Eksportuj Dane Transakcyjne</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Potwierdzony</translation>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Płatność do siebie</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Wydobyto</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>CSV (rozdzielany przecinkami)</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(brak)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Błąd podczas eksportowania</translation>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Status transakcji. Najedź na pole, aby zobaczyć liczbę potwierdzeń.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>do</translation>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Data i czas odebrania transakcji.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>W tym tygodniu</translation>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Rodzaj transakcji.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>W zeszłym miesiącu</translation>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Adres docelowy transakcji.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Otrzymane przez</translation>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Kwota usunięta z lub dodana do konta.</translation>
</message>
+</context>
+<context>
+ <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>Wszystko</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>Dzisiaj</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>W tym tygodniu</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>This month</source>
<translation>W tym miesiącu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>W zeszłym miesiącu</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>This year</source>
<translation>W tym roku</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>Zakres...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Otrzymane przez</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Sent to</source>
<translation>Wysłano do</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Do siebie</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Wydobyto</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Other</source>
<translation>Inne</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Wprowadź adres albo etykietę żeby wyszukać</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Min suma</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Kopiuj adres</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>Kopiuj etykietę</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation>Kopiuj kwotę</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation>Edytuj etykietę</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Pokaż szczegóły...</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Pokaż szczegóły transakcji</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Etykieta</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Eksportuj Dane Transakcyjne</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>CSV (rozdzielany przecinkami)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Potwierdzony</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>Data</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Etykieta</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Adres</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Amount</source>
<translation>Kwota</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Błąd zapisu do pliku %1.</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Adres</translation>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Błąd podczas eksportowania</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Błąd zapisu do pliku %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
<source>Range:</source>
<translation>Zakres:</translation>
</message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>do</translation>
+ </message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Wysyłanie...</translation>
</message>
@@ -1688,488 +2110,621 @@ Adres: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Wyślij informację/raport do debuggera.</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Wersja Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Wczytywanie zakończone</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Użycie:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Wskaż folder danych</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Wyślij polecenie do -server lub bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Wskaż czas oczekiwania bezczynności połączenia (w milisekundach)</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Lista poleceń</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Klucz prywatny serwera (domyślnie: server.pem)</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Uzyskaj pomoc do polecenia</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Zaktualizuj portfel do najnowszego formatu.</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Opcje:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Ta wiadomość pomocy</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Wskaż plik konfiguracyjny (domyślnie: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Przyjmuj połączenia JSON-RPC ze wskazanego adresu IP</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Wskaż plik pid (domyślnie: bitcoin.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Akceptuj linię poleceń oraz polecenia JSON-RPC</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generuj monety</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Wersja Bitcoin</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Nie generuj monet</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Wyślij polecenie do -server lub bitcoind</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Wskaż folder danych</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Lista poleceń</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Ustaw rozmiar w megabajtach cache-u bazy danych (domyślnie: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Wskaż plik konfiguracyjny (domyślnie: bitcoin.conf)</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Ustaw rozmiar w megabajtach logu dyskowego bazy danych (domyślnie: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Ładowanie indeksu bloku...</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Nasłuchuj połączeń na &lt;port&gt; (domyślnie: 8333 lub testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Błąd ładowania wallet.dat</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Utrzymuj maksymalnie &lt;n&gt; połączeń z peerami (domyślnie: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Wysyłanie...</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Podłącz się do węzła aby otrzymać adresy peerów i rozłącz</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Niewystarczające środki</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Podaj swój publiczny adres</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Generuj monety</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Skojarz z podanym adresem. Użyj formatu [host]:port dla IPv6 </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Nie generuj monet</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Próg po którym nastąpi rozłączenie nietrzymających się zasad peerów (domyślnie: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>Aby użyć opcji %s</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Czas w sekundach, przez jaki nietrzymający się zasad peerzy nie będą mogli ponownie się podłączyć (domyślnie: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Błąd</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Wystąpił błąd podczas ustawiania portu RPC %u w tryb nasłuchu: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Wczytywanie adresów...</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Wyślij informację/raport do konsoli zamiast do pliku debug.log.</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Odłącz bazę bloków i adresów. Zwiększa czas wyłączenia (domyślnie: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Portfel wymaga przepisania: zrestartuj Bitcoina żeby ukończyć</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Znajdź peery używające IRC (domyślnie: 0)</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Błąd: transakcja została odrzucona. Może się to zdarzyć, gdy monety z Twojego portfela zostały już wydane, na przykład gdy używałeś kopii wallet.dat i bitcoiny które tam wydałeś nie zostały jeszcze odjęte z portfela z którego teraz korzystasz.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>
-</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>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ę?</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Nasłuchuj połączeń JSON-RPC na &lt;port&gt; (domyślnie: 8332 or testnet: 18332)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Użycie:</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Akceptuj linię poleceń oraz polecenia JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Błąd: Tworzenie transakcji nie powiodło się.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Błąd: Zablokowany portfel, nie można utworzyć transakcji </translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Run in the background as a daemon and accept commands</source>
<translation>Uruchom w tle jako daemon i przyjmuj polecenia</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
+ <location line="+33"/>
<source>Use the test network</source>
<translation>Użyj sieci testowej</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Nazwa użytkownika dla połączeń JSON-RPC</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Akceptuj połączenia z zewnątrz (domyślnie: 1 jeśli nie ustawiono -proxy lub -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Nasłuchuj połączeń JSON-RPC na &lt;port&gt; (domyślnie: 8332)</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Użyj OpenSSL (https) do połączeń JSON-RPC</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Ostrzeżenie: -paytxfee jest bardzo duży. To jest prowizja za transakcje, którą płacisz, gdy wysyłasz monety.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Plik certyfikatu serwera (domyślnie: server.cert)</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Uwaga: Wyświetlone transakcje mogą nie być poprawne! Możliwe, że potrzebujesz aktualizacji bądź inne węzły jej potrzebują</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Błąd ładownia blkindex.dat</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Uwaga: Sprawdź czy data i czas na Twoim komputerze są prawidłowe! Jeśli nie to Bitcoin nie będzie działał prawidłowo.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Wczytywanie portfela...</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Opcje tworzenia bloku:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Opcje:</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Łącz tylko do wskazanego węzła</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Ponowne skanowanie...</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Odkryj własny adres IP (domyślnie: 1 kiedy w trybie nasłuchu i brak -externalip )</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Ile bloków sprawdzać przy uruchomieniu (domyślnie: 2500, 0 = wszystkie)</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Próba otwarcia jakiegokolwiek portu nie powiodła się. Użyj -listen=0 jeśli tego chcesz.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Błąd ładowania wallet.dat: Portfel wymaga nowszej wersji Bitcoin</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Nie można dezaktualizować portfela</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Nieprawidłowy adres -tor: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Hasło do połączeń JSON-RPC</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Maksymalny bufor odbioru na połączenie, &lt;n&gt;*1000 bajtów (domyślnie: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Ustaw rozmiar puli kluczy na &lt;n&gt; (domyślnie: 100)</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Maksymalny bufor wysyłu na połączenie, &lt;n&gt;*1000 bajtów (domyślnie: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Przeskanuj blok łańcuchów żeby znaleźć zaginione transakcje portfela</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Łącz z węzłami tylko w sieci &lt;net&gt; (IPv4, IPv6 lub Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Nie można zablokować folderu danych %s. Bitcoin prawdopodobnie już działa.</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Uruchom zminimalizowany</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Poprzedź informacje debugowania znacznikiem czasowym</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>Opcje SSL: (odwiedź Bitcoin Wiki w celu uzyskania instrukcji)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Błąd: Tworzenie transakcji nie powiodło się.</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Wybierz używaną wersje socks serwera proxy (4-5, domyślnie:5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Błąd: transakcja została odrzucona. Może się to zdarzyć, gdy monety z Twojego portfela zostały już wydane, na przykład gdy używałeś kopii wallet.dat i bitcoiny które tam wydałeś nie zostały jeszcze odjęte z portfela z którego teraz korzystasz.</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Wyślij informację/raport do konsoli zamiast do pliku debug.log.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Wyślij informację/raport do debuggera.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Wystąpił błąd podczas ustawiania portu RPC %u w tryb nasłuchu: %s</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Ustaw maksymalny rozmiar bloku w bajtach (domyślnie: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Musisz ustawić rpcpassword=&lt;hasło&gt; w pliku configuracyjnym:
-%s
-Jeżeli plik nie istnieje, utwórz go z uprawnieniami właściciela-tylko-do-odczytu.</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Ustaw minimalny rozmiar bloku w bajtach (domyślnie: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Pokazuj okno powitalne przy starcie (domyślnie: 1)</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Zezwól -addnode i -connect na łączenie się z serwerem DNS</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Wskaż czas oczekiwania bezczynności połączenia w milisekundach (domyślnie: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Nasłuchuj połączeń na &lt;port&gt; (domyślnie: 8333 lub testnet: 18333)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Używaj UPnP do mapowania portu nasłuchu (domyślnie: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Łącz tylko do wskazanego węzła</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Używaj UPnP do mapowania portu nasłuchu (domyślnie: 1 gdy nasłuchuje)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Próg po którym nastąpi rozłączenie nietrzymających się zasad peerów (domyślnie: 100)</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Nazwa użytkownika dla połączeń JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Czas w sekundach, przez jaki nietrzymający się zasad peerzy nie będą mogli ponownie się podłączyć (domyślnie: 86400)</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maksymalny bufor odbioru na połączenie, &lt;n&gt;*1000 bajtów (domyślnie: 10000)</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Uwaga: Mało miejsca na dysku!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Odłącz bazę bloków i adresów. Zwiększa czas wyłączenia (domyślnie: 0)</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Uwaga: Ta wersja jest przestarzała, aktualizacja wymagana!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Poprzedź informacje debugowania znacznikiem czasowym</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Hasło do połączeń JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Przyjmuj połączenia JSON-RPC ze wskazanego adresu IP</translation>
+ </message>
+ <message>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Wysyłaj polecenia do węzła działającego na &lt;ip&gt; (domyślnie: 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation>Wykonaj polecenie kiedy najlepszy blok ulegnie zmianie (%s w komendzie zastanie zastąpione przez hash bloku)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Zaktualizuj portfel do najnowszego formatu.</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Ustaw rozmiar puli kluczy na &lt;n&gt; (domyślnie: 100)</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Przeskanuj blok łańcuchów żeby znaleźć zaginione transakcje portfela</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Ile bloków sprawdzać przy uruchomieniu (domyślnie: 2500, 0 = wszystkie)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation>Głębokość weryfikacji bloku (0-6, domyślnie: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-opcje SSL: (sprawdź Bitcoin Wiki dla instrukcje konfiguracji SSL)</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Importuj bloki z zewnętrznego pliku blk000?.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Błąd ładowania addr.dat</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Użyj OpenSSL (https) do połączeń JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Inicjalizacja puli kluczy nieudana</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Plik certyfikatu serwera (domyślnie: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Nie można zapisać domyślnego adresu</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Klucz prywatny serwera (domyślnie: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Nieprawidłowy adres -proxy</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Aceptowalne szyfry (domyślnie: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Nieprawidłowa kwota dla -paytxfee=&lt;amount&gt;</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Ta wiadomość pomocy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Ostrzeżenie: -paytxfee jest bardzo duży. To jest prowizja za transakcje, którą płacisz, gdy wysyłasz monety.</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Nie można zablokować folderu danych %s. Bitcoin prawdopodobnie już działa.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Błąd: CreateThread(StartNode) nie powiodło się</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Nie można przywiązać portu %d na tym komputerze. Bitcoin prawdopodobnie już działa.</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Nie można przywiązać %s na tym komputerze (bind returned error %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Ostrzeżenie: Proszę sprawdzić poprawność czasu i daty na tym komputerze. Jeśli czas jest zły Bitcoin może nie działać prawidłowo.</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Łączy przez proxy socks</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Dodaj węzeł do łączenia się and attempt to keep the connection open</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Zezwól -addnode, -seednode i -connect na łączenie się z serwerem DNS</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Wczytywanie adresów...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation>Akceptuj połączenia z zewnątrz (domyślnie: 1)</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Błąd ładownia blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Ustaw Język, na przykład &quot;pl_PL&quot; (domyślnie: systemowy)</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Błąd ładowania wallet.dat: Uszkodzony portfel</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Błąd ładowania wallet.dat: Portfel wymaga nowszej wersji Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Używaj UPnP do mapowania portu nasłuchu (domyślnie: 1)</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Portfel wymaga przepisania: zrestartuj Bitcoina żeby ukończyć</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Używaj UPnP do mapowania portu nasłuchu (domyślnie: 0)</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Błąd ładowania wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Uwaga: Mało miejsca na dysku</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Nieprawidłowy adres -proxy: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Łączy przez proxy socks4</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Nieznana sieć w -onlynet: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maksymalny bufor wysyłu na połączenie, &lt;n&gt;*1000 bajtów (domyślnie: 10000)</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Nieznana wersja proxy w -socks: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Błąd ładowania wallet.dat: Uszkodzony portfel</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Nie można uzyskać adresu -bind: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Nie można uzyskać adresu -externalip: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Nieprawidłowa kwota dla -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Błąd: nie można utworzyć węzła</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Wysyłanie...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
+ <location line="-24"/>
<source>Invalid amount</source>
<translation>Nieprawidłowa kwota</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Uzyskaj pomoc do polecenia</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Niewystarczające środki</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Aceptowalne szyfry (domyślnie: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Ładowanie indeksu bloku...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Wskaż plik pid (domyślnie: bitcoin.pid)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Dodaj węzeł do łączenia się and attempt to keep the connection open</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>Ustaw rozmiar w megabajtach cache-u bazy danych (domyślnie: 25)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Nie można przywiązać %s na tym komputerze. Bitcoin prawdopodobnie już działa.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Ustaw rozmiar w megabajtach logu dyskowego bazy danych (domyślnie: 100)</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Znajdź peery używające IRC (domyślnie: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Wysyłaj polecenia do węzła działającego na &lt;ip&gt; (domyślnie: 127.0.0.1)</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Utrzymuj maksymalnie &lt;n&gt; połączeń z peerami (domyślnie: 125)</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Wczytywanie portfela...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished">Użycie</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Nie można dezaktualizować portfela</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Inicjalizacja puli kluczy nieudana</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Nie można zapisać domyślnego adresu</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Ponowne skanowanie...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Wczytywanie zakończone</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Aby użyć opcji %s</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Błąd</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Musisz ustawić rpcpassword=&lt;hasło&gt; w pliku configuracyjnym:
+%s
+Jeżeli plik nie istnieje, utwórz go z uprawnieniami właściciela-tylko-do-odczytu.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts
index 5fcf17d0c3..8043f4a300 100644
--- a/src/qt/locale/bitcoin_pt_BR.ts
+++ b/src/qt/locale/bitcoin_pt_BR.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Sobre o Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; versão</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,120 +33,120 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Catálogo de endereços</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Clique duas vezes para editar o endereço ou o etiqueta</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Criar um novo endereço</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Error exporting</source>
- <translation>Erro ao exportar</translation>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Copie o endereço selecionado para a área de transferência do sistema</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Novo endereço ...</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Novo endereço</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
- <translation>Copie o endereço selecionado para a área de transferência do sistema</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copie para a área de transferência do sistema</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Mostrar &amp;QR Code</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>&amp;Assinar Mensagem</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Excluir o endereço selecionado da lista. Apenas endereços de envio podem ser excluídos.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>&amp;Delete</source>
<translation>&amp;Excluir</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Could not write to file %1.</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Arquivo separado por vírgulas (*. csv)</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Editar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Exportação de dados do Catálogo de Endereços</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Copy address</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Copy label</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Arquivo separado por vírgulas (*. csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation type="unfinished">Editar</translation>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Erro ao exportar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Excluir</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Could not write to file %1.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Address</source>
- <translation>Endereço</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Rótulo</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Endereço</translation>
+ </message>
+ <message>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(Sem rótulo)</translation>
</message>
@@ -150,442 +154,448 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Digite a frase de segurança</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TextoDoRótulo</translation>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Nova frase de segurança</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Esta operação precisa de sua frase de segurança para desbloquear a carteira.</translation>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Repita a nova frase de segurança</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Digite a nova frase de seguraça da sua carteira. &lt;br/&gt; Por favor, use uma frase de &lt;b&gt;10 ou mais caracteres aleatórios,&lt;/b&gt; ou &lt;b&gt;oito ou mais palavras.&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Digite a frase de segurança antiga e nova para a carteira.</translation>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Criptografar carteira</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Diálogo</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Esta operação precisa de sua frase de segurança para desbloquear a carteira.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>O Bitcoin irá fechar agora para finalizar o processo de encriptação. Lembre-se de que encriptar sua carteira não protege totalmente suas bitcoins de serem roubadas por malwares que tenham infectado o seu computador.</translation>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Desbloquear carteira</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>Nova frase de segurança</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Esta operação precisa de sua frase de segurança para descriptografar a carteira.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
- <source>Unlock wallet</source>
- <translation>Desbloquear carteira</translation>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Descriptografar carteira</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>A criptografia da carteira falhou</translation>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Alterar frase de segurança</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>A criptografia da carteira falhou devido a um erro interno. Sua carteira não estava criptografada.</translation>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Digite a frase de segurança antiga e nova para a carteira.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation>Repita a nova frase de segurança</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Confirmar criptografia da carteira</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>A frase de segurança digitada para a descriptografia da carteira estava incorreta.</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Aviso: Se você criptografar sua carteira e perder sua senha, você vai &lt;b&gt;perder todos os seus BITCOINS!&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Carteira criptografada</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Tem certeza de que deseja criptografar sua carteira?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>A descriptografia da carteira falhou</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>A abertura da carteira falhou</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
- <source>Decrypt wallet</source>
- <translation>Descriptografar carteira</translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Carteira criptografada</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
- <source>Change passphrase</source>
- <translation>Alterar frase de segurança</translation>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>O Bitcoin irá fechar agora para finalizar o processo de encriptação. Lembre-se de que encriptar sua carteira não protege totalmente suas bitcoins de serem roubadas por malwares que tenham infectado o seu computador.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Confirmar criptografia da carteira</translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>A criptografia da carteira falhou</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation type="unfinished"></translation>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>A criptografia da carteira falhou devido a um erro interno. Sua carteira não estava criptografada.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>A frase de segurança fornecida não confere.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>A frase de segurança da carteira foi alterada com êxito.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>A abertura da carteira falhou</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Criptografar carteira</translation>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>A frase de segurança digitada para a descriptografia da carteira estava incorreta.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Esta operação precisa de sua frase de segurança para descriptografar a carteira.</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>A descriptografia da carteira falhou</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>AVISO: Se você criptografar sua carteira e perder sua senha, você vai &lt;b&gt;perder todos os seus BITCOINS!&lt;/b&gt; Tem certeza de que deseja criptografar sua carteira?</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>A frase de segurança da carteira foi alterada com êxito.</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Editar a lista de endereços e rótulos</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>&amp;Assinar Mensagem...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>&amp;Catálogo de endereços</translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Sincronizando com a rede...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Sobre &amp;Qt</translation>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Visão geral</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Arquivo</translation>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Mostrar visão geral da carteira</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>E&amp;xit</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Transações</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n conexão ativa na rede Bitcoin</numerusform>
- <numerusform>%n conexões ativas na rede Bitcoin</numerusform>
- </translation>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Navegar pelo histórico de transações</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Barra de ferramentas</translation>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Catálogo de endereços</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Exportar...</translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Editar a lista de endereços e rótulos</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Criptografar ou decriptogravar carteira</translation>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Receber moedas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Mostrar a lista de endereços para receber pagamentos</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Sair da aplicação</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Enviar moedas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Modificar opções de configuração para bitcoin</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>E&amp;xit</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Mostrar informações sobre o Qt</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Sair da aplicação</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Enviar moedas</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Mostrar informação sobre Bitcoin</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
- <translation>
- <numerusform>%n dia atrás</numerusform>
- <numerusform>%n dias atrás</numerusform>
- </translation>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Sobre &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Visão geral</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Mostrar informações sobre o Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Mostrar visão geral da carteira</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Opções...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;Receber moedas</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Criptografar Carteira...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Carregados %1 blocos do histórico de transações.</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup Carteira...</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>%n segundo atrás</numerusform>
- <numerusform>%n segundos atrás</numerusform>
- </translation>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Mudar frase de segurança...</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
<translation>
- <numerusform>%n minutos atrás</numerusform>
- <numerusform>%n minutos atrás</numerusform>
+ <numerusform>~%n bloco restante</numerusform>
+ <numerusform>~%n blocos restantes</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Mudar a frase de segurança utilizada na criptografia da carteira</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Carregados %1 de %2 blocos do histórico de transações (%3% done).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Barra de ações</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Exportar...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Enviar moedas para um endereço bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Transações</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modificar opções de configuração para bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Exibir ou ocultar a janela Bitcoin</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Exportar os dados na aba atual para um arquivo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Mostrar informação sobre Bitcoin</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Criptografar ou decriptogravar carteira</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Ajuda</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Fazer cópia de segurança da carteira para uma outra localização</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Exportar os dados na aba atual para um arquivo</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Mudar a frase de segurança utilizada na criptografia da carteira</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Opções...</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Navegar pelo histórico de transações</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Cliente Bitcoin</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Sincronizando com a rede...</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Enviar moedas para um endereço bitcoin</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Carteira</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Carteira Bitcoin</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Sobre o Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>&amp;Assinar Mensagem</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Exibir/Ocultar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation type="unfinished"></translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Arquivo</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;About %1</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>E configurações</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Exibir/Ocultar &amp;Bitcoin</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Ajuda</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Criptografar Carteira</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Barra de ferramentas</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">&amp;Backup Carteira</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Barra de ações</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Fazer cópia de segurança da carteira para uma outra localização</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Cliente Bitcoin</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
<translation>
- <numerusform></numerusform>
- <numerusform></numerusform>
+ <numerusform>%n conexão ativa na rede Bitcoin</numerusform>
+ <numerusform>%n conexões ativas na rede Bitcoin</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Carregados %1 de %2 blocos do histórico de transações (%3% done).</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Carregados %1 blocos do histórico de transações.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>%n segundo atrás</numerusform>
+ <numerusform>%n segundos atrás</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n minutos atrás</numerusform>
+ <numerusform>%n minutos atrás</numerusform>
+ </translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n hora atrás</numerusform>
<numerusform>%n horas atrás</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Fazer cópia de segurança da Carteira</translation>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n dia atrás</numerusform>
+ <numerusform>%n dias atrás</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Dados da Carteira (*.dat)</translation>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Atualizado</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Cópia de segurança Falhou</translation>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Recuperando o atraso ...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Houve um erro ao tentar salvar os dados da carteira para uma nova localização.</translation>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Last received block was generated %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Mudar frase de segurança</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>E configurações</translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Sent transaction</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Incoming transaction</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -597,773 +607,1190 @@ Tipo: %3
Endereço: %4</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>Atualizado</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Fazer cópia de segurança da Carteira</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
- <source>Catching up...</source>
- <translation>Recuperando o atraso ...</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Dados da Carteira (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>Last received block was generated %1.</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Cópia de segurança Falhou</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Sending...</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Houve um erro ao tentar salvar os dados da carteira para uma nova localização.</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Unit to show amounts in: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Choose the default subdivision unit to show in the interface, and when sending coins</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Edit Address</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Label</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>The label associated with this address book entry</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Address</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>The address associated with this address book entry. This can only be modified for sending addresses.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>New receiving address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>New sending address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Edit receiving address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Edit sending address</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>The entered address &quot;%1&quot; is already in the address book.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Could not unlock wallet.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>New key generation failed.</translation>
</message>
- <message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>The entered address &quot;%1&quot; is not a valid bitcoin address.</translation>
- </message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Start Bitcoin on window system startup</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Automatically start Bitcoin after the computer is turned on</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimize to the tray instead of the taskbar</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Usage:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Show only a tray icon after minimizing the window</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>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.</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Map port using &amp;UPnP</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port: </translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Start minimized
+</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Port of the proxy (e.g. 1234)</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Options</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
+ <location line="+6"/>
<source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
<translation>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.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
+ <location line="+15"/>
<source>Pay transaction &amp;fee</source>
<translation>Pay transaction &amp;fee</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimize on close</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Connect through SOCKS4 proxy:</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Map port using &amp;UPnP</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP: </translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
+ <location line="+19"/>
<source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation>IP address of the proxy (e.g. 127.0.0.1)</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Assinar Mensagem</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Escolher endereço </translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Entre a mensagem que você quer assinar aqui</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished">The entered address &quot;%1&quot; is not a valid bitcoin address.</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimize to the tray instead of the taskbar</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimize on close</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Display</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Você pode assinar mensagens com seus endereços para provar que você é o dono deles. Seja cuidadoso para não assinar algo vago, pois ataques de pishing podem tentar te enganar para dar sua assinatura de identidade para eles. Apenas assine afirmações completamente detalhadas com as quais você concorda.</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Paste address from clipboard</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+71"/>
+ <source>&amp;OK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copie para a área de transferência do sistema</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Main</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Display</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Options</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Form</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Carteira</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Recent transactions&lt;/b&gt;</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Balance:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Number of transactions:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Balance:</translation>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Unconfirmed:</translation>
+ </message>
+ <message>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Carteira</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Unconfirmed:</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Recent transactions&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Your current balance</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Total number of transactions in wallet</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>Imagens PNG (*.png)</translation>
- </message>
- <message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished"></translation>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Requisitar Pagamento</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Quantia:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Message:</translation>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Etiqueta:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation></translation>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Message:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;Salvar como...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>URI resultante muito longa. Tente reduzir o texto do rótulo ou da mensagem.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Diálogo</translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>Imagens PNG (*.png)</translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Requisitar Pagamento</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Etiqueta:</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Send Coins</translation>
+ </message>
+ <message>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Send to multiple recipients at once</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Remover todos os campos da transação</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Balance:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Confirm the send action</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Confirm send coins</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Are you sure you want to send %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> and </translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>The amount to pay must be larger than 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Confirm send coins</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
- <source>Send Coins</source>
- <translation>Send Coins</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Add recipient...</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Clear all</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> and </translation>
- </message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Form</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
- <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>A&amp;mount:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Pay &amp;To:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Enter a label for this address to add it to your address book</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Label:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Choose address from address book</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Paste address from clipboard</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>A&amp;mount:</translation>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Remove this recipient</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>Pay &amp;To:</translation>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
- <source>Choose address from address book</source>
- <translation>Choose address from address book</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Assinar Mensagem</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Você pode assinar mensagens com seus endereços para provar que você é o dono deles. Seja cuidadoso para não assinar algo vago, pois ataques de pishing podem tentar te enganar para dar sua assinatura de identidade para eles. Apenas assine afirmações completamente detalhadas com as quais você concorda.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="-193"/>
<source>Paste address from clipboard</source>
<translation>Paste address from clipboard</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
- <source>Remove this recipient</source>
- <translation>Remove this recipient</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Entre a mensagem que você quer assinar aqui</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Open until %1</translation>
</message>
- <message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Open for %1 blocks</translation>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Open for %n block</numerusform>
+ <numerusform>Open for %n blocks</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/offline?</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/unconfirmed</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 confirmations</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>unknown</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Status:&lt;/b&gt; </translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Data</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, broadcast through %1 node</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, broadcast through %1 nodes</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Gerados</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Date:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;From:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;To:&lt;/b&gt; </translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (yours, label: </translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Crédito</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (yours)</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Credit:&lt;/b&gt; </translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Débito</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 matures in %2 more blocks)</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(not accepted)</translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debit:&lt;/b&gt; </translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Transaction fee:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Net amount:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Comment:</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="+7"/>
+ <source>Debug information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Message:</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Amount</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
<source>, has not been successfully broadcast yet</source>
<translation>, has not been successfully broadcast yet</translation>
</message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>unknown</translation>
+ </message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Transaction details</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>This pane shows a detailed description of the transaction</translation>
</message>
@@ -1371,22 +1798,27 @@ Endereço: %4</translation>
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>Date</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>Type</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Address</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation>Amount</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Open for %n block</numerusform>
@@ -1394,788 +1826,909 @@ Endereço: %4</translation>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Open until %1</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Offline (%1 confirmations)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Unconfirmed (%1 of %2 confirmations)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Confirmed (%1 confirmations)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>This block was not received by any other nodes and will probably not be accepted!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Generated but not accepted</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Received with</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Recebido de</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Sent to</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Payment to yourself</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Mined</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Transaction status. Hover over this field to show number of confirmations.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Date and time that the transaction was received.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Type of transaction.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Destination address of transaction.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Amount removed from or added to balance.</translation>
</message>
+</context>
+<context>
+ <name>TransactionView</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Address</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>All</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>Open until %1</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Today</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Mined balance will be available in %n more block</numerusform>
- <numerusform>Mined balance will be available in %n more blocks</numerusform>
- </translation>
+ <message>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>This week</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Recebido de</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>This month</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Last month</translation>
</message>
-</context>
-<context>
- <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>This year</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Range...</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Received with</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Sent to</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>To yourself</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Mined</source>
<translation>Mined</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation>Other</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Enter address or label to search</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Min amount</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Copy address</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>Copy label</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Copiar quantia</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Edit label</source>
<translation>Edit label</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Confirmed</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>Export Transaction Data</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Comma separated file (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Confirmed</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Date</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Type</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Label</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Address</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Amount</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>ID</source>
<translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Error exporting</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Could not write to file %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
<source>Range:</source>
<translation>Range:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Show details...</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>to</translation>
</message>
+</context>
+<context>
+ <name>WalletModel</name>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Copiar quantia</translation>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>Sending...</translation>
</message>
+</context>
+<context>
+ <name>bitcoin-core</name>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>All</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin version</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>This week</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Usage:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>This month</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Send command to -server or bitcoind
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>Last month</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>List commands
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>This year</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Get help for a command
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Range...</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Options:
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Received with</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Specify configuration file (default: bitcoin.conf)
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Sent to</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Specify pid file (default: bitcoind.pid)
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>To yourself</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generate coins
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Label</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Don&apos;t generate coins
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Address</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Specify data directory
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Type</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Definir o tamanho do cache do banco de dados em megabytes (padrão: 25)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Amount</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Could not write to file %1.</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Procurar por conexões em &lt;port&gt; (padrão: 8333 ou testnet:18333)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Date</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Manter no máximo &lt;n&gt; conexões aos peers (padrão: 125)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>to</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Today</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
- <source>Sending...</source>
- <translation>Sending...</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Usage:</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Limite para desconectar peers mal comportados (padrão: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Número de segundos para impedir que peers mal comportados reconectem (padrão: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Loading addresses...</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Loading block index...</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Rescanning...</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Manter no máximo &lt;n&gt; conexões aos peers (padrão: 125)</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Invalid amount for -paytxfee=&lt;amount&gt;</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Erro ao carregar wallet.dat</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Send command to -server or bitcoind
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Accept command line and JSON-RPC commands
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>List commands
-</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Specify configuration file (default: bitcoin.conf)
-</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Get help for a command
-</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Erro: Carteira bloqueada, incapaz de criar transação </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Specify connection timeout (in milliseconds)
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Run in the background as a daemon and accept commands
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Specify pid file (default: bitcoind.pid)
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Use the test network
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Options:
-</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Generate coins
-</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Don&apos;t generate coins
-</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Specify data directory
-</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>Definir o tamanho do cache do banco de dados em megabytes (padrão: 25)</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Procurar por conexões em &lt;port&gt; (padrão: 8333 ou testnet:18333)</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Pré anexar a saída de debug com estampa de tempo</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Mandar informação de trace/debug para o console em vez de para o arquivo debug.log</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Mandar informação de trace/debug para o debugger</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)
-</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Mandar informação de trace/debug para o debugger</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
-</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Run in the background as a daemon and accept commands
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Username for JSON-RPC connections
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Allow DNS lookups for addnode and connect
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Password for JSON-RPC connections
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Pré anexar a saída de debug com estampa de tempo</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Allow JSON-RPC connections from specified IP address
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Atualizar carteira para o formato mais recente</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Quantos blocos verificar ao iniciar (padrão: 2500, 0 = todos)</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Atualizar carteira para o formato mais recente</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Connect through socks4 proxy
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Set key pool size to &lt;n&gt; (default: 100)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Server private key (default: server.pem)
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Rescan the block chain for missing wallet transactions
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Connect only to the specified node
-</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Quantos blocos verificar ao iniciar (padrão: 2500, 0 = todos)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>This help message
-</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)
-</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Loading wallet...</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Use OpenSSL (https) for JSON-RPC connections
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Invalid -proxy address</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Server certificate file (default: server.cert)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Error: CreateThread(StartNode) failed</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Server private key (default: server.pem)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Unable to bind to port %d on this computer. Bitcoin is probably already running.</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoin version</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>This help message
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Insufficient funds</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation type="unfinished"></translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Erro ao carregar addr.dat</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Loading addresses...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
+ <location line="-26"/>
<source>Error loading blkindex.dat</source>
<translation>Erro ao carregar blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation>Erro ao carregar wallet.dat: Carteira corrompida</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation>Erro ao carregar wallet.dat: Carteira requer uma versão mais nova do Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
+ <location line="+73"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation>A Carteira precisou ser reescrita: reinicie o Bitcoin para completar</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Erro ao carregar wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Done loading</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Enviando...</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Start minimized
-</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Limite para desconectar peers mal comportados (padrão: 100)</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Número de segundos para impedir que peers mal comportados reconectem (padrão: 86400)</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Enviando...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Accept command line and JSON-RPC commands
-</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Allow JSON-RPC connections from specified IP address
-</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Insufficient funds</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Password for JSON-RPC connections
-</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Loading block index...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Use the test network
-</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Mandar informação de trace/debug para o console em vez de para o arquivo debug.log</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Username for JSON-RPC connections
-</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
+ <location line="-2"/>
<source>Fee per KB to add to transactions you send</source>
<translation>Fee per KB to add to transactions you send</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Rescan the block chain for missing wallet transactions
-</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Loading wallet...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Server certificate file (default: server.cert)
-</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Set key pool size to &lt;n&gt; (default: 100)
-</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Use OpenSSL (https) for JSON-RPC connections
-</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Rescanning...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Done loading</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_pt_PT.ts b/src/qt/locale/bitcoin_pt_PT.ts
new file mode 100644
index 0000000000..488c7a22be
--- /dev/null
+++ b/src/qt/locale/bitcoin_pt_PT.ts
@@ -0,0 +1,2724 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="pt_PT">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+ <name>AboutDialog</name>
+ <message>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
+ <source>About Bitcoin</source>
+ <translation>Sobre o Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
+ <translation>&lt;b&gt;Bitcoin&lt;/b&gt; versão</translation>
+ </message>
+ <message>
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Os programadores Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
+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.</source>
+ <translation>
+Este é um programa experimental.
+
+Distribuído sobre uma licença de software MIT/X11, por favor verifique o ficheiro anexo license.txt ou http://www.opensource.org/licenses/mit-license.php.
+
+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.</translation>
+ </message>
+</context>
+<context>
+ <name>AddressBookPage</name>
+ <message>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
+ <source>Address Book</source>
+ <translation>Livro de endereços</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Double-click to edit address or label</source>
+ <translation>Clique duas vezes para editar o endereço ou o rótulo</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Create a new address</source>
+ <translation>Criar um novo endereço</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Copie o endereço selecionado para a área de transferência</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Novo Endereço</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Copiar Endereço</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>Mostrar &amp;Código QR</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Assine uma mensagem para provar que é dono de um endereço Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>Assinar &amp;Mensagem</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Apagar o endereço selecionado da lista</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Verifique a mensagem para assegurar que foi assinada com o endereço Bitcoin especificado</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verificar Mensagem</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Eliminar</translation>
+ </message>
+ <message>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Copiar &amp;Rótulo</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Editar</translation>
+ </message>
+ <message>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Exportar de dados do Livro de Endereços</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Ficheiro separado por vírgulas (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Erro ao exportar</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Could not write to file %1.</translation>
+ </message>
+</context>
+<context>
+ <name>AddressTableModel</name>
+ <message>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
+ <source>Label</source>
+ <translation>Rótulo</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Endereço</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>(no label)</source>
+ <translation>(Sem rótulo)</translation>
+ </message>
+</context>
+<context>
+ <name>AskPassphraseDialog</name>
+ <message>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Diálogo de Frase-Passe</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Enter passphrase</source>
+ <translation>Escreva a frase de segurança</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>Nova frase de segurança</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Repita a nova frase de segurança</translation>
+ </message>
+ <message>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Escreva a nova frase de seguraça da sua carteira. &lt;br/&gt; Por favor, use uma frase de &lt;b&gt;10 ou mais caracteres aleatórios,&lt;/b&gt; ou &lt;b&gt;oito ou mais palavras.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Encriptar carteira</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>A sua frase de segurança é necessária para desbloquear a carteira.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Unlock wallet</source>
+ <translation>Desbloquear carteira</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>A sua frase de segurança é necessária para desencriptar a carteira.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Desencriptar carteira</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Alterar frase de segurança</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Escreva a frase de segurança antiga seguida da nova para a carteira.</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Confirmar encriptação da carteira</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Atenção: Se encriptar a carteira e perder a sua senha irá &lt;b&gt;PERDER TODOS OS SEUS BITCOINS&lt;/b&gt;!</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Tem a certeza que deseja encriptar a carteira?</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>IMPORTANTE: Qualquer cópia de segurança anterior da carteira deverá ser substituída com o novo, actualmente encriptado, ficheiro de carteira. Por razões de segurança, cópias de segurança não encriptadas efectuadas anteriormente do ficheiro da carteira tornar-se-ão inúteis assim que começar a usar a nova carteira encriptada.</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Atenção: A tecla Caps Lock está activa!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Carteira encriptada</translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>O cliente Bitcoin irá agora ser fechado para terminar o processo de encriptação. Recorde que a encriptação da sua carteira não protegerá totalmente os seus bitcoins de serem roubados por programas maliciosos que infectem o seu computador.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>A encriptação da carteira falhou</translation>
+ </message>
+ <message>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>A encriptação da carteira falhou devido a um erro interno. A carteira não foi encriptada.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>As frases de segurança fornecidas não coincidem.</translation>
+ </message>
+ <message>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>O desbloqueio da carteira falhou</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>A frase de segurança introduzida para a desencriptação da carteira estava incorreta.</translation>
+ </message>
+ <message>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>A desencriptação da carteira falhou</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>A frase de segurança da carteira foi alterada com êxito.</translation>
+ </message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
+ <message>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Assinar &amp;mensagem...</translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Sincronizando com a rede...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Visão geral</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Mostrar visão geral da carteira</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Transações</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Navegar pelo histórico de transações</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Livro de endereços</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Editar a lista de endereços e rótulos</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Receber moedas</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Mostrar a lista de endereços para receber pagamentos</translation>
+ </message>
+ <message>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Enviar moedas</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>S&amp;air</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Sair da aplicação</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Mostrar informação sobre Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Sobre &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Mostrar informação sobre Qt</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Opções...</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Encriptar Carteira...</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Guardar Carteira...</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Mudar Palavra-passe...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n bloco restante</numerusform>
+ <numerusform>~%n blocos restantes</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Recuperados %1 de %2 blocos do histórico de transações (%3% completo)</translation>
+ </message>
+ <message>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Exportar...</translation>
+ </message>
+ <message>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Enviar moedas para um endereço bitcoin</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modificar opções de configuração para bitcoin</translation>
+ </message>
+ <message>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Exportar os dados no separador actual para um ficheiro</translation>
+ </message>
+ <message>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Encriptar ou desencriptar carteira</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Faça uma cópia de segurança da carteira para outra localização</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Mudar a frase de segurança utilizada na encriptação da carteira</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Janela de depuração</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Abrir consola de diagnóstico e depuração</translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Verificar mensagem...</translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Carteira</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Sobre o Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Mostrar / Ocultar</translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Ficheiro</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Configurações</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Ajuda</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Barra de separadores</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Barra de ações</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Cliente Bitcoin</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n ligação ativa à rede Bitcoin</numerusform>
+ <numerusform>%n ligações ativas à rede Bitcoin</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Recuperados %1 blocos do histórico de transações.</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>%n segundo</numerusform>
+ <numerusform>%n segundos</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n minutos</numerusform>
+ <numerusform>%n minutos</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>%n hora</numerusform>
+ <numerusform>%n horas</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n dia</numerusform>
+ <numerusform>%n dias</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Atualizado</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Recuperando...</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Último bloco recebido foi gerado há %1.</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>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?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Confirme a taxa de transação</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Transação enviada</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Transação recebida</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>Data: %1
+Quantidade: %2
+Tipo: %3
+Endereço: %4</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>Manuseamento URI</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI não foi lido correctamente! Isto pode ser causado por um endereço Bitcoin inválido ou por parâmetros URI malformados.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>A carteira está &lt;b&gt;encriptada&lt;/b&gt; e atualmente &lt;b&gt;desbloqueada&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>A carteira está &lt;b&gt;encriptada&lt;/b&gt; e atualmente &lt;b&gt;bloqueada&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Cópia de Segurança da Carteira</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Dados da Carteira (*.dat)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Cópia de Segurança Falhada</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Ocorreu um erro ao tentar guardar os dados da carteira na nova localização.</translation>
+ </message>
+ <message>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>Ocorreu um erro fatal. O Bitcoin não pode continuar com segurança e irá fechar.</translation>
+ </message>
+</context>
+<context>
+ <name>ClientModel</name>
+ <message>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Alerta da Rede</translation>
+ </message>
+</context>
+<context>
+ <name>EditAddressDialog</name>
+ <message>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
+ <source>Edit Address</source>
+ <translation>Editar Endereço</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Rótulo</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The label associated with this address book entry</source>
+ <translation>O rótulo a ser associado com esta entrada do livro de endereços</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Endereço</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <translation>O endereço associado com esta entrada do livro de endereços. Apenas poderá ser modificado para endereços de saída.</translation>
+ </message>
+ <message>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>Novo endereço de entrada</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation>Novo endereço de saída</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Edit receiving address</source>
+ <translation>&amp;Ajuda</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Editar endereço de saída</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>O endereço introduzido &quot;%1&quot; já se encontra no livro de endereços.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>O endereço introduzido &quot;%1&quot; não é um endereço bitcoin válido.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Impossível desbloquear carteira.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation>Falha ao gerar nova chave.</translation>
+ </message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
+ <message>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
+ </message>
+ <message>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versão</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Utilização:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>opções da linha de comandos</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>Opções de UI</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Definir linguagem, por exemplo &quot;pt_PT&quot; (por defeito: linguagem do sistema)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Iniciar minimizado</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Mostrar animação ao iniciar (por defeito: 1)</translation>
+ </message>
+</context>
+<context>
+ <name>OptionsDialog</name>
+ <message>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Opções</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Principal</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Pagar &amp;taxa de transação</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Começar o Bitcoin automaticamente ao iniciar sessão no sistema.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Começar o Bitcoin ao iniciar o sistema</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Destaque as bases de dados de blocos e endereços ao fechar. Isto significa que elas poderão ser movidas para outra pasta de dados, mas tornará a operação de fechar mais lenta. A carteira é sempre destacada.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Separar bases de dados ao desligar</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Rede</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Abrir a porta do cliente bitcoin automaticamente no seu router. Isto penas funciona se o seu router suportar UPnP e este se encontrar ligado.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Mapear porta usando &amp;UPnP</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Ligar à rede Bitcoin através de um proxy SOCKS (p.ex. quando ligar através de Tor).</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Ligar através de proxy SOCKS:</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>IP do &amp;proxy:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Endereço IP do proxy (p.ex. 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Porta:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Porta do proxy (p.ex. 9050)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>Versão &amp;SOCKS:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Versão do proxy SOCKS (p.ex. 5)</translation>
+ </message>
+ <message>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Janela</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Apenas mostrar o ícone da bandeja após minimizar a janela.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimizar para a bandeja e não para a barra de ferramentas</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimize ao invés de sair da aplicação quando a janela é fechada. Com esta opção selecionada, a aplicação apenas será encerrada quando escolher Sair da aplicação no menú.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimizar ao fechar</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Janela</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>Linguagem da interface de &amp;utilizador:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>A linguagem da interface do utilizador pode ser definida aqui. Esta definição entrará em efeito após reiniciar o Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Unidade a usar em quantias:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Escolha a subdivisão unitária a ser mostrada por defeito na aplicação e ao enviar moedas.</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Se mostrar, ou não, os endereços Bitcoin na lista de transações.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Mostrar endereços na lista de transações</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Cancelar</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Aplicar</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>padrão</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Aviso</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Esta opção entrará em efeito após reiniciar o Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>O endereço de proxy introduzido é inválido. </translation>
+ </message>
+</context>
+<context>
+ <name>OverviewPage</name>
+ <message>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Formulário</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Saldo:</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Número de transações:</translation>
+ </message>
+ <message>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Não confirmado:</translation>
+ </message>
+ <message>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Carteira</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Imaturo:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>O saldo minado ainda não maturou</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Transações recentes&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>O seu saldo actual</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Total de transações ainda não confirmadas, e que não estão contabilizadas ainda no seu saldo actual</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Número total de transações na carteira</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>fora de sincronia</translation>
+ </message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
+ <message>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>Diálogo de Código QR</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Requisitar Pagamento</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Quantia:</translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Rótulo:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Message:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Salvar Como...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Erro ao codificar URI em Código QR</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>A quantia introduzida é inválida, por favor verifique.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>URI resultante muito longo. Tente reduzir o texto do rótulo / mensagem.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Guardar Código QR</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>Imagens PNG (*.png)</translation>
+ </message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Nome do Cliente</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>N/D</translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Versão do Cliente</translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Informação</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Usar versão OpenSSL</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Tempo de início</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Rede</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Número de ligações</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>Em rede de testes</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Cadeia de blocos</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Número actual de blocos</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Total estimado de blocos</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Tempo do último bloco</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Abrir</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Opções de linha de comandos</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Mostrar a mensagem de ajuda do Bitcoin-Qt para obter uma lista com possíveis opções a usar na linha de comandos.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Mostrar</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Consola</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Data de construção</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Janela de depuração</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Núcleo Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Ficheiro de registo de depuração</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Abrir o ficheiro de registo de depuração da pasta de dados actual. Isto pode demorar alguns segundos para ficheiros de registo maiores.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Limpar consola</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Bem-vindo à consola RPC Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Use as setas para cima e para baixo para navegar no histórico e &lt;b&gt;Ctrl-L&lt;/b&gt; para limpar o ecrã.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Digite &lt;b&gt;help&lt;/b&gt; para visualizar os comandos disponíveis.</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Enviar Moedas</translation>
+ </message>
+ <message>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>Enviar para múltiplos destinatários de uma vez</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Adicionar &amp;Destinatário</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Remover todos os campos da transação</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Limpar &amp;Tudo</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Saldo:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
+ </message>
+ <message>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Confirme ação de envio</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>&amp;Enviar</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; para %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Confirme envio de moedas</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>Tem a certeza que deseja enviar %1?</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> e </translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>O endereço de destino não é válido, por favor verifique.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>A quantia a pagar deverá ser maior que 0.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>A quantia excede o seu saldo.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation>O total excede o seu saldo quando a taxa de transação de %1 for incluída.</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>Endereço duplicado encontrado, apenas poderá enviar uma vez para cada endereço por cada operação de envio.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Erro: Criação da transação falhou .</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsEntry</name>
+ <message>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Formulário</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>Q&amp;uantia:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Pagar &amp;A:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Escreva um rótulo para este endereço para o adicionar ao seu livro de endereços</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Rótulo:</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>O endereço para onde enviar o pagamento (p.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Escolher endereço do livro de endereços</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Cole endereço da área de transferência</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Remover este destinatário</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduza um endereço Bitcoin (p.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Assinaturas - Assinar / Verificar uma Mensagem</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Assinar Mensagem</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Pode assinar mensagens com os seus endereços para provar que são seus. Tenha atenção ao assinar mensagens ambíguas, pois ataques de phishing podem tentar enganá-lo, de modo a assinar a sua identidade para os atacantes. Apenas assine declarações completamente detalhadas com as quais concorde.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduza um endereço Bitcoin (p.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Escolher endereço do livro de endereços</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Paste address from clipboard</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Escreva aqui a mensagem que deseja assinar</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Copiar a assinatura actual para a área de transferência</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Assine uma mensagem para provar que é dono deste endereço Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Repôr todos os campos de assinatura de mensagem</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Limpar &amp;Tudo</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verificar Mensagem</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Introduza o endereço de assinatura, mensagem (assegure-se de copiar quebras de linha, espaços, tabuladores, etc. exactamente) e assinatura abaixo para verificar a mensagem. Tenha atenção para não ler mais na assinatura do que o que estiver na mensagem assinada, para evitar ser enganado por um atacante que se encontre entre si e quem assinou a mensagem.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduza um endereço Bitcoin (p.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Verifique a mensagem para assegurar que foi assinada com o endereço Bitcoin especificado</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Repôr todos os campos de verificação de mensagem</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduza um endereço Bitcoin (p.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Clique &quot;Assinar mensagem&quot; para gerar a assinatura</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Introduza assinatura Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>O endereço introduzido é inválido. </translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Por favor verifique o endereço e tente de novo.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>O endereço introduzido não refere a chave alguma.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>O desbloqueio da carteira foi cancelado.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>A chave privada para o endereço introduzido não está disponível.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Assinatura de mensagem falhou.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Mensagem assinada.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>A assinatura não pôde ser descodificada.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Por favor verifique a assinatura e tente de novo.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>A assinatura não condiz com o conteúdo da mensagem.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Verificação da mensagem falhou.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Mensagem verificada.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Aberto até %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Aberto para %n bloco</numerusform>
+ <numerusform>Aberto para %n blocos</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/desligado</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/não confirmada</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 confirmações</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Estado</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, transmitida através de %n nó</numerusform>
+ <numerusform>, transmitida através de %n nós</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Data</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Origem</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Gerado</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>De</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Para</translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>endereço próprio</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>rótulo</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Crédito</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>matura daqui por %n bloco</numerusform>
+ <numerusform>matura daqui por %n blocos</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>não aceite</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Débito</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Taxa de transação</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Valor líquido</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Mensagem</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Comentário</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID da Transação</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Moedas geradas deverão maturar por 120 blocos antes de poderem ser gastas. Quando gerou este bloco, ele foi transmitido para a rede para ser incluído na cadeia de blocos. Se a inclusão na cadeia de blocos falhar, irá mudar o estado para &quot;não aceite&quot; e as moedas não poderão ser gastas. Isto poderá acontecer ocasionalmente se outro nó da rede gerar um bloco a poucos segundos de diferença do seu.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Informação de depuração</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transação</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Entradas</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Quantia</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>verdadeiro</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>falso</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, ainda não foi transmitida com sucesso</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>desconhecido</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDescDialog</name>
+ <message>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Detalhes da transação</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Esta janela mostra uma descrição detalhada da transação</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
+ <message>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Data</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Tipo</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Endereço</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Quantia</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Aberto para %n bloco</numerusform>
+ <numerusform>Aberto para %n blocos</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Aberto até %1</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Desligado (%1 confirmação)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Não confirmada (%1 de %2 confirmações)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>Confirmada (%1 confirmação)</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Saldo minado ficará disponível quando maturar, daqui por %n bloco</numerusform>
+ <numerusform>Saldo minado ficará disponível quando maturar, daqui por %n blocos</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Este bloco não foi recebido por outros nós e provavelmente não será aceite pela rede!</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>Gerado mas não aceite</translation>
+ </message>
+ <message>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Recebido com</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Recebido de</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Enviado para</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Pagamento ao próprio</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>Minado</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(n/d)</translation>
+ </message>
+ <message>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Estado da transação. Pairar por cima deste campo para mostrar o número de confirmações.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Data e hora a que esta transação foi recebida.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Tipo de transação.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Endereço de destino da transação.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Quantia retirada ou adicionada ao saldo.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionView</name>
+ <message>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Todas</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Hoje</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Esta semana</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Este mês</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>Mês passado</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Este ano</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Período...</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Recebida com</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Enviada para</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Para si</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Minadas</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Outras</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Escreva endereço ou rótulo a procurar</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Quantia mínima</translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Copiar endereço</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Copiar rótulo</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Copiar quantia</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Editar rótulo</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Mostrar detalhes da transação</translation>
+ </message>
+ <message>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Exportar Dados das Transações</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Ficheiro separado por vírgula (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Confirmada</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Data</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Tipo</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Rótulo</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Endereço</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Quantia</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Erro ao exportar</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Impossível escrever para o ficheiro %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Período:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>até</translation>
+ </message>
+</context>
+<context>
+ <name>WalletModel</name>
+ <message>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>Enviando...</translation>
+ </message>
+</context>
+<context>
+ <name>bitcoin-core</name>
+ <message>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Versão Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Utilização:</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Enviar comando para -server ou bitcoind</translation>
+ </message>
+ <message>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Listar comandos</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Obter ajuda para um comando</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Opções:</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Especificar ficheiro de configuração (por defeito: bitcoin.conf)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Especificar ficheiro pid (por defeito: bitcoind.pid)</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Gerar moedas</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Não gerar moedas</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Especificar pasta de dados</translation>
+ </message>
+ <message>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Definir o tamanho da cache de base de dados em megabytes (por defeito: 25)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Definir o tamanho de registo do disco de base de dados em megabytes (por defeito: 100)</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Escute por ligações em &lt;port&gt; (por defeito: 8333 ou testnet: 18333)</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Manter no máximo &lt;n&gt; ligações a outros nós da rede (por defeito: 125)</translation>
+ </message>
+ <message>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Ligar a um nó para recuperar endereços de pares, e desligar</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Especifique o seu endereço público</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Trancar a endereço específio. Use a notação [anfitrião]:porta para IPv6</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Tolerância para desligar nós mal-formados (por defeito: 100)</translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Número de segundos a impedir que nós mal-formados se liguem de novo (por defeito: 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Ocorreu um erro ao definir a porta %u do serviço RPC a escutar em IPv4: %s</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>Ocorreu um erro ao definir a porta %u do serviço RPC a escutar em IPv6, a usar IPv4: %s</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Separar bases de dados de blocos e endereços. Aumenta o tempo necessário para desligar (por defeito: 0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Erro: Esta transação requer uma taxa de transação mínima de %s devido á sua quantia, complexidade, ou uso de fundos recebidos recentemente </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Escutar por ligações JSON-RPC em &lt;port&gt; (por defeito: 8332 ou rede de testes: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Aceitar comandos da consola e JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Erro: Criação da transação falhou .</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Erro: Carteira bloqueada, incapaz de criar transação </translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Importar ficheiro de dados da cadeia de blocos.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Importar ficheiro de início rápido da cadeia de blocos.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Correr o processo como um daemon e aceitar comandos</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Utilizar a rede de testes - testnet</translation>
+ </message>
+ <message>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Aceitar ligações externas (padrão: 1 sem -proxy ou -connect)</translation>
+ </message>
+ <message>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Definir tamanho máximo de transações de alta-/baixa-prioridade em bytes (por defeito: 27000)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Atenção: -paytxfee está definida com um valor muito alto! Esta é a taxa que irá pagar se enviar uma transação.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Atenção: As transações mostradas poderão não estar correctas! Poderá ter que atualizar ou outros nós poderão ter que atualizar.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Atenção: Por favor verifique que a data e hora do seu computador estão correctas! Se o seu relógio não estiver certo o Bitcoin não irá funcionar correctamente.</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Opções de criação de Bloco:</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Apenas ligar ao(s) nó(s) especificado(s)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Descobrir endereço IP próprio (padrão: 1 ao escutar e sem -externalip)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Falhou a escutar em qualquer porta. Use -listen=0 se quer isto.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Encontrar pares usando procura DNS (por defeito: 1 excepto -connect)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Endereço -tor inválido: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Armazenamento intermédio de recepção por ligação, &lt;n&gt;*1000 bytes (por defeito: 5000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Armazenamento intermédio de envio por ligação, &lt;n&gt;*1000 bytes (por defeito: 1000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Apenas ligar a nós na rede &lt;net&gt; (IPv4, IPv6 ou Tor)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Produzir informação de depuração extra. Implica todas as outras opções -debug*</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Produzir informação de depuração extraordinária</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Preceder informação de depuração com selo temporal</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>Opções SSL: (ver a Wiki Bitcoin para instruções de configuração SSL)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Selecione a versão do proxy socks a usar (4-5, padrão: 5)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Enviar informação de rastreio/depuração para a consola e não para o ficheiro debug.log</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Enviar informação de rastreio/depuração para o depurador</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Definir tamanho máximo de um bloco em bytes (por defeito: 250000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Definir tamanho minímo de um bloco em bytes (por defeito: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Encolher ficheiro debug.log ao iniciar o cliente (por defeito: 1 sem -debug definido)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Especificar tempo de espera da ligação em millisegundos (por defeito: 5000)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Usar UPnP para mapear a porta de escuta (padrão: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Usar UPnP para mapear a porta de escuta (padrão: 1 ao escutar)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Utilizar proxy para aceder a serviços escondidos Tor (por defeito: mesmo que -proxy)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Nome de utilizador para ligações JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Atenção: Pouco espaço em disco!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Atenção: Esta versão está obsoleta, é necessário actualizar!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Palavra-passe para ligações JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Permitir ligações JSON-RPC do endereço IP especificado</translation>
+ </message>
+ <message>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Enviar comandos para o nó a correr em &lt;ip&gt; (por defeito: 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Executar comando quando mudar o melhor bloco (na consola, %s é substituído pela hash do bloco)</translation>
+ </message>
+ <message>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Atualize a carteira para o formato mais recente</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Definir o tamanho da memória de chaves para &lt;n&gt; (por defeito: 100)</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Reexaminar a cadeia de blocos para transações em falta na carteira</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Verificar quantos blocos ao iniciar (por defeito: 2500, 0 = todos)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Minuciosidade da verificação de blocos é (0-6, por defeito: 1)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Importar blocos de ficheiro blk000?.dat externo</translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Usar OpenSSL (https) para ligações JSON-RPC</translation>
+ </message>
+ <message>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Ficheiro de certificado do servidor (por defeito: server.cert)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Chave privada do servidor (por defeito: server.pem)</translation>
+ </message>
+ <message>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Cifras aceitáveis (por defeito: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Esta mensagem de ajuda</translation>
+ </message>
+ <message>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Impossível trancar a pasta de dados %s. Provavelmente o Bitcoin já está a ser executado.</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Incapaz de vincular a %s neste computador (vínculo retornou erro %d, %s)</translation>
+ </message>
+ <message>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Ligar através de um proxy socks</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Permitir procuras DNS para -addnode, -seednode e -connect</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>A carregar endereços...</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Erro ao carregar blkindex.dat</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Erro ao carregar wallet.dat: Carteira danificada</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Erro ao carregar wallet.dat: A Carteira requer uma versão mais recente do Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>A Carteira precisou ser reescrita: reinicie o Bitcoin para completar</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Erro ao carregar wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Endereço -proxy inválido: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Rede desconhecida especificada em -onlynet: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Versão desconhecida de proxy -socks requisitada: %i</translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Não conseguiu resolver endereço -bind: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Não conseguiu resolver endereço -externalip: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Quantia inválida para -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Erro: não iniciou o nó</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Enviando...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Quantia inválida</translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Insufficient funds</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>A carregar índice de blocos...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Adicione um nó ao qual se ligar e tentar manter a ligação aberta</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Incapaz de vincular à porta %s neste computador. Provavelmente o Bitcoin já está a funcionar.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Encontrar pares usando IRC (por defeito: 0)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Fee per KB to add to transactions you send</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>A carregar carteira...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Impossível mudar a carteira para uma versão anterior</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Impossível inicializar keypool</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Impossível escrever endereço por defeito</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Reexaminando...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Carregamento completo</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Para usar a opção %s</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, deverá definir uma palavra-passe de RPC 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)
+Se o ficheiro não existir, crie-o com permissões de leitura apenas para o dono.
+</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Erro</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Deverá definir rpcpassword=&lt;password&gt; no ficheiro de configuração:
+%s
+Se o ficheiro não existir, crie-o com permissões de leitura apenas para o dono.</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/qt/locale/bitcoin_ro_RO.ts b/src/qt/locale/bitcoin_ro_RO.ts
index fd5eb0c10c..fd3030eb42 100644
--- a/src/qt/locale/bitcoin_ro_RO.ts
+++ b/src/qt/locale/bitcoin_ro_RO.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Despre Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; versiunea</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,102 +33,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Listă de adrese</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dublu-click pentru a edita adresa sau eticheta</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Creaţi o adresă nouă</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Adresă nouă...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Copiați adresa selectată în clipboard</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copiere în Clipboard</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Adresă nouă</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Copiază adresa</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Ștergeți adresa selectată din listă. Doar adresele de trimitere pot fi șterse.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Șterge</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Copiază adresa</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Copiază eticheta</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Șterge</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation type="unfinished">Editează</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Copiază &amp;eticheta</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Șterge</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Editează</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Exportă Lista de adrese</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Fisier csv: valori separate prin virgulă (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Eroare la exportare.</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Eroare la scrierea în fişerul %1.</translation>
</message>
@@ -132,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etichetă</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresă</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(fără etichetă)</translation>
</message>
@@ -150,230 +154,383 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Textul etichetei</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Introduceți fraza de acces.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Frază de acces nouă </translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Repetaţi noua frază de acces</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Introduceţi noua parolă a portofelului electronic.&lt;br/&gt;Vă rugăm să folosiţi &lt;b&gt;minimum 10 caractere aleatoare&lt;/b&gt;, sau &lt;b&gt;minimum 8 cuvinte&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Criptează portofelul</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Aceasta operație are nevoie de un portofel deblocat.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Deblochează portofelul</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Această operaţiune necesită parola pentru decriptarea portofelului electronic.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Decriptează portofelul.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Schimbă fraza de acces</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Introduceţi vechea parola a portofelului eletronic şi apoi pe cea nouă.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Confirmă criptarea portofelului.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ATENŢIE: Dacă pierdeţi parola portofelului electronic dupa criptare, &lt;b&gt;VEŢI PIERDE ÎNTREAGA SUMĂ DE BITCOIN ACUMULATĂ&lt;/b&gt;!
-Sunteţi sigur că doriţi să criptaţi portofelul electronic?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Atenție: Dacă pierdeţi parola portofelului electronic dupa criptare, &lt;b&gt;VEŢI PIERDE ÎNTREAGA SUMĂ DE BITCOIN ACUMULATĂ&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Portofel criptat </translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Sunteţi sigur că doriţi să criptaţi portofelul electronic?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Portofel criptat </translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Criptarea portofelului a eșuat.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Criptarea portofelului a eșuat din cauza unei erori interne. Portofelul tău nu a fost criptat.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Fraza de acces introdusă nu se potrivește.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Deblocarea portofelului electronic a eşuat.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Parola introdusă pentru decriptarea portofelului electronic a fost incorectă.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Decriptarea portofelului electronic a eşuat.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation>Parola portofelului electronic a fost schimbată.</translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Portofel electronic Bitcoin</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Se sincronizează cu reţeaua...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Detalii</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Afişează detalii despre portofelul electronic</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Tranzacţii</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Istoricul tranzacţiilor</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Lista de adrese</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Editaţi lista de adrese şi etichete.</translation>
+ </message>
+ <message>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>&amp;Primiţi Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Lista de adrese pentru recepţionarea plăţilor</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation type="unfinished"></translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Trimiteţi Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Părăsiţi aplicaţia</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Modifică setările pentru Bitcoin</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Informaţii despre Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Despre &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Informaţii despre Qt</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Setări...</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>Criptează portofelul electronic...</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup portofelul electronic...</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Schimbă parola...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>S-au descărcat %1 din %2 blocuri din istoricul tranzaciilor (%3% done).</translation>
+ </message>
+ <message>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Exportă...</translation>
+ </message>
+ <message>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>&amp;Trimiteţi Bitcoin către o anumită adresă</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished">Afişează fereastra Bitcoin</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Modifică setările pentru Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Criptează şi decriptează portofelul electronic</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Schimbă parola</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>&amp;Schimbă parola folosită pentru criptarea portofelului electronic</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>S-au descărcat %1 din %2 blocuri din istoricul tranzaciilor (%3% done).</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Portofelul</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Despre Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Fişier</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Setări</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Ajutor</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Bara de ferestre de lucru</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Bara de acţiuni</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n active connections to Bitcoin network</numerusform>
+ <numerusform>%n active connections to Bitcoin network</numerusform>
+ <numerusform>%n active connections to Bitcoin network</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>S-au descărcat %1 blocuri din istoricul tranzaciilor.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n seconds ago</numerusform>
@@ -382,7 +539,7 @@ Sunteţi sigur că doriţi să criptaţi portofelul electronic?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>Acum %n minut</numerusform>
@@ -391,7 +548,7 @@ Sunteţi sigur că doriţi să criptaţi portofelul electronic?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>Acum %n oră</numerusform>
@@ -400,7 +557,7 @@ Sunteţi sigur că doriţi să criptaţi portofelul electronic?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>Acum %n zi</numerusform>
@@ -409,17 +566,42 @@ Sunteţi sigur că doriţi să criptaţi portofelul electronic?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Actualizat</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Se actualizează...</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Ultimul bloc primit a fost generat %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Această tranzacţie depăşeşte limita. Puteţi iniţia tranzacţia platind un comision de %1, de care vor beneficia nodurile care procesează tranzacţia şi ajută la menţinerea reţelei. Acceptaţi plata comisionului?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Tranzacţie expediată</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Tranzacţie recepţionată</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -428,946 +610,1192 @@ Address: %4
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>Portofelul electronic este &lt;b&gt;criptat&lt;/b&gt; iar in momentul de faţă este &lt;b&gt;deblocat&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Portofelul electronic este &lt;b&gt;criptat&lt;/b&gt; iar in momentul de faţă este &lt;b&gt;blocat&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Backup portofelul electronic</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+3"/>
<source>Backup Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
+ <location line="+0"/>
<source>There was an error trying to save the wallet data to the new location.</source>
<translation type="unfinished"></translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
+ <message>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Se sincronizează cu reţeaua...</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>EditAddressDialog</name>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Detalii</translation>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
+ <source>Edit Address</source>
+ <translation>Editează adresa</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Afişează detalii despre portofelul electronic</translation>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Eticheta</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Tranzacţii</translation>
+ <location line="+10"/>
+ <source>The label associated with this address book entry</source>
+ <translation>Eticheta asociată cu această înregistrare în Lista de adrese</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Istoricul tranzacţiilor</translation>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Adresă</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>&amp;Lista de adrese</translation>
+ <location line="+10"/>
+ <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <translation>Adresa asociată cu această înregistrare în Lista de adrese. Aceasta poate fi modificată doar pentru expediere.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Editaţi lista de adrese şi etichete.</translation>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>Noua adresă de primire</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Exportă...</translation>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation>Noua adresă de trimitere</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Criptează şi decriptează portofelul electronic</translation>
+ <location line="+3"/>
+ <source>Edit receiving address</source>
+ <translation>Editează adresa de primire</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>&amp;Schimbă parola folosită pentru criptarea portofelului electronic</translation>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Editează adresa de trimitere</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Trimiteţi Bitcoin</translation>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>Adresa introdusă &quot;%1&quot; se află deja în Lista de adrese.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Adresa introdusă &quot;%1&quot; nu este o adresă bitcoin valabilă.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Tranzacţie expediată</translation>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Portofelul electronic nu a putut fi deblocat .</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Tranzacţie recepţionată</translation>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation>New key generation failed.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
- <source>Catching up...</source>
- <translation>Se actualizează...</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Părăsiţi aplicaţia</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>versiunea</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Backup portofelul electronic</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Uz:</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Informaţii despre Bitcoin</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>command-line setări</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>&amp;Trimiteţi Bitcoin către o anumită adresă</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI setări</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Setări...</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation type="unfinished">&amp;Despre %1</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Despre &amp;Qt</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Informaţii despre Qt</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Setări</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Fişier</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Principal</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>Criptează portofelul electronic</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">&amp;Backup portofelul electronic</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Plăteşte comision pentru tranzacţie &amp;f</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n active connections to Bitcoin network</numerusform>
- <numerusform>%n active connections to Bitcoin network</numerusform>
- <numerusform>%n active connections to Bitcoin network</numerusform>
- </translation>
+ <message>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Porneşte automat programul Bitcoin la pornirea computerului.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Setări</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;S Porneşte Bitcoin la pornirea sistemului</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Ajutor</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Expediază...</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Bara de ferestre de lucru</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Bara de acţiuni</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Deschide automat în router portul aferent clientului Bitcoin. Funcţionează doar în cazul în care routerul e compatibil UPnP şi opţiunea e activată.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Mapeaza portul folosind &amp;UPnP</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Conectare la reţeaua Bitcoin folosind un proxy SOCKS (de exemplu, când conexiunea se stabileşte prin reţeaua Tor)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Conectează prin proxy SOCKS:</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Unitatea de măsură pentru afişarea sumelor: </translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Adresa de IP a proxy serverului (de exemplu: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Alege subdiviziunea folosită la afişarea interfeţei şi la trimiterea de bitcoin.</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Afişează adresele în lista de tranzacţii</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Portul pe care se concetează proxy serverul (de exemplu: 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
- <source>Edit Address</source>
- <translation>Editează adresa</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
- <source>&amp;Label</source>
- <translation>&amp;Eticheta</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
- <source>The label associated with this address book entry</source>
- <translation>Eticheta asociată cu această înregistrare în Lista de adrese</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Afişează doar un icon in tray la ascunderea ferestrei</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>&amp;Adresă</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;M Ascunde în tray în loc de taskbar</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
- <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
- <translation>Adresa asociată cu această înregistrare în Lista de adrese. Aceasta poate fi modificată doar pentru expediere.</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Ascunde fereastra în locul părăsirii programului în momentul închiderii ferestrei. Când acestă opţiune e activă, aplicaţia se va opri doar în momentul selectării comenzii Quit din menu.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
- <source>New receiving address</source>
- <translation>Noua adresă de primire</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>&amp;i Ascunde fereastra în locul închiderii programului</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
- <source>New sending address</source>
- <translation>Noua adresă de trimitere</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Afişare</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
- <source>Edit receiving address</source>
- <translation>Editează adresa de primire</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>Editează adresa de trimitere</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
- <source>The entered address &quot;%1&quot; is already in the address book.</source>
- <translation>Adresa introdusă &quot;%1&quot; se află deja în Lista de adrese.</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Unitatea de măsură pentru afişarea sumelor:</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Adresa introdusă &quot;%1&quot; nu este o adresă bitcoin valabilă.</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Alege subdiviziunea folosită la afişarea interfeţei şi la trimiterea de bitcoin.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>Portofelul electronic nu a putut fi deblocat .</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
- <source>New key generation failed.</source>
- <translation>New key generation failed.</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Afişează adresele în lista de tranzacţii</translation>
</message>
-</context>
-<context>
- <name>MainOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;S Porneşte Bitcoin la pornirea sistemului</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Porneşte automat programul Bitcoin la pornirea computerului.</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;M Ascunde în tray în loc de taskbar</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Afişează doar un icon in tray la ascunderea ferestrei</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Mapeaza portul folosind &amp;UPnP</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Deschide automat în router portul aferent clientului Bitcoin. Funcţionează doar în cazul în care routerul e compatibil UPnP şi opţiunea e activată.</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>&amp;i Ascunde fereastra în locul închiderii programului</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OverviewPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Ascunde fereastra în locul părăsirii programului în momentul închiderii ferestrei. Când acestă opţiune e activă, aplicaţia se va opri doar în momentul selectării comenzii Quit din menu.</translation>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Form</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Conectează prin proxy SOCKS4:</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Conectare la reţeaua Bitcoin folosind un proxy SOCKS4 (de exemplu, când conexiunea se stabileşte prin reţeaua Tor)</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Balanţă:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP: </translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Număr total de tranzacţii:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>Adresa de IP a proxy serverului (de exemplu: 127.0.0.1)</translation>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Neconfirmat:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port: </translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Portofelul</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Portul pe care se concetează proxy serverul (de exemplu: 1234)</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Plăteşte comision pentru tranzacţie &amp;f</translation>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Ultimele tranzacţii&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation type="unfinished"></translation>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Soldul contul</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Totalul tranzacţiilor care aşteaptă să fie confirmate şi care nu sunt încă luate în calcul la afişarea soldului contului.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Numărul total de tranzacţii din portofelul electronic</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MessagePage</name>
+ <name>QRCodeDialog</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Mesaj</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+59"/>
+ <source>Request Payment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Introduceţi o adresă Bitcoin (de exemplu: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Sumă:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Alegeţi adresa din Listă</translation>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Etichetă:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Mesaj:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Lipiţi adresa copiată in clipboard.</translation>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Copiere în Clipboard</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished">Adresa introdusă &quot;%1&quot; nu este o adresă bitcoin valabilă.</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation type="unfinished">Eroare</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location line="+49"/>
+ <source>Startup time</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Setări</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Afişare</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Principal</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Balanţă:</translation>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>Număr total de tranzacţii:</translation>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Soldul contul</translation>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>Form</translation>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Portofelul</translation>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Command-line setări</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Ultimele tranzacţii&lt;/b&gt;</translation>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Numărul total de tranzacţii din portofelul electronic</translation>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Neconfirmat:</translation>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Totalul tranzacţiilor care aşteaptă să fie confirmate şi care nu sunt încă luate în calcul la afişarea soldului contului.</translation>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Mesaj:</translation>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location line="+279"/>
+ <source>Debug log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>Sumă:</translation>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Etichetă:</translation>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation type="unfinished"></translation>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Trimite Bitcoin</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation type="unfinished"></translation>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>Trimite simultan către mai mulţi destinatari</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Adaugă destinatar</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>SendCoinsDialog</name>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Confirmaţi trimiterea de bitcoin</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Şterge &amp;tot</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Balanţă:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Confirmă operaţiunea de trimitere</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>&amp;S Trimite</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; la %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Confirmaţi trimiterea de bitcoin</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Sunteţi sigur că doriţi să trimiteţi %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation> şi </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>Adresa destinatarului nu este validă, vă rugăm să o verificaţi.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Suma de plată trebuie să fie mai mare decât 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Suma depăşeşte soldul contului.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Total depăşeşte soldul contului in cazul plăţii comisionului de %1.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>S-a descoperit o adresă care figurează de două ori. Expedierea se poate realiza către fiecare adresă doar o singură dată pe operaţiune.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Eroare: Tranyacţia nu a putut fi iniţiată.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Eroare: Tranyacţia a fost respinsă. Acesta poate fi rezultatul cheltuirii prealabile a unei sume de bitcoin din portofelul electronic, ca în cazul folosirii unei copii a fisierului wallet.dat, în care s-au efectuat tranzacţii neînregistrate în fisierul curent.</translation>
</message>
+</context>
+<context>
+ <name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
- <source>Send Coins</source>
- <translation>Trimite Bitcoin</translation>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Form</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
- <source>Send to multiple recipients at once</source>
- <translation>Trimite simultan către mai mulţi destinatari</translation>
+ <location line="+15"/>
+ <source>A&amp;mount:</source>
+ <translation>Su&amp;mă :</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Adaugă destinatar...</translation>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Plăteşte Că&amp;tre:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
- <source>Remove all transaction fields</source>
- <translation type="unfinished"></translation>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Adaugă o etichetă acestei adrese pentru a o trece în Lista de adrese</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Balanţă:</translation>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;L Etichetă:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
- <source>123.456 BTC</source>
- <translation>123.456 BTC</translation>
+ <location line="+18"/>
+ <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adresa către care se va face plata (de exemplu: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation>&amp;S Trimite</translation>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Alegeţi adresa din Listă</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Şterge tot</translation>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
- <source>The recipient address is not valid, please recheck.</source>
- <translation>Adresa destinatarului nu este validă, vă rugăm să o verificaţi.</translation>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Lipiţi adresa copiată in clipboard.</translation>
</message>
-</context>
-<context>
- <name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
- <source>Form</source>
- <translation>Form</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
- <source>A&amp;mount:</source>
- <translation>Su&amp;mă :</translation>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>Şterge destinatarul</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>Plăteşte Că&amp;tre:</translation>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduceţi o adresă Bitcoin (de exemplu: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
- <source>Enter a label for this address to add it to your address book</source>
- <translation>Adaugă o etichetă acestei adrese pentru a o trece în Lista de adrese</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
- <source>&amp;Label:</source>
- <translation>&amp;L Etichetă:</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
- <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <location line="-118"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
- <source>Choose address from address book</source>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduceţi o adresă Bitcoin (de exemplu: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
<translation>Alegeţi adresa din Listă</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="-193"/>
+ <location line="+203"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="-193"/>
<source>Paste address from clipboard</source>
<translation>Lipiţi adresa copiată in clipboard.</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
- <source>Remove this recipient</source>
- <translation>Şterge destinatarul</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Şterge &amp;tot</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Introduceţi o adresă Bitcoin (de exemplu: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Introduceţi o adresă Bitcoin (de exemplu: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Deschis pentru %1 blocuri</translation>
- </message>
- <message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Deschis până la %1</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Deschis pentru for %n bloc</numerusform>
+ <numerusform>Deschis pentru %n blocuri</numerusform>
+ <numerusform>Deschis pentru %n blocuri</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/offline?</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/neconfirmat</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 confirmări</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Sursă:&lt;/b&gt; Generat&lt;br&gt;</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Stare</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;De la:&lt;/b&gt; </translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Data</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>necunoscut</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Comisionul tranzacţiei:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Generat</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Suma netă:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>De la</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Mesaj:</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Către</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Monedele bitcoin generate se pot cheltui dupa parcurgerea a 120 de blocuri. După ce a fost generat, s-a propagat în reţea, urmând să fie adăugat lanţului de blocuri. Dacă nu poate fi inclus in lanţ, starea sa va deveni &quot;neacceptat&quot; si nu va putea fi folosit la tranzacţii. Acest fenomen se întâmplă atunci cand un alt nod a generat un bloc la o diferenţa de câteva secunde.</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>etichetă</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Credit</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Stare:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>nu este acceptat</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, nu s-a propagat încă</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debit</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Comisionul tranzacţiei</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Suma netă</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, se propagă prin %1 nod</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Mesaj</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, se propagă prin %1 noduri</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Comentarii</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Data:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Către:&lt;/b&gt; </translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Monedele bitcoin generate se pot cheltui dupa parcurgerea a 120 de blocuri. După ce a fost generat, s-a propagat în reţea, urmând să fie adăugat lanţului de blocuri. Dacă nu poate fi inclus in lanţ, starea sa va deveni &quot;neacceptat&quot; si nu va putea fi folosit la tranzacţii. Acest fenomen se întâmplă atunci cand un alt nod a generat un bloc la o diferenţa de câteva secunde.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (propriu, etichetă: </translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (propriu)</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Tranzacţie</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Credit:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Sumă</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 se definitivează peste %2 blocuri)</translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(nu este acceptat)</translation>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debit:&lt;/b&gt; </translation>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, nu s-a propagat încă</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Comentarii:</translation>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>necunoscut</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Detaliile tranzacţiei</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Afişează detalii despre tranzacţie</translation>
</message>
@@ -1375,32 +1803,27 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
- <source>Generated but not accepted</source>
- <translation>Generat, dar neacceptat</translation>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Data</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>Tipul</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresa</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>Cantitate</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Data</translation>
- </message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Deschis pentru for %n bloc</numerusform>
@@ -1409,28 +1832,28 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Deschis până la %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Neconectat (%1 confirmări)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Neconfirmat (%1 din %2 confirmări)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Confirmat (%1 confirmări)</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
@@ -1438,234 +1861,239 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Blocul nu a fost recepţionat de niciun alt nod şi e probabil că nu va fi acceptat.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>Generat, dar neacceptat</translation>
+ </message>
+ <message>
+ <location line="+43"/>
<source>Received with</source>
<translation>Recepţionat cu</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Plată către un cont propriu</translation>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Trimis către</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Plată către un cont propriu</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Produs</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Starea tranzacţiei. Treceţi cu mouse-ul peste acest câmp pentru afişarea numărului de confirmări.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Data şi ora la care a fost recepţionată tranzacţia.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Tipul tranzacţiei.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Suma extrasă sau adăugată la sold.</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Adresa de destinaţie a tranzacţiei.</translation>
</message>
+ <message>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Suma extrasă sau adăugată la sold.</translation>
+ </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Adresă</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Toate</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>Astăzi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Fişier text cu valori separate prin virgulă (*.csv)</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Confirmat</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Data</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation>Săptămâna aceasta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Tipul</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Etichetă</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Sumă</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Eroare în timpul exportului</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Fisierul %1 nu a putut fi accesat pentru scriere.</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Interval:</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>către</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Toate</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation>Luna aceasta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>Luna trecută</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>Anul acesta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>Între...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>Recepţionat cu...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation>Trimis către</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Către propriul cont</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>Produs</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation>Altele</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Introduceţi adresa sau eticheta pentru căutare</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Cantitatea produsă</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Copiază sumă</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Copiază adresa</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Editează eticheta</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Copiază eticheta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Afişează detalii...</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Copiază sumă</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Copiază eticheta</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Editează eticheta</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>Exportă tranzacţiile</translation>
</message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Fişier text cu valori separate prin virgulă (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Confirmat</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Data</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Tipul</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Etichetă</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Adresă</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Sumă</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Eroare în timpul exportului</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Fisierul %1 nu a putut fi accesat pentru scriere.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Interval:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>către</translation>
+ </message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Se expediază...</translation>
</message>
@@ -1673,484 +2101,618 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Încarc indice bloc...</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>versiunea Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation type="unfinished"></translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Uz:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Încarc portofel...</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Trimite comanda la -server sau bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Listă de comenzi</translation>
+ </message>
+ <message>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Ajutor pentru o comandă</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Setări:</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <location line="-47"/>
+ <source>Generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
+ <location line="+60"/>
+ <source>Specify data directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Rescanez...</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Încărcare terminată</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>versiunea Bitcoin</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Eroare</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Uz:</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Trimite comanda la -server sau bitcoind</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Eroare: Tranyacţia a fost respinsă. Acesta poate fi rezultatul cheltuirii prealabile a unei sume de bitcoin din portofelul electronic, ca în cazul folosirii unei copii a fisierului wallet.dat, în care s-au efectuat tranzacţii neînregistrate în fisierul curent.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Listă de comenzi</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Această tranzacţie depăşeşte limita. Puteţi iniţia tranzacţia platind un comision de %1, de care vor beneficia nodurile care procesează tranzacţia şi ajută la menţinerea reţelei. Acceptaţi plata comisionului?</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Ajutor pentru o comandă</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Setări:</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Eroare: Tranyacţia nu a putut fi iniţiată.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+33"/>
+ <source>Use the test network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Username for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
+ <location line="-131"/>
<source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Conectează prin proxy SOCKS</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+44"/>
<source>Loading addresses...</source>
<translation>Încarc adrese...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Fonduri insuficiente</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
<source>Sending...</source>
<translation>Transmitere...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-24"/>
+ <source>Invalid amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Fonduri insuficiente</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Încarc indice bloc...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Eroare: Tranyacţia nu a putut fi iniţiată.</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Eroare: Tranyacţia a fost respinsă. Acesta poate fi rezultatul cheltuirii prealabile a unei sume de bitcoin din portofelul electronic, ca în cazul folosirii unei copii a fisierului wallet.dat, în care s-au efectuat tranzacţii neînregistrate în fisierul curent.</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Încarc portofel...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Rescanez...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Încărcare terminată</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Conectează prin proxy SOCKS4</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Uz</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Eroare</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_ru.ts b/src/qt/locale/bitcoin_ru.ts
index 5b7acf72e2..87c6af4b4e 100644
--- a/src/qt/locale/bitcoin_ru.ts
+++ b/src/qt/locale/bitcoin_ru.ts
@@ -5,426 +5,523 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>О Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; версия</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Все права защищены © 2009-2012 Разработчики Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Все права защищены © 2009-2012 Разработчики Bitcoin
-
+ <translation>
Это экспериментальная программа.
Распространяется на правах лицензии MIT/X11, см. файл license.txt или http://www.opensource.org/licenses/mit-license.php.
-Этот продукт включате ПО, разработанное OpenSSL Project для использования в OpenSSL Toolkit (http://www.openssl.org/) и криптографическое ПО, написанное Eric Young (eay@cryptsoft.com) и ПО для работы с UPnP, написанное Thomas Bernard.</translation>
+Этот продукт включает ПО, разработанное OpenSSL Project для использования в OpenSSL Toolkit (http://www.openssl.org/) и криптографическое ПО, написанное Eric Young (eay@cryptsoft.com) и ПО для работы с UPnP, написанное Thomas Bernard.</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Адресная книга</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Здесь перечислены Ваши адреса для получения платежей. Вы можете использовать их для того, чтобы давать разным людям разные адреса и таким образом иметь возможность отслеживать кто и сколько Вам платил, а так же поддерживать бо́льшую анонимность.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Для того, чтобы изменить адрес или метку давжды кликните по изменяемому объекту</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Создать новый адрес</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Создать адрес...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Копировать текущий выделенный адрес в буфер обмена</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kопировать</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Новый адрес</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Это Ваши адреса для получения платежей. Вы можете дать разные адреса отправителям, чтобы отслеживать, кто именно вам платит.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Копировать адрес</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Показать &amp;QR код</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Подписать сообщение, чтобы доказать владение адресом Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
- <translation>Подписать &amp;сообщение</translation>
+ <translation>&amp;Подписать сообщение</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Удалить выбранный адрес из списка</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Проверить сообщение, чтобы убедиться, что оно было подписано указанным адресом Bitcoin</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Удалить выделенный адрес из списка (могут быть удалены только записи из адресной книги).</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Проверить сообщение</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
+ <location line="+14"/>
<source>&amp;Delete</source>
<translation>&amp;Удалить</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Подпишите сообщение для доказательства </translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Копировать &amp;метку</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Удалить</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Правка</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Экспортировать адресную книгу</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Текст, разделённый запятыми (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Невозможно записать в файл %1.</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Ошибка экспорта</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Копировать адрес</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Копировать метку</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Правка</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Невозможно записать в файл %1.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
+ <source>Label</source>
+ <translation>Метка</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Address</source>
<translation>Адрес</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>[нет метки]</translation>
</message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Label</source>
- <translation>Метка</translation>
- </message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Не удалось зашифровать бумажник</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Подтвердите шифрование бумажника</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Диалог ввода пароля</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TextLabel</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Введите пароль</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>Для выполнения операции требуется пароль вашего бумажника.</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Новый пароль</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Введите старый и новый пароль для бумажника.</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Повторите новый пароль</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Введите новый пароль для бумажника. &lt;br/&gt; Пожалуйста, используйте фразы из &lt;b&gt;10 или более случайных символов,&lt;/b&gt; или &lt;b&gt;восьми и более слов.&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Зашифровать бумажник</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>Для выполнения операции требуется пароль вашего бумажника.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Разблокировать бумажник</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Для выполнения операции требуется пароль вашего бумажника.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Расшифровать бумажник</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Сменить пароль</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Введите старый и новый пароль для бумажника.</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Подтвердите шифрование бумажника</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Внимание: если вы зашифруете бумажник и потеряете пароль, вы &lt;b&gt;ПОТЕРЯЕТЕ ВСЕ ВАШИ БИТКОИНЫ&lt;/b&gt;!</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Вы уверены, что хотите зашифровать ваш бумажник?</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>ВАЖНО: все предыдущие резервные копии вашего кошелька должны быть заменены новым зашифрованным файлом. В целях безопасности предыдущие резервные копии нешифрованного кошелька станут бесполезны, как только вы начнёте использовать новый шифрованный кошелёк.</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Внимание: Caps Lock включен!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>Бумажник зашифрован</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>Сейчас программа закроется для завершения процесса шифрования. Помните, что шифрование вашего бумажника не может полностью защитить ваши биткоины от кражи с помощью инфицирования вашего компьютера вредоносным ПО.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>ВАЖНО: все предыдущие резервные копии вашего кошелька должны быть заменены новым зашифрованным файлом. В целях безопасности предыдущие резервные копии нешифрованного кошелька станут бесполезны, как только вы начнёте использовать новый шифрованный кошелёк.</translation>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Не удалось зашифровать бумажник</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Шифрование бумажника не удалось из-за внутренней ошибки. Ваш бумажник не был зашифрован.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+7"/>
+ <location line="+48"/>
+ <source>The supplied passphrases do not match.</source>
+ <translation>Введённые пароли не совпадают.</translation>
+ </message>
+ <message>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>Разблокировка бумажника не удалась</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Указанный пароль не подходит.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Расшифрование бумажника не удалось</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Внимание: Caps Lock включен.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>Разблокировка бумажника не удалась</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Пароль бумажника успешно изменён.</translation>
</message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Введите новый пароль для бумажника. &lt;br/&gt; Пожалуйста, используйте фразы из &lt;b&gt;10 или более случайных символов,&lt;/b&gt; или &lt;b&gt;восьми и более слов.&lt;/b&gt;</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>&amp;Подписать сообщение</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Пароль бумажника успешно изменён.</translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Синхронизация с сетью...</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>ВНИМАНИЕ: Если вы зашифруете бумажник и потеряете свой ​​пароль, вы &lt;b&gt;ПОТЕРЯЕТЕ ВСЕ ВАШИ БИТКОИНЫ!&lt;/b&gt;
-Вы действительно хотите зашифровать ваш бумажник?</translation>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>О&amp;бзор</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
- <source>The supplied passphrases do not match.</source>
- <translation>Введённые пароли не совпадают.</translation>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Показать общий обзор действий с бумажником</translation>
</message>
-</context>
-<context>
- <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Экспорт...</translation>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Транзакции</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Синхронизация с сетью...</translation>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Показать историю транзакций</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Адресная книга</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Изменить список сохранённых адресов и меток к ним</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Получение монет</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Показать список адресов для получения платежей</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>Синхронизированно</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>Отп&amp;равка монет</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
- <source>Catching up...</source>
- <translation>Синхронизируется...</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>В&amp;ыход</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Резервное копирование не удалось</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Закрыть приложение</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>О&amp;бзор</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Показать информацию о Bitcoin&apos;е</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Показать общий обзор действий с бумажником</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>О &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Транзакции</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Показать информацию о Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Показать историю транзакций</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>Оп&amp;ции...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Доказать, что вы владеете адресом</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Зашифровать бумажник</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
<translation>&amp;Сделать резервную копию бумажника</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Зашифровать бумажник</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Изменить пароль</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>остался ~%n блок</numerusform>
+ <numerusform>осталось ~%n блоков</numerusform>
+ <numerusform>осталось ~%n блоков</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>В&amp;ыход</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Загружено %1 из %2 блоков истории операций (%3% завершено).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Закрыть приложение</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Экспорт...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Показать или скрыть окно Bitcoin</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Отправить монеты на указанный адрес Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoin клиент</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Изменить параметры конфигурации Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation>Экспортировать данные из вкладки в файл</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Зашифровать или расшифровать бумажник</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation>Сделать резервную копию бумажника в другом месте</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Изменить пароль шифрования бумажника</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Окно отладки</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Открыть консоль отладки и диагностики</translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Проверить сообщение...</translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Биткоин</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Бумажник</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;О Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Показать / Скрыть</translation>
+ </message>
+ <message>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>&amp;Файл</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Настройки</translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation>&amp;Помощь</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[тестовая сеть]</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Панель вкладок</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Панель действий</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>При попытке сохранения данных бумажника в новое место произошла ошибка.</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[тестовая сеть]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoin клиент</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n активное соединение с сетью</numerusform>
@@ -433,12 +530,12 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>Загружено %1 блоков истории транзакций.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n секунду назад</numerusform>
@@ -446,33 +543,17 @@ Are you sure you wish to encrypt your wallet?</source>
<numerusform>%n секунд назад</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Панель действий</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Изменить список сохранённых адресов и меток к ним</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;Получение монет</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Отправить монеты на указанный адрес</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Подписать &amp;сообщение</translation>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n минуту назад</numerusform>
+ <numerusform>%n минуты назад</numerusform>
+ <numerusform>%n минут назад</numerusform>
+ </translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n час назад</numerusform>
@@ -480,23 +561,52 @@ Are you sure you wish to encrypt your wallet?</source>
<numerusform>%n часов назад</numerusform>
</translation>
</message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n день назад</numerusform>
+ <numerusform>%n дня назад</numerusform>
+ <numerusform>%n дней назад</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Синхронизированно</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Catching up...</source>
+ <translation>Синхронизируется...</translation>
+ </message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Последний полученный блок был сгенерирован %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Данная транзакция превышает предельно допустимый размер. Но Вы можете всё равно совершить её, добавив комиссию в %1, которая отправится тем узлам, которые обработают Вашу транзакцию, и поможет поддержать сеть. Вы хотите добавить комиссию?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Подтвердите комиссию</translation>
+ </message>
+ <message>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Исходящая транзакция</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Входящая транзакция</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -509,875 +619,1192 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>Обработка URI</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>Не удалось обработать URI! Это может быть связано с неверным адресом Bitcoin или неправильными параметрами URI.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>Бумажник &lt;b&gt;зашифрован&lt;/b&gt; и в настоящее время &lt;b&gt;разблокирован&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>Бумажник &lt;b&gt;зашифрован&lt;/b&gt; и в настоящее время &lt;b&gt;заблокирован&lt;/b&gt;</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>%n минуту назад</numerusform>
- <numerusform>%n минуты назад</numerusform>
- <numerusform>%n минут назад</numerusform>
- </translation>
+ <message>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Сделать резервную копию бумажника</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+0"/>
<source>Wallet Data (*.dat)</source>
<translation>Данные бумажника (*.dat)</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
- <translation>
- <numerusform>%n день назад</numerusform>
- <numerusform>%n дня назад</numerusform>
- <numerusform>%n дней назад</numerusform>
- </translation>
+ <message>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Резервное копирование не удалось</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Показать информацию о Bitcoin&apos;е</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>При попытке сохранения данных бумажника в новое место произошла ошибка.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;О %1</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>Произошла неисправимая ошибка. Bitcoin не может безопасно продолжать работу и будет закрыт.</translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>О &amp;Qt</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Сетевая Тревога</translation>
</message>
+</context>
+<context>
+ <name>EditAddressDialog</name>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Сделать резервную копию бумажника</translation>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
+ <source>Edit Address</source>
+ <translation>Изменить адрес</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>Оп&amp;ции...</translation>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Метка</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Изменить настройки</translation>
+ <location line="+10"/>
+ <source>The label associated with this address book entry</source>
+ <translation>Метка, связанная с данной записью</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Показать/Скрыть &amp;Bitcoin</translation>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Адрес</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Зашифровать или расшифровать бумажник</translation>
+ <location line="+10"/>
+ <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <translation>Адрес, связанный с данной записью.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Изменить пароль</translation>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>Новый адрес для получения</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Изменить пароль шифрования бумажника</translation>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation>Новый адрес для отправки</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Панель вкладок</translation>
+ <location line="+3"/>
+ <source>Edit receiving address</source>
+ <translation>Изменение адреса для получения</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Настройки</translation>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Изменение адреса для отправки</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation>Произошла неисправимая ошибка. Bitcoin не может безопасно продолжать работу и будет закрыт.</translation>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation>Введённый адрес «%1» уже находится в адресной книге.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Введённый адрес &quot;%1&quot; не является правильным Bitcoin-адресом.</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>остался ~%n блок</numerusform>
- <numerusform>осталось ~%n блоков</numerusform>
- <numerusform>осталось ~%n блоков</numerusform>
- </translation>
+ <message>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Не удается разблокировать бумажник.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Загружено %1 из %2 блоков истории операций (%3% завершено).</translation>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation>Генерация нового ключа не удалась.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Отправка...</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin-бумажник</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>версия</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>Отп&amp;равка монет</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Использование:</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Показать информацию о Qt</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>параметры командной строки</translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Измерять монеты в: </translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>Опции интерфейса</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Единица измерения количества монет при отображении и при отправке</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Выберите язык, например &quot;de_DE&quot; (по умолчанию: как в системе)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Показывать адреса в списке транзакций</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Запускать свёрнутым</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Показывать ли адреса Bitcoin в списке транзакций</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Показывать сплэш при запуске (по умолчанию: 1)</translation>
</message>
</context>
<context>
- <name>EditAddressDialog</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
- <source>Edit Address</source>
- <translation>Изменить адрес</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Опции</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
- <source>&amp;Label</source>
- <translation>&amp;Метка</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Главная</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
- <source>The label associated with this address book entry</source>
- <translation>Метка, связанная с данной записью</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Опциональная комиссия за каждый КБ транзакции, которая позволяет быть уверенным, что Ваша транзакция будет обработана быстро. Большинство транзакций занимают 1КБ. Рекомендуется комиссия 0.01.</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>&amp;Адрес</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Заплатить ко&amp;миссию</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
- <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
- <translation>Адрес, связанный с данной записью.</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Автоматически запускать Bitcoin после входа в систему</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
- <source>New sending address</source>
- <translation>Новый адрес для отправки</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Запускать Bitcoin при входе в систему</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
- <source>Edit receiving address</source>
- <translation>Изменение адреса для получения</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Отключить базы данных блоков и адресов при выходе. Это означает, что их можно будет переместить в другой каталог данных, но завершение работы будет медленнее. Бумажник всегда отключается.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>Изменение адреса для отправки</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Отключать базы данных при выходе</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
- <source>New receiving address</source>
- <translation>Новый адрес для получения</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Сеть</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
- <source>The entered address &quot;%1&quot; is already in the address book.</source>
- <translation>Введённый адрес «%1» уже находится в адресной книге.</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Автоматически открыть порт для Bitcoin-клиента на роутере. Работает только если Ваш роутер поддерживает UPnP, и данная функция включена.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
- <source>New key generation failed.</source>
- <translation>Генерация нового ключа не удалась.</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Пробросить порт через &amp;UPnP</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Введённый адрес «%1» не является правильным Bitcoin-адресом.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Подключаться к сети Bitcoin через прокси SOCKS (например, при подключении через Tor).</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>Не удается разблокировать бумажник.</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Подключаться через SOCKS прокси:</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>&amp;IP Прокси: </translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP-адрес прокси (например 127.0.0.1)</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>По&amp;рт: </translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Порт прокси-сервера (например, 9050)</translation>
</message>
-</context>
-<context>
- <name>MainOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Запускать бумажник при входе в систему</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>&amp;Версия SOCKS:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Автоматически запускать бумажник, когда включается компьютер</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Версия SOCKS-прокси (например, 5)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Окно</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Показывать только иконку в системном лотке после сворачивания окна.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>&amp;Minimize to the tray instead of the taskbar</source>
<translation>&amp;Cворачивать в системный лоток вместо панели задач</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Показывать только иконку в системном лотке при сворачивании окна</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Сворачивать вместо закрытия. Если данная опция будет выбрана — приложение закроется только после выбора соответствующего пункта в меню.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
+ <location line="+3"/>
<source>M&amp;inimize on close</source>
- <translation>С&amp;ворачивать вместо закрытия</translation>
+ <translation>С&amp;ворачивать при закрытии</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Сворачивать вместо закрытия. Если данная опция будет выбрана — приложение закроется только после выбора соответствующего пункта в меню.</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>О&amp;тображение</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Пробросить порт через &amp;UPnP</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>&amp;Язык интерфейса:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Автоматически открыть порт для Bitcoin-клиента на роутере. Работает ТОЛЬКО если Ваш роутер поддерживает UPnP и данная функция включена.</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Здесь можно выбрать язык интерфейса. Настройки вступят в силу после перезапуска Bitcoin.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Подключаться через SOCKS4 прокси:</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Отображать суммы в единицах: </translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Подключаться к сети Bitcoin через SOCKS4 прокси (например, при использовании Tor)</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Выберите единицу измерения монет при отображении и отправке.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>&amp;IP Прокси: </translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Показывать ли адреса Bitcoin в списке транзакций.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP-адрес прокси (например 127.0.0.1)</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Показывать адреса в списке транзакций</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>По&amp;рт: </translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>О&amp;К</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Порт прокси-сервера (например 1234)</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Отмена</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>Опциональная комиссия за каждый КБ транзакции, которая позволяет быть уверенным, что Ваша транзакция будет обработано быстро. Большинство транзакций занимают 1КБ. Рекомендуется комиссия 0.01.</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Применить</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Добавлять ко&amp;миссию</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>по умолчанию</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Отключать базы данных при выходе</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Внимание</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Отключить базы данных блоков и адресов при выходе. Это означает, что их можно будет переместить в другой каталог данных, но завершение работы будет медленнее. Бумажник всегда отключается.</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Эта настройка вступит в силу после перезапуска Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Адрес прокси неверен.</translation>
</message>
</context>
<context>
- <name>MessagePage</name>
+ <name>OverviewPage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Сообщение</translation>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>Форма</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Вы можете подписывать сообщения своими адресами, чтобы доказать владение ими. Будьте осторожны, не подписывайте что-то неопределённое, так как фишинговые атаки могут обманным путём заставить вас подписать нежелательные сообщения. Подписывайте только те сообщения, с которыми вы согласны вплоть до мелочей.</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>Отображаемая информация может быть устаревшей. Ваш бумажник автоматически синхронизируется с сетью Bitcoin после подключения, но этот процесс пока не завершён.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Подпишите сообщение для доказательства </translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>Баланс:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Подписать сообщение</translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Количество транзакций:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Ошибка создания подписи</translation>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Не подтверждено:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 не является правильным адресом.</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>Бумажник</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Секретный ключ для %1 не доступен</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Незрелые:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Подписание не удалось.</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Баланс добытых монет, который ещё не созрел</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Адрес, которым вы хотите подписать сообщение (напр. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Последние транзакции&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Выбрать адрес из адресной книги</translation>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Ваш текущий баланс</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Общая сумма всех транзакций, которые до сих пор не подтверждены, и до сих пор не учитываются в текущем балансе</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Вставить адрес из буфера обмена</translation>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Общее количество транзакций в Вашем бумажнике</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>не синхронизировано</translation>
</message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Введите сообщение для подписи</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>Диалог QR-кода</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Для создания подписи нажмите на &quot;Подписать сообщение&quot;</translation>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Запросить платёж</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Скопировать текущую подпись в системный буфер обмена</translation>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Количество:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kопировать</translation>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Метка:</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Основное</translation>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Сообщение:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Отображение</translation>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Сохранить как...</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Опции</translation>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>Ошибка кодирования URI в QR-код</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Введено неверное количество, проверьте ещё раз.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>Получившийся URI слишком длинный, попробуйте сократить текст метки / сообщения.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Сохранить QR-код</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>PNG Изображения (*.png)</translation>
</message>
</context>
<context>
- <name>OverviewPage</name>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>Бумажник</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Имя клиента</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>Форма</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>Н/Д</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>Баланс:</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Версия клиента</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Ваш текущий баланс</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Информация</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Последние транзакции&lt;/b&gt;</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Используется версия OpenSSL</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Не подтверждено:</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Время запуска</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>Количество транзакций:</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Сеть</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Число подключений</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Общая сумма всех транзакций, которые до сих пор не подтверждены, и до сих пор не учитываются в текущем балансе</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>В тестовой сети</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Общее количество транзакций в Вашем бумажнике</translation>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Цепь блоков</translation>
</message>
-</context>
-<context>
- <name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation>Ошибка кодирования URI в QR-код</translation>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Текущее число блоков</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>PNG Изображения (*.png)</translation>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Расчётное число блоков</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Время последнего блока</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;Сохранить как...</translation>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Открыть</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Параметры командной строки</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR код</translation>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Показать помощь по Bitcoin-Qt, чтобы получить список доступных параметров командной строки.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Запросить платёж</translation>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Показать</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>Количество:</translation>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>Консоль</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Метка:</translation>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Дата сборки</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Сообщение:</translation>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Окно отладки</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>Получившийся URI слишком длинный, попробуйте сократить текст метки / сообщения.</translation>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Ядро Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Отладочный лог-файл</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Открыть отладочный лог-файл Bitcoin из текущего каталога данных. Это может занять несколько секунд для больших лог-файлов.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Очистить консоль</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>Сохранить изображение...</translation>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Добро пожаловать в RPC-консоль Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Используйте стрелки вверх и вниз для просмотра истории и &lt;b&gt;Ctrl-L&lt;/b&gt; для очистки экрана.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Напишите &lt;b&gt;help&lt;/b&gt; для просмотра доступных команд.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <source>Send Coins</source>
+ <translation>Отправка</translation>
+ </message>
+ <message>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Отправить нескольким получателям одновременно</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Добавить получателя</translation>
+ </message>
+ <message>
+ <location line="+20"/>
+ <source>Remove all transaction fields</source>
+ <translation>Удалить все поля транзакции</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Очистить &amp;всё</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Баланс:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Подтвердить отправку</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Отправить</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; адресату %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Подтвердите отправку монет</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>Количество монет для отправки должно быть больше 0.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Вы уверены, что хотите отправить %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation> и </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Адрес получателя неверный, пожалуйста, перепроверьте.</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Добавить получателя...</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
- <source>Send Coins</source>
- <translation>Отправка</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Очистить всё</translation>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>Количество монет для отправки должно быть больше 0.</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
- <source>Remove all transaction fields</source>
- <translation>Удалить все поля транзакции</translation>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>Количество отправляемых монет превышает Ваш баланс</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Сумма превысит Ваш баланс, если комиссия в размере %1 будет добавлена к транзакции</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
- <source>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.</source>
- <translation>Ошибка: В транзакции отказано. Такое может произойти, если некоторые монеты уже были потрачены, например, если Вы используете одну копию файла wallet.dat, а монеты были потрачены из другой копии, но не были отмечены как потраченные в этой.</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Обнаружен дублирующийся адрес. Отправка на один и тот же адрес возможна только один раз за одну операцию отправки</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
- <source>The amount exceeds your balance.</source>
- <translation>Количество отправляемых монет превышает Ваш баланс</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Ошибка: не удалось создать транзакцию.</translation>
</message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>Ошибка: В транзакции отказано. Такое может произойти, если некоторые монеты уже были потрачены, например, если Вы используете одну копию файла wallet.dat, а монеты были потрачены из другой копии, но не были отмечены как потраченные в этой.</translation>
+ </message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>Ко&amp;личество:</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
- <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Введите Bitcoin-адрес (например 1LA5FtQhnnWnkK6zjFfutR7Stiit4wKd63)</translation>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>Полу&amp;чатель:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Введите метку для данного адреса (для добавления в адресную книгу)</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Метка:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Адрес получателя платежа (например 1LA5FtQhnnWnkK6zjFfutR7Stiit4wKd63)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Выберите адрес из адресной книги</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Вставить адрес из буфера обмена</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Удалить этого получателя</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>Полу&amp;чатель:</translation>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Введите Bitcoin-адрес (например 1LA5FtQhnnWnkK6zjFfutR7Stiit4wKd63)</translation>
</message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
- <source>Enter a label for this address to add it to your address book</source>
- <translation>Введите метку для данного адреса (для добавления в адресную книгу)</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Подписи - подписать/проверить сообщение</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
- <source>&amp;Label:</source>
- <translation>&amp;Метка:</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Подписать сообщение</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
- <source>Choose address from address book</source>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Вы можете подписывать сообщения своими адресами, чтобы доказать владение ими. Будьте осторожны, не подписывайте что-то неопределённое, так как фишинговые атаки могут обманным путём заставить вас подписать нежелательные сообщения. Подписывайте только те сообщения, с которыми вы согласны вплоть до мелочей.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Адрес, которым вы хотите подписать сообщение (напр. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
<translation>Выберите адрес из адресной книги</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
<source>Paste address from clipboard</source>
<translation>Вставить адрес из буфера обмена</translation>
</message>
-</context>
-<context>
- <name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Открыто до получения %1 блоков</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>Открыто до %1</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Введите сообщение для подписи</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Скопировать текущую подпись в системный буфер обмена</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/оффлайн?</translation>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Подписать сообщение, чтобы доказать владение адресом Bitcoin</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Статус:&lt;/b&gt; </translation>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Сбросить значения всех полей подписывания сообщений</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, разослано через %1 узел</translation>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Очистить &amp;всё</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, разослано через %1 узлов</translation>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Проверить сообщение</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Дата:&lt;/b&gt; </translation>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Введите ниже адрес для подписи, сообщение (убедитесь, что переводы строк, пробелы, табы и т.п. в точности скопированы) и подпись, чтобы проверить сообщение. Убедитесь, что не скопировали лишнего в подпись, по сравнению с самим подписываемым сообщением, чтобы не стать жертвой атаки &quot;man-in-the-middle&quot;.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Источник:&lt;/b&gt; [сгенерированно]&lt;br&gt;</translation>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Адрес, которым было подписано сообщение (напр. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Отправитель:&lt;/b&gt; </translation>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Проверить сообщение, чтобы убедиться, что оно было подписано указанным адресом Bitcoin</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Получатель:&lt;/b&gt; </translation>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Сбросить все поля проверки сообщения</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (Ваш, метка: </translation>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Введите адрес Bitcoin (напр. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (ваш)</translation>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Нажмите &quot;Подписать сообщение&quot; для создания подписи</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Кредит:&lt;/b&gt; </translation>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Введите подпись Bitcoin</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 станет доступно через %2 блоков)</translation>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Введённый адрес неверен</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(не принято)</translation>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Пожалуйста, проверьте адрес и попробуйте ещё раз.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Дебет:&lt;/b&gt; </translation>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>Введённый адрес не связан с ключом</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Комиссия:&lt;/b&gt; </translation>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Разблокировка бумажника была отменена.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Общая сумма:&lt;/b&gt; </translation>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Для введённого адреса недоступен закрытый ключ</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Сообщение:</translation>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Не удалось подписать сообщение</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Комментарий:</translation>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Сообщение подписано</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Идентификатор транзакции:</translation>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Подпись не может быть раскодирована.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Пожалуйста, проверьте подпись и попробуйте ещё раз.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>Подпись не соответствует отпечатку сообщения.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Проверка сообщения не удалась.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Сообщение проверено.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Открыто до %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Открыто для %n блока</numerusform>
+ <numerusform>Открыто для %n блоков</numerusform>
+ <numerusform>Открыто для %n блоков</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/отключен</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/не подтверждено</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 подтверждений</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Статус</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, разослано через %n узел</numerusform>
+ <numerusform>, разослано через %n узла</numerusform>
+ <numerusform>, разослано через %n узлов</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Дата</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Источник</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Сгенерированно</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>От</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Для</translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>свой адрес</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>метка</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Кредит</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>будет доступно через %n блок</numerusform>
+ <numerusform>будет доступно через %n блока</numerusform>
+ <numerusform>будет доступно через %n блоков</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>не принято</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Дебет</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Комиссия</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Чистая сумма</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Сообщение</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Комментарий:</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID транзакции</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Сгенерированные монеты должны подождать 120 блоков, прежде чем они могут быть потрачены. Когда Вы сгенерировали этот блок, он был отправлен в сеть для добавления в цепочку блоков. Если данная процедура не удастся, статус изменится на «не подтверждено», и монеты будут недействительны. Это иногда происходит в случае, если другой узел сгенерирует блок на несколько секунд раньше вас.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Отладочная информация</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Транзакция</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Входы</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Количество</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>истина</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>ложь</translation>
+ </message>
+ <message>
+ <location line="-211"/>
<source>, has not been successfully broadcast yet</source>
<translation>, ещё не было успешно разослано</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
+ <location line="+35"/>
<source>unknown</source>
<translation>неизвестно</translation>
</message>
- <message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Сгенерированные монеты должны подождать 120 блоков прежде, чем они смогут быть отправлены. Когда Вы сгенерировали этот блок он был отправлен в сеть, чтобы он был добавлен к цепочке блоков. Если данная процедура не удастся, статус изменится на «не подтверждено» и монеты будут непередаваемыми. Такое может случайно происходить в случае, если другой узел сгенерирует блок на несколько секунд раньше.</translation>
- </message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Детали транзакции</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Данный диалог показывает детализированную статистику по выбранной транзакции</translation>
</message>
@@ -1385,17 +1812,27 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Дата</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Type</source>
<translation>Тип</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Адрес</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation>Количество</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Открыто для %n блока</numerusform>
@@ -1404,278 +1841,268 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Открыто до %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Оффлайн (%1 подтверждений)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Не подтверждено (%1 из %2 подтверждений)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Подтверждено (%1 подтверждений)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Добытыми монетами можно будет воспользоваться через %n блок</numerusform>
+ <numerusform>Добытыми монетами можно будет воспользоваться через %n блока</numerusform>
+ <numerusform>Добытыми монетами можно будет воспользоваться через %n блоков</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Этот блок не был получен другими узлами и, возможно, не будет принят!</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>Сгенерированно, но не подтверждено</translation>
+ </message>
+ <message>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Получено</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Получено от</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Отправлено</translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Отправлено себе</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Mined</source>
<translation>Добыто</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>[не доступно]</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Статус транзакции. Подведите курсор к нужному полю для того, чтобы увидеть количество подтверждений.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Дата и время, когда транзакция была получена.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Тип транзакции.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Адрес назначения транзакции.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Сумма, добавленная, или снятая с баланса.</translation>
</message>
+</context>
+<context>
+ <name>TransactionView</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Адрес</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Все</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Дата</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Сегодня</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>Оффлайн (%1 подтверждений)</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>На этой неделе</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Этот блок не был получен другими узлами и, возможно, не будет принят!</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>В этом месяце</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
- <source>Generated but not accepted</source>
- <translation>Сгенерированно, но не подтверждено</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>За последний месяц</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Получено от</translation>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>В этом году</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>Отправлено</translation>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Промежуток...</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+11"/>
<source>Received with</source>
- <translation>Получено</translation>
+ <translation>Получено на</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Отправлено себе</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Добытыми монетами можно будет воспользоваться через %n блок</numerusform>
- <numerusform>Добытыми монетами можно будет воспользоваться через %n блока</numerusform>
- <numerusform>Добытыми монетами можно будет воспользоваться через %n блоков</numerusform>
- </translation>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Отправлено на</translation>
</message>
-</context>
-<context>
- <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Отправленные себе</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Промежуток...</translation>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Добытые</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Другое</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Введите адрес или метку для поиска</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Мин. сумма</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Другое</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Все</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Получено на</translation>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Копировать адрес</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>Копировать метку</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Изменить метку</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>В этом году</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Ошибка экспорта</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Скопировать сумму</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>до</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Изменить метку</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Количество</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Показать подробности транзакции</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>Экспортировать данные транзакций</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Текст, разделённый запятыми (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>Подтверждено</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Невозможно записать в файл %1.</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation>Тип</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
<translation>Метка</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Копировать адрес</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Сегодня</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>На этой неделе</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>В этом месяце</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>За последний месяц</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Отправлено на</translation>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Адрес</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Добытые</translation>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Количество</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Скопировать сумму</translation>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Показать детали...</translation>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Ошибка экспорта</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Адрес</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Невозможно записать в файл %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation>Промежуток от:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Текст, разделённый запятыми (*.csv)</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>до</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Отправка....</translation>
</message>
@@ -1683,495 +2110,629 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
<source>Bitcoin version</source>
<translation>Версия</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Загрузка бумажника...</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Использование:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Загрузка завершена</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Отправить команду на -server или bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Ошибка загрузки wallet.dat: бумажник требует более новую версию Bitcoin</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Список команд
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Не удаётся понизить версию бумажника</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Получить помощь по команде</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Ошибка при загрузке wallet.dat</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Опции:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Ошибка: Созданиние потока (запуск узла) не удался</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Указать конфигурационный файл (по умолчанию: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Невозможно забиндить порт %d на данном компьютере. Возможно, бумажник ужк запущен.</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Указать pid-файл (по умолчанию: bitcoin.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Ошибка в сумме комиссии</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Генерировать монеты</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>ВНИМАНИЕ: Проверьте дату и время, установленные на Вашем компьютере. Если Ваши часы идут не правильно Bitcoin может наботать не корректно.</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Не генерировать монеты</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>ВНИМАНИЕ: На диске заканчивается свободное пространство</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Укажите каталог данных</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Отправить команду на -server или bitcoind</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>Установить размер кэша базы данных в мегабайтах (по умолчанию: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Генерировать монеты</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Установить размер лога базы данных в мегабайтах (по умолчанию: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
+ <location line="-26"/>
<source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation>Принимать входящие подключения на &lt;port&gt; (по умолчанию: 8333 или 18333 в тестовой сети)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Указать конфигурационный файл (по умолчанию: bitcoin.conf)</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Поддерживать не более &lt;n&gt; подключений к узлам (по умолчанию: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Найти участников через IRC (по умолчанию: 0)</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Подключиться к узлу, чтобы получить список адресов других участников и отключиться</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Укажите ваш собственный публичный адрес</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Привязаться (bind) к указанному адресу. Используйте запись вида [хост]:порт для IPv6</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Порог для отключения неправильно ведущих себя узлов (по умолчанию: 100)</translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Число секунд блокирования неправильно ведущих себя узлов (по умолчанию: 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Произошла ошибка при открытии RPC-порта %u для прослушивания на IPv4: %s</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>Произошла ошибка при открытии на прослушивание IPv6 RCP-порта %u, возвращаемся к IPv4: %s</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Отключить базы данных блоков и адресов. Увеличивает время завершения работы (по умолчанию: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Ошибка: В транзакции отказано. Такое может произойти, если некоторые монеты уже были потрачены, например, если Вы используете одну копию файла wallet.dat, а монеты были потрачены из другой копии, но не были отмечены как потраченные в этой.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Ошибка: эта транзакция требует комиссию в размере как минимум %s из-за её объёма, сложности или использования недавно полученных средств </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Прослушивать подключения JSON-RPC на &lt;порту&gt; (по умолчанию: 8332 или для testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Accept command line and JSON-RPC commands</source>
<translation>Принимать командную строку и команды JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Ошибка: не удалось создать транзакцию.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Ошибка: бумажник заблокирован, невозможно создать транзакцию </translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Импортируется файл цепи блоков.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Импортируется bootstrap-файл цепи блоков.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Запускаться в фоне как демон и принимать команды</translation>
+ </message>
+ <message>
+ <location line="+33"/>
<source>Use the test network</source>
<translation>Использовать тестовую сеть</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Укажите таймаут соединения (в миллисекундах)</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Принимать подключения извне (по умолчанию: 1, если не используется -proxy или -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Имя для подключений JSON-RPC</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Максимальный размер высокоприоритетных/низкокомиссионных транзакций в байтах (по умолчанию: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Пароль для подключений JSON-RPC</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Внимание: установлено очень большое значение -paytxfee. Это комиссия, которую вы заплатите при проведении транзакции.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Разрешить подключения JSON-RPC с указанного IP</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Внимание: отображаемые транзакции могут быть некорректны! Вам или другим узлам, возможно, следует обновиться.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Обновить бумажник до последнего формата</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Внимание: убедитесь, что дата и время на Вашем компьютере выставлены верно. Если Ваши часы идут неправильно, Bitcoin будет работать некорректно.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Ошибка загрузки addr.dat</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Параметры создания блоков:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Ошибка загрузки wallet.dat: Бумажник поврежден</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Подключаться только к указанному узлу(ам)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Эта справка</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Определить свой IP (по умолчанию: 1 при прослушивании и если не используется -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Комиссия на килобайт, добавляемая к вашим транзакциям</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Не удалось начать прослушивание на порту. Используйте -listen=0 если вас это устраивает.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Искать узлы с помощью DNS (по умолчанию: 1, если не указан -connect)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Неверный адрес -tor: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Максимальный размер буфера приёма на соединение, &lt;n&gt;*1000 байт (по умолчанию: 5000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Максимальный размер буфера отправки на соединение, &lt;n&gt;*1000 байт (по умолчанию: 1000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Подключаться только к узлам из сети &lt;net&gt; (IPv4, IPv6 или Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Выводить больше отладочной информации. Включает все остальные опции -debug*</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Выводить дополнительную сетевую отладочную информацию</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation>Дописывать отметки времени к отладочному выводу</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>
+Параметры SSL: (см. Bitcoin Wiki для инструкций по настройке SSL)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Выберите версию SOCKS-прокси (4-5, по умолчанию: 5)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation>Выводить информацию трассировки/отладки на консоль вместо файла debug.log</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation>Отправлять информацию трассировки/отладки в отладчик</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Выполнить команду, когда появляется новый блок (%s в команде заменяется на хэш блока)</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Максимальный размер блока в байтах (по умолчанию: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Посылать команды узлу, запущенному на &lt;ip&gt; (по умолчанию: 127.0.0.1)</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Минимальный размер блока в байтах (по умолчанию: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Установить размер запаса ключей в &lt;n&gt; (по умолчанию: 100)</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Сжимать файл debug.log при запуске клиента (по умолчанию: 1, если нет -debug)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Перепроверить цепь блоков на предмет отсутствующих в бумажнике транзакций</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Таймаут соединения в миллисекундах (по умолчанию: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Сколько блоков проверять при запуске (по умолчанию: 2500, 0 = все)</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Использовать UPnP для проброса порта (по умолчанию: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Насколько тщательно проверять блоки (0-6, по умолчанию: 1)</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Использовать UPnP для проброса порта (по умолчанию: 1, если используется прослушивание)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Использовать OpenSSL (https) для подключений JSON-RPC</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Использовать прокси для скрытых сервисов (по умолчанию: тот же, что и в -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Приватный ключ сервера (по умолчанию: server.pem)</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Имя для подключений JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation>Принимать подключения извне (по умолчанию: 1)</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>Искать узлы с помощью DNS (по умолчанию: 1)</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Внимание: мало места на диске!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Подключаться через socks4 прокси</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Внимание: эта версия устарела, требуется обновление!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Отправка...</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Неверное количество</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Пароль для подключений JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, вы должны установить опцию rpcpassword в конфигурационном файле:
- %s
-Рекомендуется использовать следующий случайный пароль:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(вам не нужно запоминать этот пароль)
-Если файл не существует, создайте его и установите право доступа только для чтения только для владельца.
-</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Разрешить подключения JSON-RPC с указанного IP</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>Чтобы использовать опцию %s</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Посылать команды узлу, запущенному на &lt;ip&gt; (по умолчанию: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Ошибка</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Выполнить команду, когда появляется новый блок (%s в команде заменяется на хэш блока)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Вы должны установить rpcpassword=&lt;password&gt; в конфигурационном файле:
-%s
-Если файл не существует, создайте его и установите право доступа только для чтения только для владельца.</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Обновить бумажник до последнего формата</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Использование:</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Установить размер запаса ключей в &lt;n&gt; (по умолчанию: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>ВНИМАНИЕ: Установлена слишком большая комиссия (-paytxfee=). Данный параметр отвечает за комиссию, которую Вы будете добавлять к сумме при осуществлении транзакций.</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Перепроверить цепь блоков на предмет отсутствующих в бумажнике транзакций</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Ошибка в адресе прокси</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Сколько блоков проверять при запуске (по умолчанию: 2500, 0 = все)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Установить размер лога базы данных в мегабайтах (по умолчанию: 100)</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Насколько тщательно проверять блоки (0-6, по умолчанию: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Невозможно установить блокировку на рабочую директорию %s. Возможно, бумажник уже запущен.</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Импортировать блоки из внешнего файла blk000?.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Загрузка адресов...</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Использовать OpenSSL (https) для подключений JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Сканирование...</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Файл серверного сертификата (по умолчанию: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Загрузка индекса блоков...</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Приватный ключ сервера (по умолчанию: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Не удаётся записать адрес по умолчанию</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Разрешённые алгоритмы (по умолчанию: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Необходимо перезаписать бумажник, перезапустите Bitcoin для завершения операции.</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Эта справка</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Не удаётся инициализировать массив ключей</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Невозможно установить блокировку на рабочую директорию %s. Возможно, бумажник уже запущен.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation>Биткоин</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Список команд
-</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Получить помощь по команде</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Невозможно привязаться к %s на этом компьютере (bind вернул ошибку %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Опции:</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Подключаться через socks прокси</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Указать pid-файл (по умолчанию: bitcoin.pid)</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Разрешить поиск в DNS для -addnode, -seednode и -connect</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Не генерировать монеты</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Загрузка адресов...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Запускать свёрнутым</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Ошибка чтения blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Разрешённые алгоритмы (по умолчанию: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Ошибка загрузки wallet.dat: Бумажник поврежден</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Показывать сплэш при запуске (по умолчанию: 1)</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Ошибка загрузки wallet.dat: бумажник требует более новую версию Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Необходимо перезаписать бумажник, перезапустите Bitcoin для завершения операции.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Ошибка при загрузке wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Ошибка: не удалось создать транзакцию.</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Неверный адрес -proxy: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Ошибка: В транзакции отказано. Такое может произойти, если некоторые монеты уже были потрачены, например, если Вы используете одну копию файла wallet.dat, а монеты были потрачены из другой копии, но не были отмечены как потраченные в этой.</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>В параметре -onlynet указана неизвестная сеть: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Недостаточно монет</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>В параметре -socks запрошена неизвестная версия: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Произошла ошибка при открытии RPC-порта %u для прослушивания: %s</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Не удаётся разрешить адрес в параметре -bind: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Укажите каталог данных</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Не удаётся разрешить адрес в параметре -externalip: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>Установить размер кэша базы данных в мегабайтах (по умолчанию: 25)</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Неверное количество в параметре -paytxfee=&lt;кол-во&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Разрешить обращения к DNS для addnode и подключения</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Ошибка: не удалось запустить узел</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Поддерживать не более &lt;n&gt; подключений к узлам (по умолчанию: 125)</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Отправка...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Добавить узел для подключения и пытаться поддерживать соединение открытым</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Неверное количество</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Подключаться только к указанному узлу</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Недостаточно монет</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Выберите язык, например &quot;de_DE&quot; (по умолчанию: как в системе)</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Загрузка индекса блоков...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Порог для отключения неправильно ведущих себя узлов (по умолчанию: 100)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Добавить узел для подключения и пытаться поддерживать соединение открытым</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Число секунд блокирования неправильно ведущих себя узлов (по умолчанию: 86400)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Невозможно привязаться к %s на этом компьютере. Возможно, Bitcoin уже работает.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Максимальный размер буфера приёма на соединение, &lt;n&gt;*1000 байт (по умолчанию: 10000)</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Найти участников через IRC (по умолчанию: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Максимальный размер буфера отправки на соединение, &lt;n&gt;*1000 байт (по умолчанию: 10000)</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Комиссия на килобайт, добавляемая к вашим транзакциям</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Использовать UPnP для проброса порта (по умолчанию: 1)</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Загрузка бумажника...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Использовать UPnP для проброса порта (по умолчанию: 0)</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Не удаётся понизить версию бумажника</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Запускаться в фоне как демон и принимать команды</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Не удаётся инициализировать массив ключей</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Выводить дополнительную отладочную информацию</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Не удаётся записать адрес по умолчанию</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Ожидать подключения JSON-RPC на &lt;порт&gt; (по умолчанию: 8332)</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Сканирование...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-Параметры SSL: (см. Bitcoin Wiki для инструкций по настройке SSL)</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Загрузка завершена</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Файл серверного сертификата (по умолчанию: server.cert)</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Чтобы использовать опцию %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Отключить базы данных блоков и адресов. Увеличивает время завершения работы (по умолчанию: 0)</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, вы должны установить опцию rpcpassword в конфигурационном файле:
+ %s
+Рекомендуется использовать следующий случайный пароль:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(вам не нужно запоминать этот пароль)
+Если файл не существует, создайте его и установите права доступа только для владельца.
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Ошибка чтения blkindex.dat</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Ошибка</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Использование</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Вы должны установить rpcpassword=&lt;password&gt; в конфигурационном файле:
+%s
+Если файл не существует, создайте его и установите права доступа только для владельца.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_sk.ts b/src/qt/locale/bitcoin_sk.ts
index b90fce88d6..30f30b8aaf 100644
--- a/src/qt/locale/bitcoin_sk.ts
+++ b/src/qt/locale/bitcoin_sk.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>O Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; verzia</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,102 +33,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adresár</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dvojklikom editovať adresu alebo popis</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Vytvoriť novú adresu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Nová adresa...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Kopírovať práve zvolenú adresu do systémového klipbordu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopírovať do klipbordu</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Nová adresa</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopírovať adresu</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Zobraz &amp;QR Kód</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation>Podpísať správu a dokázať že vlastníte túto adresu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>Podpísať &amp;správu</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Zmazať práve zvolená adresu zo zoznamu. Len adresy pre odosielanie sa dajú zmazať.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Zmazať</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopírovať adresu</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopírovať popis</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Zmazať</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Upraviť</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopírovať &amp;popis</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Zmazať</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Upraviť</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Exportovať dáta z adresára</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Čiarkou oddelený súbor (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Chyba exportu.</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Nedalo sa zapisovať do súboru %1.</translation>
</message>
@@ -132,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Popis</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adresa</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(bez popisu)</translation>
</message>
@@ -150,389 +154,369 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialóg</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TextovýPopis</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Zadajte heslo</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Nové heslo</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Zopakujte nové heslo</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Zadajte nové heslo k peňaženke.&lt;br/&gt;Prosím použite heslo s dĺžkou aspon &lt;b&gt;10 alebo viac náhodných znakov&lt;/b&gt;, alebo &lt;b&gt;8 alebo viac slov&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Zašifrovať peňaženku</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Táto operácia potrebuje heslo k vašej peňaženke aby ju mohla dešifrovať.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Odomknúť peňaženku</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Táto operácia potrebuje heslo k vašej peňaženke na dešifrovanie peňaženky.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Dešifrovať peňaženku</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Zmena hesla</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Zadajte staré a nové heslo k peňaženke.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Potvrďte šifrovanie peňaženky</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>VAROVANIE: Ak zašifrujete peňaženku a stratíte heslo, &lt;b&gt;STRATÍTE VŠETKY VAŠE BITCOINY&lt;/b&gt;!⏎
-Ste si istí, že si želáte zašifrovať peňaženku?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Varovanie: Ak zašifrujete peňaženku a stratíte heslo, &lt;b&gt;STRATÍTE VŠETKY VAŠE BITCOINY&lt;/b&gt;!⏎</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Peňaženka zašifrovaná</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Ste si istí, že si želáte zašifrovať peňaženku?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Heslo k peňaženke bolo úspešne zmenené.</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Varovanie: Caps Lock je zapnutý</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Varovanie: Caps Lock je zapnutý</translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Peňaženka zašifrovaná</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>Bitcoin sa teraz ukončí pre dokončenie procesu šifrovania. Pamätaj že šifrovanie peňaženky Ťa nemôže úplne ochrániť pred kráďežou bitcoinov pomocou škodlivého software.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Šifrovanie peňaženky zlyhalo</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Šifrovanie peňaženky zlyhalo kôli internej chybe. Vaša peňaženka nebola zašifrovaná.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Zadané heslá nesúhlasia.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Odomykanie peňaženky zlyhalo</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Zadané heslo pre dešifrovanie peňaženky bolo nesprávne.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Zlyhalo šifrovanie peňaženky.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>Bitcoin sa teraz ukončí pre dokončenie procesu šifrovania. Pamätaj že šifrovanie peňaženky Ťa nemôže úplne ochrániť pred kráďežou bitcoinov pomocou škodlivého software.</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Heslo k peňaženke bolo úspešne zmenené.</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin peňaženka</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Podpísať &amp;správu...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>Synchronizácia so sieťou...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Prehľad</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Zobraziť celkový prehľad o peňaženke</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Transakcie</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Prechádzať históriu transakcií</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Adresár</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Editovať zoznam uložených adries a popisov</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>&amp;Prijať bitcoins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Zobraziť zoznam adries pre prijímanie platieb.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation>&amp;Poslať bitcoins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Poslať bitcoins na adresu</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Podpísať &amp;správu</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Dokázať že kontrolujete adresu</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="235"/>
+ <location line="+35"/>
<source>E&amp;xit</source>
<translation>U&amp;končiť</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
+ <location line="+1"/>
<source>Quit application</source>
<translation>Ukončiť program</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;O %1</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Upraviť možnosti nastavenia pre bitcoin</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Zobraziť informácie o Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation type="unfinished"></translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>O &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished">Zobraziť okno Bitcoin</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Zobrazit informácie o Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Exportovať tento náhľad do súboru</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Možnosti...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Zašifrovať Peňaženku</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Zašifrovať Peňaženku...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Zašifrovať alebo dešifrovať peňaženku</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup peňaženku...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">&amp;Backup peňaženku</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Zmena Hesla...</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Zálohovať peňaženku na iné miesto</translation>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Stiahnutých %1 (of %2) blokov transakčnej histórie (%3% done).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation type="unfinished"></translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Export...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Zobraziť informácie o Bitcoin</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Poslať bitcoins na adresu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>O &amp;Qt</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Upraviť možnosti nastavenia pre bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Zobrazit informácie o Qt</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Exportovať tento náhľad do súboru</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Možnosti...</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Zašifrovať alebo dešifrovať peňaženku</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Zmena Hesla</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Zálohovať peňaženku na iné miesto</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
+ <location line="+2"/>
<source>Change the passphrase used for wallet encryption</source>
<translation>Zmeniť heslo použité na šifrovanie peňaženky</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Súbor</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Lišta aktvivít</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
<translation type="unfinished"></translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Stiahnutých %1 (of %2) blokov transakčnej histórie (%3% done).</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Peňaženka</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Stiahnutých %1 blokov transakčnej histórie</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;O Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>Aktualizovaný</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>Posledný prijatý blok bol generovaný %1.</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Súbor</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Odoslané transakcie</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Nastavenia</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Prijaté transakcie</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Pomoc</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Peňaženka je &lt;b&gt;zašifrovaná&lt;/b&gt; a momentálne &lt;b&gt;odomknutá&lt;/b&gt;</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Lišta záložiek</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Peňaženka je &lt;b&gt;zašifrovaná&lt;/b&gt; a momentálne &lt;b&gt;zamknutá&lt;/b&gt;</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Lišta aktvivít</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation type="unfinished"></translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testovacia sieť]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Nastala chyba pri pokuse uložiť peňaženku na nové miesto.</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n aktívne spojenie v Bitcoin sieti</numerusform>
@@ -540,8 +524,13 @@ Ste si istí, že si želáte zašifrovať peňaženku?</translation>
<numerusform>%n aktívnych spojení v Bitconi sieti</numerusform>
</translation>
</message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Stiahnutých %1 blokov transakčnej histórie</translation>
+ </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>pred %n sekundou</numerusform>
@@ -550,7 +539,7 @@ Ste si istí, že si želáte zašifrovať peňaženku?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>pred %n minútou</numerusform>
@@ -559,7 +548,16 @@ Ste si istí, že si želáte zašifrovať peňaženku?</translation>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>pred hodinou</numerusform>
+ <numerusform>pred %n hodinami</numerusform>
+ <numerusform>pred %n hodinami</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>včera</numerusform>
@@ -568,12 +566,42 @@ Ste si istí, že si želáte zašifrovať peňaženku?</translation>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Aktualizovaný</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Sťahujem...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Posledný prijatý blok bol generovaný %1.</translation>
+ </message>
+ <message>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Veľkosť tejto transakcie prekračuje limit. Stále ju však môžete odoslať za poplatok %1 ktorý bude pripísaný uzlu spracúvajúcemu vašu transakciu. Chcete zaplatiť poplatok?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Odoslané transakcie</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Prijaté transakcie</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -584,575 +612,750 @@ Suma: %2
Typ: %3
Adresa: %4</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>pred hodinou</numerusform>
- <numerusform>pred %n hodinami</numerusform>
- <numerusform>pred %n hodinami</numerusform>
- </translation>
- </message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Export...</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Zálohovať peňaženku</translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Nastavenia</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Peňaženka je &lt;b&gt;zašifrovaná&lt;/b&gt; a momentálne &lt;b&gt;odomknutá&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Pomoc</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Peňaženka je &lt;b&gt;zašifrovaná&lt;/b&gt; a momentálne &lt;b&gt;zamknutá&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Lišta záložiek</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Zálohovať peňaženku</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testovacia sieť]</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Odosielanie...</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Nastala chyba pri pokuse uložiť peňaženku na nové miesto.</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Zobrazovať hodnoty v jednotkách:</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Zobraziť adresy zo zoznamu transakcií</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
- <source>&amp;Label</source>
- <translation>&amp;Popis</translation>
- </message>
- <message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>Upraviť odosielaciu adresu</translation>
- </message>
- <message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Upraviť adresu</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Popis</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Popis priradený k tomuto záznamu v adresári</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adresa</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Adresa spojená s týmto záznamom v adresári. Možno upravovať len pre odosielajúce adresy.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Nová adresa pre prijímanie</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Nová adresa pre odoslanie</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Upraviť prijímacie adresy</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Upraviť odosielaciu adresu</translation>
+ </message>
+ <message>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Vložená adresa &quot;%1&quot; sa už nachádza v adresári.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation>Vložená adresa &quot;%1&quot; nieje platnou adresou bitcoin.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Nepodarilo sa odomknúť peňaženku.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Generovanie nového kľúča zlyhalo.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Spustiť Bitcoin pri spustení systému správy okien</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Automaticky spustiť Bitcoin po zapnutí počítača</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>verzia</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>Zobraziť len ikonu na lište po minimalizovaní okna.</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Použitie:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Zobraziť len ikonu na lište po minimalizovaní okna.</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Mapovať port pomocou &amp;UPnP</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI možnosti</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Automaticky otvorit port pre Bitcoin na routeri. Toto funguje len ak router podporuje UPnP a je táto podpora aktivovaná.</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimalizovať pri zavretí</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Spustiť minimalizované</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimalizovat namiesto ukončenia aplikácie keď sa okno zavrie. Keď je zvolená táto možnosť, aplikácia sa zavrie len po zvolení Ukončiť v menu.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Pripojiť cez SOCKS4 proxy:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Možnosti</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Pripojiť do siete Bitcoin cez SOCKS4 proxy (napr. keď sa pripájate cez Tor)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Hlavné</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP: </translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>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ý.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP addresa proxy (napr. 127.0.0.1)</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Zaplatiť transakčné &amp;poplatky</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port: </translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Automaticky spustiť Bitcoin po zapnutí počítača</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Port proxy (napr. 1234)</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Spustiť Bitcoin pri spustení systému správy okien</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Zaplatiť transakčné &amp;poplatky</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+21"/>
+ <source>&amp;Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>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ý.</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Automaticky otvorit port pre Bitcoin na routeri. Toto funguje len ak router podporuje UPnP a je táto podpora aktivovaná.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Správa</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Mapovať port pomocou &amp;UPnP</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Môžete podpísať správy svojou adresou a dokázať, že ju vlastníte. Buďte opatrní a podpíšte len prehlásenia s ktorými plne súhlasíte, nakoľko útoky typu &quot;phishing&quot; Vás môžu lákať k ich podpísaniu.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Pripojiť do siete Bitcoin cez SOCKS proxy (napr. keď sa pripájate cez Tor)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Zadajte Bitcoin adresu (napr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Pripojiť cez SOCKS proxy:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Vyberte adresu z adresára</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP addresa proxy (napr. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Vložte adresu z klipbordu</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Port proxy (napr. 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Sem vložte správu ktorú chcete podpísať</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Kliknite &quot;Podpísať Správu&quot; na získanie podpisu</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Podpíšte správu aby ste dokázali že vlastníte túto adresu</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Podpísať Správu</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Zobraziť len ikonu na lište po minimalizovaní okna.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>Zobraziť len ikonu na lište po minimalizovaní okna.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimalizovat namiesto ukončenia aplikácie keď sa okno zavrie. Keď je zvolená táto možnosť, aplikácia sa zavrie len po zvolení Ukončiť v menu.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimalizovať pri zavretí</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Displej</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopírovať do klipbordu</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Chyba podpisovania</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Zobrazovať hodnoty v jednotkách:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 nieje platná adresa.</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Podpisovanie neúspešné</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Súkromný kľúč pre %1 nieje k dispozícii.</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Zobraziť adresy zo zoznamu transakcií</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Možnosti</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Hlavné</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Displej</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Nedávne transakcie&lt;/b&gt;</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Váš súčasný zostatok</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Varovanie</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Suma transakcií ktoré ešte neboli potvrdené a nezapočítavaju sa do celkového zostatku.</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>OverviewPage</name>
+ <message>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Forma</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Zostatok:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Počet transakcií:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Nepotvrdené:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation>Peňaženka</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Nedávne transakcie&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Váš súčasný zostatok</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Suma transakcií ktoré ešte neboli potvrdené a nezapočítavaju sa do celkového zostatku.</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Celkový počet transakcií v peňaženke</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Vyžiadať platbu</translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Suma:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Popis:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>Správa:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Vyžiadať platbu</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR kód</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;Uložiť ako...</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialóg</translation>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Save QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>SendCoinsDialog</name>
+ <name>RPCConsole</name>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; do %2 (%3)</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>Zostatok:</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
- <source>123.456 BTC</source>
- <translation>123.456 BTC</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
- <source>Confirm the send action</source>
- <translation>Potvrďte odoslanie</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>Potvrdiť odoslanie bitcoins</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source>Are you sure you want to send %1?</source>
- <translation>Ste si istí, že chcete odoslať %1?</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Poslať Bitcoins</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Poslať viacerým príjemcom naraz</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Pridať príjemcu...</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Pridať príjemcu</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Odobrať všetky políčka transakcie</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Zmazať všetko</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Zmazať &amp;všetko</translation>
+ </message>
+ <message>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>Zostatok:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>123.456 BTC</source>
+ <translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>Potvrďte odoslanie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Odoslať</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
- <source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation>Duplikát adresy objavený, je možné poslať na každú adresu len raz v jednej odchádzajúcej transakcii.</translation>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; do %2 (%3)</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>Potvrdiť odoslanie bitcoins</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>Ste si istí, že chcete odoslať %1?</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source> and </source>
<translation> a</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Adresa príjemcu je neplatná, prosím, overte ju.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Suma na úhradu musí byť väčšia ako 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Suma je vyššia ako Váš zostatok.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Suma celkom prevyšuje Váš zostatok ak sú započítané %1 transakčné poplatky.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>Duplikát adresy objavený, je možné poslať na každú adresu len raz v jednej odchádzajúcej transakcii.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Chyba: Zlyhalo vytvorenie transakcie.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Chyba: Transakcia bola odmietnutá. Toto sa môže stať ak niektoré z mincí vo vašej peňaženke boli už utratené, napríklad ak používaš kópiu wallet.dat a mince označené v druhej kópií neboli označené ako utratené v tejto.</translation>
</message>
@@ -1160,246 +1363,286 @@ Adresa: %4</translation>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Forma</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>Su&amp;ma:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>Zapla&amp;tiť:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Vložte popis pre túto adresu aby sa pridala do adresára</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Popis:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Adresa pre odoslanie platby je (napr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Zvoľte adresu z adresára</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Vložiť adresu z klipbordu</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Odstrániť tohto príjemcu</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Zadajte Bitcoin adresu (napr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>Otvorené do %1</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation type="unfinished"></translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Podpísať Správu</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/nepotvrdené</translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Môžete podpísať správy svojou adresou a dokázať, že ju vlastníte. Buďte opatrní a podpíšte len prehlásenia s ktorými plne súhlasíte, nakoľko útoky typu &quot;phishing&quot; Vás môžu lákať k ich podpísaniu.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 potvrdení</translation>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Zadajte Bitcoin adresu (napr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Stav:&lt;/b&gt; </translation>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Zvoľte adresu z adresára</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, ešte nebola úspešne odoslaná</translation>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, odoslaná cez %1 nódu</translation>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Vložte adresu z klipbordu</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, odoslaná cez %1 nód</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Dátum:&lt;/b&gt; </translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Sem vložte správu ktorú chcete podpísať</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Zdroj:&lt;/b&gt; Generovaný&lt;br&gt;</translation>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;od:&lt;/b&gt; </translation>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Podpíšte správu aby ste dokázali že vlastníte túto adresu</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>neznámy</translation>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Komu:&lt;/b&gt; </translation>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Zmazať &amp;všetko</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation>(vaše)</translation>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Kredit:&lt;/b&gt;</translation>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(neprijaté)</translation>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Zadajte Bitcoin adresu (napr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debet:&lt;/b&gt;</translation>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Transakčný poplatok:&lt;/b&gt;</translation>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Suma netto:&lt;/b&gt;</translation>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Zadajte Bitcoin adresu (napr. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Správa:</translation>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Kliknite &quot;Podpísať Správu&quot; na získanie podpisu</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Komentár:</translation>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>ID transakcie:</translation>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (vaše, popis: </translation>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 dospeje o %2 blokov)</translation>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
- <source>Transaction details</source>
- <translation>Detaily transakcie</translation>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
- <source>This pane shows a detailed description of the transaction</source>
- <translation>Táto časť obrazovky zobrazuje detailný popis transakcie</translation>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>TransactionTableModel</name>
+ <name>TransactionDesc</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
- <source>Type of transaction.</source>
- <translation>Typ transakcie.</translation>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Otvorené do %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Platba sebe samému</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Date</source>
- <translation>Dátum</translation>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/nepotvrdené</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Typ</translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 potvrdení</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Stav</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
- <source>Open for %n block(s)</source>
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
@@ -1407,38 +1650,56 @@ Adresa: %4</translation>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
- <source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>Status transakcie. Pohybujte myšou nad týmto poľom a zjaví sa počet potvrdení.</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Dátum</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
- <source>Date and time that the transaction was received.</source>
- <translation>Dátum a čas prijatia transakcie.</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Suma pridaná alebo odobraná k zostatku.</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Adresa</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>od</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Prijaté od:</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>Odoslané na</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>popis</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Kredit</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
@@ -1446,221 +1707,388 @@ Adresa: %4</translation>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>neprijaté</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Debet</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Transakčný poplatok</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Suma netto</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Správa</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Komentár</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID transakcie</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transakcie</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Suma</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, ešte nebola úspešne odoslaná</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>neznámy</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDescDialog</name>
+ <message>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Detaily transakcie</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Táto časť obrazovky zobrazuje detailný popis transakcie</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
+ <message>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Dátum</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>Typ</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Adresa</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation>Hodnota</translation>
</message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Otvorené do %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Offline (%1 potvrdení)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Nepotvrdené (%1 z %2 potvrdení)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Potvrdené (%1 potvrdení)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Ten blok nebol prijatý žiadnou inou nódou a pravdepodobne nebude akceptovaný!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Vypočítané ale neakceptované</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Prijaté s</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Prijaté od:</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Odoslané na</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Platba sebe samému</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Mined</source>
<translation>Vyfárané</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Status transakcie. Pohybujte myšou nad týmto poľom a zjaví sa počet potvrdení.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Dátum a čas prijatia transakcie.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Typ transakcie.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Cieľová adresa transakcie.</translation>
</message>
+ <message>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Suma pridaná alebo odobraná k zostatku.</translation>
+ </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Kopírovať adresu</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Všetko</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Rozsah...</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Dnes</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Prijaté s</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>Tento týždeň</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Odoslané na</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>Tento mesiac</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>Minulý mesiac</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>Samému sebe</translation>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Tento rok</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Čiarkou oddelovaný súbor (*.csv)</translation>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Rozsah...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Vložte adresu alebo popis pre vyhľadávanie</translation>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Prijaté s</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>Tento mesiac</translation>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Odoslané na</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Potvrdené</translation>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Samému sebe</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Dátum</translation>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>Vyfárané</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Adresa</translation>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Iné</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Rozsah:</translation>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Vložte adresu alebo popis pre vyhľadávanie</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Min množstvo</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Tento rok</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>Vyfárané</translation>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Kopírovať adresu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>Kopírovať popis</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Ukázať detaily...</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation>Kopírovať sumu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Všetko</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Editovať popis</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Dnes</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>Tento týždeň</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Exportovať transakčné dáta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Iné</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Čiarkou oddelovaný súbor (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Editovať popis</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Potvrdené</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Exportovať transakčné dáta</translation>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Dátum</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
<translation>Popis</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Adresa</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Amount</source>
<translation>Suma</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation>ID</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Chyba exportu</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Nedalo sa zapisovať do súboru %1.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Rozsah:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>to</source>
<translation>do</translation>
</message>
@@ -1668,7 +2096,7 @@ Adresa: %4</translation>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Odosielanie...</translation>
</message>
@@ -1676,484 +2104,618 @@ Adresa: %4</translation>
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Táto pomocná správa</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Bolo potrebné prepísať peňaženku: dokončite reštartovaním Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Chyba načítania wallet.dat</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin verzia</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
+ <location line="+82"/>
<source>Usage:</source>
<translation>Použitie:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
+ <location line="-25"/>
<source>Send command to -server or bitcoind</source>
<translation>Odoslať príkaz -server alebo bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
+ <location line="-19"/>
<source>List commands</source>
<translation>Zoznam príkazov</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
+ <location line="-11"/>
<source>Get help for a command</source>
<translation>Dostať pomoc pre príkaz</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
+ <location line="+20"/>
<source>Options:</source>
<translation>Možnosti:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
+ <location line="+23"/>
<source>Specify configuration file (default: bitcoin.conf)</source>
<translation>Určiť súbor s nastaveniami (predvolené: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Určiť súbor pid (predvolené: bitcoind.pid)</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Počítaj bitcoins</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Nepočítaj bitcoins</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Určiť priečinok s dátami</translation>
+ </message>
+ <message>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
+ <location line="+1"/>
<source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
+ <location line="-26"/>
<source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation>Načúvať spojeniam na &lt;port&gt; (prednastavené: 8333 alebo testovacia sieť: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
+ <location line="+4"/>
<source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation>Udržiavať maximálne &lt;n&gt; spojení (predvolené: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
+ <location line="+77"/>
<source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
+ <location line="-112"/>
<source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
+ <location line="+6"/>
<source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Chyba: Transakcia bola odmietnutá. Toto sa môže stať ak niektoré z mincí vo vašej peňaženke boli už utratené, napríklad ak používaš kópiu wallet.dat a mince označené v druhej kópií neboli označené ako utratené v tejto.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Veľkosť tejto transakcie prekračuje limit. Stále ju však môžete odoslať za poplatok %1 ktorý bude pripísaný uzlu spracúvajúcemu vašu transakciu. Chcete zaplatiť poplatok?</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Počúvať JSON-RPC spojeniam na &lt;port&gt; (predvolené: 8332 or testnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Accept command line and JSON-RPC commands</source>
<translation>Prijímať príkazy z príkazového riadku a JSON-RPC</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Chyba: Zlyhalo vytvorenie transakcie.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Bežať na pozadí ako démon a prijímať príkazy</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Použiť testovaciu sieť</translation>
+ </message>
+ <message>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Chyba načítania blkindex.dat</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Varovanie: -paytxfee je nastavené veľmi vysoko. Toto sú transakčné poplatky ktoré zaplatíte ak odošlete transakciu.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Chyba načítania wallet.dat: Peňaženka je poškodená</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Pripojiť sa len k určenej nóde</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Neplatná adresa tor: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Produkovať extra ladiace informácie. Implies all other -debug* options</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation>Pridať na začiatok ladiaceho výstupu časový údaj</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL možnosť: (pozrite Bitcoin Wiki pre návod na nastavenie SSL)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Odoslať trace/debug informácie na konzolu namiesto debug.info žurnálu</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation>Odoslať trace/debug informácie do ladiaceho programu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Povoliť JSON-RPC spojenia z určenej IP adresy.</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Užívateľské meno pre JSON-RPC spojenia</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Počúvať JSON-RPC spojeniam na &lt;port&gt; (predvolené: 8332)</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Heslo pre JSON-rPC spojenia</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Určiť aut spojenia v milisekundách (predvolené: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Chyba načítania wallet.dat: Peňaženka vyžaduje novšiu verziu Bitcoin</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Skúsiť použiť UPnP pre mapovanie počúvajúceho portu (default: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Načítavanie adries...</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Skúsiť použiť UPnP pre mapovanie počúvajúceho portu (default: 1 when listening)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Bežať na pozadí ako démon a prijímať príkazy</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Použiť testovaciu sieť</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Užívateľské meno pre JSON-RPC spojenia</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Odoslať trace/debug informácie na konzolu namiesto debug.info žurnálu</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Varovanie: Málo voľného miesta na disku</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Heslo pre JSON-rPC spojenia</translation>
+ </message>
+ <message>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Povoliť JSON-RPC spojenia z určenej IP adresy.</translation>
+ </message>
+ <message>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation>Poslať príkaz nóde bežiacej na &lt;ip&gt; (predvolené: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation>Nastaviť zásobu adries na &lt;n&gt; (predvolené: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Znovu skenovať reťaz blokov pre chýbajúce transakcie</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
<translation>Použiť OpenSSL (https) pre JSON-RPC spojenia</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation>Súbor s certifikátom servra (predvolené: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
<translation>Súkromný kľúč servra (predvolené: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation>Prijateľné šifry (predvolené: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Znovu skenovať reťaz blokov pre chýbajúce transakcie</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Táto pomocná správa</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoin verzia</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Počítaj bitcoins</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Nepočítaj bitcoins</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Určiť priečinok s dátami</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Pripojenie cez socks proxy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Určiť aut spojenia (v milisekundách)</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Povoliť vyhľadávanie DNS pre pridanie nódy a spojenie</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation type="unfinished">Použitie</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Načítavanie adries...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Načítavam peňaženku...</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Chyba načítania blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Dokončené načítavanie</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Chyba načítania wallet.dat: Peňaženka je poškodená</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Načítavanie zoznamu blokov...</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Chyba načítania wallet.dat: Peňaženka vyžaduje novšiu verziu Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Bolo potrebné prepísať peňaženku: dokončite reštartovaním Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Chyba načítania wallet.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Chyba: Zlyhalo vytvorenie transakcie.</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Neplatná adresa proxy: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Chyba: Transakcia bola odmietnutá. Toto sa môže stať ak niektoré z mincí vo vašej peňaženke boli už utratené, napríklad ak používaš kópiu wallet.dat a mince označené v druhej kópií neboli označené ako utratené v tejto.</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Spustiť minimalizované</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Pridať nódu a pripojiť sa and attempt to keep the connection open</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Pripojiť sa len k určenej nóde</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Neplatná suma pre -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Skúsiť použiť UPnP pre mapovanie počúvajúceho portu (default: 1)</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Skúsiť použiť UPnP pre mapovanie počúvajúceho portu (default: 0)</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Odosielanie...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Poplatok za kB ktorý treba pridať k odoslanej transakcii</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Neplatná suma</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Produkovať extra ladiace informácie</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Chyba načítania addr.dat</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Načítavanie zoznamu blokov...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation type="unfinished"></translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Pridať nódu a pripojiť sa and attempt to keep the connection open</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation type="unfinished"></translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Poplatok za kB ktorý treba pridať k odoslanej transakcii</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Neplatná adresa proxy</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Načítavam peňaženku...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Neplatná suma pre -paytxfee=&lt;amount&gt;</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Varovanie: Málo voľného miesta na disku</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Chyba: zlyhalo CreateThread(StartNode)</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Pripojenie cez socks4 proxy</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Povoliť vyhľadávanie DNS pre pridanie nódy a spojenie</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Dokončené načítavanie</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Odosielanie...</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Neplatná suma</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
+ <location line="+91"/>
<source>Error</source>
<translation>Chyba</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Určiť súbor pid (predvolené: bitcoind.pid)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>SSL možnosť: (pozrite Bitcoin Wiki pre návod na nastavenie SSL)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Varovanie: -paytxfee je nastavené veľmi vysoko. Toto sú transakčné poplatky ktoré zaplatíte ak odošlete transakciu.</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_sr.ts b/src/qt/locale/bitcoin_sr.ts
index 1de9a2660e..526f2d1eda 100644
--- a/src/qt/locale/bitcoin_sr.ts
+++ b/src/qt/locale/bitcoin_sr.ts
@@ -5,22 +5,26 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>О Bitcoin-у</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; верзија</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
<translation type="unfinished"></translation>
@@ -29,102 +33,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Адресар</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Ово су Ваше Bitcoin адресе за примање уплата. Можете да сваком пошиљаоцу дате другачију адресу да би пратили ко је вршио уплате.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Кликните два пута да промените адресу и/или етикету</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Прави нову адресу</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Нова адреса...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Копира изабрану адресу на системски клипборд</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>Ис&amp;копирај на клипборд</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Нова адреса</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Ово су Ваше Bitcoin адресе за примање уплата. Можете да сваком пошиљаоцу дате другачију адресу да би пратили ко је вршио уплате.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Брише изабрану адресу. Могуће је брисати само адресе са којих се шаље.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Избриши</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation type="unfinished"></translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Избриши</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Избриши</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Извоз података из адресара</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Зарезом одвојене вредности (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Грешка током извоза</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Није могуће писати у фајл %1.</translation>
</message>
@@ -132,17 +136,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Етикета</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Адреса</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(без етикете)</translation>
</message>
@@ -150,280 +154,383 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Дијалог</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TextLabel</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Унесите лозинку</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Нова лозинка</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Поновите нову лозинку</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Унесите нову лозинку за приступ новчанику.&lt;br/&gt;Молимо Вас да лозинка буде &lt;b&gt;10 или више насумице одабраних знакова&lt;/b&gt;, или &lt;b&gt;осам или више речи&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Шифровање новчаника</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Ова акција захтева лозинку Вашег новчаника да би га откључала.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Откључавање новчаника</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Ова акција захтева да унесете лозинку да би дешифловала новчаник.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Дешифровање новчаника</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Промена лозинке</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Унесите стару и нову лозинку за шифровање новчаника.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Одобрите шифровање новчаника</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>УПОЗОРЕЊЕ: Ако се ваш новчаник шифрује а потом изгубите лозинкзу, ви ћете &lt;b&gt;ИЗГУБИТИ СВЕ BITCOIN-Е&lt;/b&gt;!
-Да ли сте сигурни да желите да се новчаник шифује?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Упозорење: Ако се ваш новчаник шифрује а потом изгубите лозинкзу, ви ћете &lt;b&gt;ИЗГУБИТИ СВЕ BITCOIN-Е&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Новчаник је шифрован</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Да ли сте сигурни да желите да се новчаник шифује?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Новчаник је шифрован</translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Неуспело шифровање новчаника</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Настала је унутрашња грешка током шифровања новчаника. Ваш новчаник није шифрован.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Лозинке које сте унели се не подударају.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Неуспело откључавање новчаника</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Лозинка коју сте унели за откључавање новчаника је нетачна.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Неуспело дешифровање новчаника</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation>Лозинка за приступ новчанику је успешно промењена.</translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation type="unfinished"></translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin новчаник</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>Синхронизација са мрежом у току...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Општи преглед</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>Погледајте општи преглед новчаника</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;Трансакције</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>Претражите историјат трансакција</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Адресар</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Уредите запамћене адресе и њихове етикете</translation>
+ </message>
+ <message>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>П&amp;римање новца</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Прегледајте листу адреса на којима прихватате уплате</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation type="unfinished"></translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Слање новца</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
+ <location line="+35"/>
<source>E&amp;xit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
+ <location line="+1"/>
<source>Quit application</source>
<translation>Напустите програм</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
<translation>Прегледајте информације о Bitcoin-у</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>О &amp;Qt-у</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Прегледајте информације о Qt-у</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>&amp;Options...</source>
<translation>П&amp;оставке...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Изаберите могућности bitcoin-а</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Шифровање новчаника...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation type="unfinished"></translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Backup новчаника</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>Промени &amp;лозинку...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Преузето је %1 од укупно %2 блокова историјата трансакција (%3% done).</translation>
+ </message>
+ <message>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Извоз...</translation>
+ </message>
+ <message>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Пошаљите новац на bitcoin адресу</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Изаберите могућности bitcoin-а</translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation type="unfinished">&amp;Backup новчаника</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Шифровање и дешифровање новчаника</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
+ <location line="+3"/>
<source>Backup wallet to another location</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>Промени &amp;лозинку</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Мењање лозинке којом се шифрује новчаник</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>новчаник</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;О Bitcoin-у</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>&amp;Фајл</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
<translation>&amp;Подешавања</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation>П&amp;омоћ</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation>Трака са картицама</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation>Трака са алаткама</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
<translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation type="unfinished"></translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Преузето је %1 од укупно %2 блокова историјата трансакција (%3% done).</translation>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n активна веза са Bitcoin мрежом</numerusform>
+ <numerusform>%n активне везе са Bitcoin мрежом</numerusform>
+ <numerusform>%n активних веза са Bitcoin мрежом</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>Преузето је %1 блокова историјата трансакција.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>пре %n секунд</numerusform>
@@ -432,7 +539,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>пре %n минут</numerusform>
@@ -441,7 +548,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>пре %n сат</numerusform>
@@ -450,7 +557,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>пре %n дан</numerusform>
@@ -459,697 +566,793 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Ажурно</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Ажурирање у току...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Последњи примљени блок је направљен %1.</translation>
+ </message>
+ <message>
+ <location line="+58"/>
<source>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?</source>
+ <translation>Ова трансакција је превелика. И даље је можете послати уз накнаду од %1, која ће отићи чвору који прерађује трансакцију и помаже издржавању целе мреже. Да ли желите да дате напојницу?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Послана трансакција</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Придошла трансакција</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>Синхронизација са мрежом у току...</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Новчаник јс &lt;b&gt;шифрован&lt;/b&gt; и тренутно &lt;b&gt;откључан&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Придошла трансакција</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Новчаник јс &lt;b&gt;шифрован&lt;/b&gt; и тренутно &lt;b&gt;закључан&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Општи преглед</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Backup новчаника</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>Погледајте општи преглед новчаника</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;Трансакције</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>Претражите историјат трансакција</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Извоз...</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Уредите запамћене адресе и њихове етикете</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>EditAddressDialog</name>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Шифровање и дешифровање новчаника</translation>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
+ <source>Edit Address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Мењање лозинке којом се шифрује новчаник</translation>
+ <location line="+11"/>
+ <source>&amp;Label</source>
+ <translation>&amp;Етикета</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Слање...</translation>
+ <location line="+10"/>
+ <source>The label associated with this address book entry</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Адреса</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Новчаник јс &lt;b&gt;шифрован&lt;/b&gt; и тренутно &lt;b&gt;закључан&lt;/b&gt;</translation>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Слање новца</translation>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished">Приказује прозор Bitcoin-а</translation>
+ <location line="+3"/>
+ <source>Edit receiving address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Новчаник јс &lt;b&gt;шифрован&lt;/b&gt; и тренутно &lt;b&gt;откључан&lt;/b&gt;</translation>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation type="unfinished"></translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
+ <message>
+ <location line="+60"/>
+ <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Backup новчаника</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>Последњи примљени блок је направљен %1.</translation>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Немогуће откључати новчаник.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Послана трансакција</translation>
+ <location line="+5"/>
+ <source>New key generation failed.</source>
+ <translation type="unfinished"></translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n активна веза са Bitcoin мрежом</numerusform>
- <numerusform>%n активне везе са Bitcoin мрежом</numerusform>
- <numerusform>%n активних веза са Bitcoin мрежом</numerusform>
- </translation>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
+ <message>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Пошаљите новац на bitcoin адресу</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>верзија</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;О %1-у</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>О &amp;Qt-у</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Прегледајте информације о Qt-у</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Шифровање новчаника</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Јединица за приказивање износа: </translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Поставке</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
+ <location line="+16"/>
+ <source>&amp;Main</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
- <source>Edit Address</source>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
- <source>&amp;Label</source>
- <translation>&amp;Етикета</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
- <source>The label associated with this address book entry</source>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>&amp;Адреса</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
- <source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
+ <location line="+21"/>
+ <source>&amp;Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
- <source>New receiving address</source>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
- <source>New sending address</source>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
- <source>Edit receiving address</source>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
- <source>The entered address &quot;%1&quot; is already in the address book.</source>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>Немогуће откључати новчаник.</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
- <source>New key generation failed.</source>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MainOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
+ <location line="+36"/>
+ <source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
+ <location line="+3"/>
<source>&amp;Minimize to the tray instead of the taskbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
+ <location line="+3"/>
<source>M&amp;inimize on close</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <location line="+21"/>
+ <source>&amp;Display</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Јединица за приказивање износа:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <location line="+71"/>
+ <source>&amp;OK</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MessagePage</name>
+ <name>OverviewPage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <location line="-141"/>
+ <source>Balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>новчаник</translation>
+ </message>
+ <message>
+ <location line="+124"/>
+ <source>Immature:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
+ <location line="-118"/>
+ <source>Your current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
+ <location line="+20"/>
+ <source>Total number of transactions in wallet</source>
+ <translation>Укупан број трансакција у новчанику</translation>
+ </message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>QRCodeDialog</name>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>Ис&amp;копирај на клипборд</translation>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
+ <location line="+56"/>
+ <source>Amount:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>&amp;Етикета</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Поставке</translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>OverviewPage</name>
+ <name>RPCConsole</name>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
- <source>Total number of transactions in wallet</source>
- <translation>Укупан број трансакција у новчанику</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
+ <location line="-45"/>
+ <source>&amp;Information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
+ <location line="+49"/>
+ <source>Startup time</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
+ <location line="+29"/>
+ <source>Network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
+ <location line="+7"/>
+ <source>Number of connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>новчаник</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <location line="+23"/>
+ <source>Block chain</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Дијалог</translation>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
+ <location line="+23"/>
+ <source>Last block time</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
+ <location line="+52"/>
+ <source>&amp;Open</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
+ <location line="+16"/>
+ <source>Command-line options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>&amp;Етикета</translation>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
+ <location line="+3"/>
+ <source>&amp;Show</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
+ <location line="+24"/>
+ <source>&amp;Console</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
+ <location line="-260"/>
+ <source>Build date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Слање новца</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Пошаљи</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Да ли сте сигурни да желите да пошаљете %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation type="unfinished"></translation>
</message>
@@ -1157,217 +1360,442 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Етикета</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
+ <location line="+8"/>
+ <source>%1/offline</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
+ <location line="+18"/>
+ <source>Status</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
+ <location line="+4"/>
+ <source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
+ <location line="+7"/>
+ <source>Source</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
+ <location line="+0"/>
+ <source>Generated</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>етикета</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
+ <location line="-39"/>
+ <source>Transaction fee</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
+ <location line="+16"/>
+ <source>Net amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
+ <location line="+6"/>
+ <source>Message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
+ <location line="+2"/>
+ <source>Comment</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
+ <location line="+2"/>
+ <source>Transaction ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
+ <location line="+7"/>
+ <source>Debug information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
+ <location line="+8"/>
+ <source>Transaction</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
+ <location line="+5"/>
+ <source>Inputs</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <location line="+35"/>
+ <source>unknown</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation type="unfinished"></translation>
</message>
@@ -1375,27 +1803,27 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Адреса</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Адреса</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
@@ -1404,28 +1832,28 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation type="unfinished"></translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
@@ -1433,67 +1861,67 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation type="unfinished"></translation>
</message>
@@ -1501,163 +1929,163 @@ Address: %4
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Није могуће писати у фајл %1.</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Зарезом одвојене вредности (*.csv)</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
<source>Copy amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
+ <location line="+1"/>
+ <source>Show transaction details</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Зарезом одвојене вредности (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Confirmed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location line="+1"/>
<source>Type</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
<source>Label</source>
<translation>Етикета</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation>Адреса</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Грешка током извоза</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Није могуће писати у фајл %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
<source>Range:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+8"/>
<source>to</source>
<translation type="unfinished"></translation>
</message>
@@ -1665,7 +2093,7 @@ Address: %4
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Слање у току...</translation>
</message>
@@ -1673,483 +2101,617 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Новчаник се учитава...</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin верзија</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Слање у току...</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="-19"/>
+ <source>List commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
+ <location line="-11"/>
+ <source>Get help for a command</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Поставке</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
+ <location line="-47"/>
+ <source>Generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
+ <location line="+60"/>
+ <source>Specify data directory</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoin верзија</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Поставке</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
+ <location line="+3"/>
+ <source>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.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
+ <location line="+33"/>
+ <source>Use the test network</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <location line="+24"/>
+ <source>Block creation options:</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
+ <location line="+2"/>
<source>Prepend debug output with timestamp</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Username for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
+ <location line="-14"/>
<source>Rescan the block chain for missing wallet transactions</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <location line="+57"/>
+ <source>Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
+ <location line="-26"/>
<source>Error loading blkindex.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
+ <location line="+2"/>
<source>Error loading wallet.dat: Wallet corrupted</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
+ <location line="+73"/>
<source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
+ <location line="-75"/>
<source>Error loading wallet.dat</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Слање у току...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Новчаник се учитава...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
<source>Cannot downgrade wallet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
+ <location line="+1"/>
<source>Cannot initialize keypool</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
+ <location line="+3"/>
<source>Cannot write default address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
+ <location line="+46"/>
<source>Rescanning...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
+ <location line="-40"/>
<source>Done loading</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
+ <location line="+64"/>
+ <source>To use the %s option</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
+ <location line="+91"/>
+ <source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/src/qt/locale/bitcoin_sv.ts b/src/qt/locale/bitcoin_sv.ts
index f5d48ce2b2..215721ed53 100644
--- a/src/qt/locale/bitcoin_sv.ts
+++ b/src/qt/locale/bitcoin_sv.ts
@@ -5,29 +5,33 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Om Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt;-version</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Copyright © 2009-2012 Bitcoin-utvecklarna</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Copyright © 2009-2012 Bitcoin-utvecklarna
-
+ <translation>
Detta är experimentell mjukvara.
-Distribuerad under mjukvarulicensen MIT/X11, se den medföljande filen license.txt eller http://www.opensource.org/licenses/mit-license.php.
+
+Distribuerad under mjukvarulicensen MIT/X11, se den medföljande filen COPYING eller http://www.opensource.org/licenses/mit-license.php.
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.</translation>
</message>
@@ -35,120 +39,120 @@ Denna produkten innehåller mjukvara utvecklad av OpenSSL Project för användni
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adressbok</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>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.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Dubbel-klicka för att ändra adressen eller etiketten</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Skapa ny adress</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Ny adress...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Kopiera den markerade adressen till systemets Urklipp</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopiera till Urklipp</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Ny adress</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Kopiera adress</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>Visa &amp;QR-kod</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation>Signera ett meddelande för att bevisa att du äger denna adress</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
- <translation>Signera &amp;meddelande</translation>
+ <translation>Signera &amp;Meddelande</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Ta bort den valda adressen från listan. Bara avsändar-adresser kan tas bort.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Ta bort den valda adressen från listan</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Ta bort</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Verifiera meddelandet för att vara säker på att den var signerad med den specificerade Bitcoin-adressen</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
- <source>Show &amp;QR Code</source>
- <translation>Visa &amp;QR-kod</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verifiera Meddelande</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Kopiera etikett</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Ta bort</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Editera</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Kopiera &amp;etikett</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Ta bort</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Editera</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Exportera Adressbok</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Kommaseparerad fil (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Fel vid export</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Kunde inte skriva till filen %1.</translation>
</message>
- <message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Kopiera adress</translation>
- </message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etikett</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adress</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(Ingen etikett)</translation>
</message>
@@ -156,416 +160,389 @@ Denna produkten innehåller mjukvara utvecklad av OpenSSL Project för användni
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Lösenords Dialog</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Ange lösenord</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Nytt lösenord</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Upprepa nytt lösenord</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>TextLabel</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Ange plånbokens nya lösenord. &lt;br/&gt; Använd ett lösenord på &lt;b&gt;10 eller fler slumpmässiga tecken,&lt;/b&gt; eller &lt;b&gt;åtta eller fler ord.&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Kryptera plånbok</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Denna operation behöver din plånboks lösenord för att låsa upp plånboken.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Lås upp plånbok</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Denna operation behöver din plånboks lösenord för att dekryptera plånboken.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Dekryptera plånbok</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Ändra lösenord</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Ange plånbokens gamla och nya lösenord.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Bekräfta kryptering av plånbok</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>VARNING: Om du krypterar din plånbok och glömmer din lösenfras, kommer du att &lt;b&gt;förlora alla dina BITCOINS!&lt;/b&gt; Är du säker på att du vill kryptera din plånbok?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>VARNING: Om du krypterar din plånbok och glömmer ditt lösenord, kommer du att &lt;b&gt;FÖRLORA ALLA DINA TILLGÅNGAR&lt;/b&gt;!</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Är du säker på att du vill kryptera din plånbok?</translation>
+ </message>
+ <message>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>VIKTIGT: Alla tidigare säkerhetskopior du har gjort av plånbokens fil ska ersättas med den nya genererade, krypterade plånboks filen. Av säkerhetsskäl kommer tidigare säkerhetskopior av den okrypterade plånboks filen blir oanvändbara när du börjar använda en ny, krypterad plånbok.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Varning: Caps Lock är påslaget!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>Plånboken är krypterad</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>Programmet kommer nu att stänga ner för att färdigställa krypteringen. Tänk på att en krypterad plånbok inte skyddar mot stöld om din dator är infekterad med en keylogger.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>VIKTIGT: Alla tidigare säkerhetskopior du har gjort av plånbokens fil ska ersättas med den nya genererade, krypterade plånboks filen. Av säkerhetsskäl kommer tidigare säkerhetskopior av den okrypterade plånboks filen blir oanvändbara när du börjar använda en ny, krypterad plånbok.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Kryptering av plånbok misslyckades</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Kryptering av plånbok misslyckades på grund av ett internt fel. Din plånbok blev inte krypterad.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>De angivna lösenorden överensstämmer inte.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Upplåsning av plånbok misslyckades</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Lösenordet för dekryptering av plånbok var felaktig.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Dekryptering av plånbok misslyckades</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation>Plånbokens lösenord har ändrats.</translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Varning: Caps Lock är påslaget.</translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Kryptera eller dekryptera plånbok</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>Signera &amp;meddelande...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>Synkroniserar med nätverk...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Översikt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin-plånbok</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Visa översiktsvy av plånbok</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Transaktioner</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Bläddra i transaktionshistorik</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;Ta emot bitcoins</translation>
+ <location line="+5"/>
+ <source>&amp;Address Book</source>
+ <translation>&amp;Adressbok</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>&amp;Skicka bitcoins</translation>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Redigera listan med lagrade adresser och etiketter</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Skicka bitcoins till en bitcoinadress</translation>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;Ta emot bitcoins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>Signera &amp;meddelande</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Visa listan med adresser för att ta emot betalningar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation type="unfinished"></translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>&amp;Skicka bitcoins</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
+ <location line="+35"/>
<source>E&amp;xit</source>
<translation>&amp;Avsluta</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Kryptera plånbok</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Avsluta programmet</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>&amp;Säkerhetskopiera Plånbok</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Visa information om Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Byt lösenfras</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>Om &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Laddat ner %1 block från transaktionshistoriken.</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Visa information om Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>Visa/Göm &amp;Bitcoin</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Alternativ...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Säkerhetskopiera plånboken till en annan plats</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Kryptera plånbok...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Visa listan med adresser för att ta emot betalningar</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Säkerhetskopiera plånbok...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Denna plånbok är &lt;b&gt;krypterad&lt;/b&gt; och för närvarande &lt;b&gt;olåst&lt;/b&gt;</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;Byt Lösenord...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~%n block återstår</numerusform>
+ <numerusform>~%n block återstår</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Redigera listan med lagrade adresser och etiketter</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Laddat ner %1 av %2 block från transaktionshistoriken (%3% klart).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
- <source>&amp;Address Book</source>
- <translation>&amp;Adressbok</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Exportera...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Visa information om Bitcoin</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Skicka mynt till en Bitcoin-adress</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;Om %1</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Ändra konfigurationsalternativ för Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation>Exportera informationen i den nuvarande fliken till en fil</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Arkiv</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Kryptera eller dekryptera plånbok</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Verktygsfält för Tabbar</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Säkerhetskopiera plånboken till en annan plats</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="258"/>
+ <location line="+2"/>
<source>Change the passphrase used for wallet encryption</source>
<translation>Byt lösenord för kryptering av plånbok</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Inställningar</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Verktygsfältet för Handlingar</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoin-klient</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>%n timme sedan</numerusform>
- <numerusform>%n timmar sedan</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
- <translation>
- <numerusform>%n dag sedan</numerusform>
- <numerusform>%n dagar sedan</numerusform>
- </translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Debug fönster</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Hjälp</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Öppna debug- och diagnostikkonsolen</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Säkerhetskopiering misslyckades</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;Verifiera meddelande...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Avsluta programmet</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Plånbok</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>Inkommande transaktion</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Om Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Säkerhetskopiera Plånbok</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Visa / Göm</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Plånboks-data (*.dat)</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Arkiv</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Det inträffade ett fel när plånboken skulle sparas till den nya platsen.</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Inställningar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>Om &amp;Qt</translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Hjälp</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Visa information om Qt</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Verktygsfält för Tabbar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Alternativ...</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Verktygsfältet för Handlingar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Visa eller göm Bitcoin-fönstret</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Exportera...</translation>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoin-klient</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>%n aktiv anslutning till Bitcoin-nätverket</numerusform>
<numerusform>%n aktiva anslutningar till Bitcoin-nätverket</numerusform>
</translation>
</message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Laddat ner %1 block från transaktionshistoriken.</translation>
+ </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
<translation>
- <numerusform>~%n block återstår</numerusform>
- <numerusform>~%n block återstår</numerusform>
+ <numerusform>%n sekund sedan</numerusform>
+ <numerusform>%n sekunder sedan</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Laddat ner %1 av %2 block från transaktionshistoriken (%3% klart).</translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>%n minut sedan</numerusform>
@@ -573,35 +550,58 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
<translation>
- <numerusform>%n sekund sedan</numerusform>
- <numerusform>%n sekunder sedan</numerusform>
+ <numerusform>%n timme sedan</numerusform>
+ <numerusform>%n timmar sedan</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n dag sedan</numerusform>
+ <numerusform>%n dagar sedan</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Uppdaterad</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Hämtar senaste...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Senast mottagna block genererades %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Transaktionen överskrider storleksgränsen. Du kan dock fortfarande skicka den mot en kostnad av %1. Denna avgift går till noderna som behandlar din transaktion och bidrar till nätverket. Vill du betala denna avgift?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Bekräfta överföringsavgift</translation>
+ </message>
+ <message>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Transaktion skickad</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>Inkommande transaktion</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -614,545 +614,749 @@ Adress: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Denna plånbok är &lt;b&gt;krypterad&lt;/b&gt; och för närvarande &lt;b&gt;låst&lt;/b&gt;</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI hantering</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Ändra konfigurationsalternativ för bitcoin</translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI går inte att tolkas! Detta kan orsakas av en ogiltig Bitcoin-adress eller felaktiga URI parametrar.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Denna plånbok är &lt;b&gt;krypterad&lt;/b&gt; och för närvarande &lt;b&gt;olåst&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Skickar...</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Denna plånbok är &lt;b&gt;krypterad&lt;/b&gt; och för närvarande &lt;b&gt;låst&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation>Ett allvarligt fel har uppstått. Bitcoin kan inte längre köras säkert och kommer att avslutas.</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Säkerhetskopiera Plånbok</translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;Enhet att visa belopp i:</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Plånboks-data (*.dat)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Välj en standard för enhets mått, att visa när du skickar mynt</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Säkerhetskopiering misslyckades</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Visa adresser i transaktionslistan</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Det inträffade ett fel när plånboken skulle sparas till den nya platsen.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Anger om Bitcoin-adresser skall visas i transaktionslistan</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>Ett allvarligt fel har uppstått. Bitcoin kan inte längre köras säkert och kommer att avslutas.</translation>
+ </message>
+</context>
+<context>
+ <name>ClientModel</name>
+ <message>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Nätverkslarm</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Redigera Adress</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Etikett</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Den etikett som är associerad med detta adressboksinlägg</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adress</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Adressen som är associerad med detta adressboksinlägg. Detta kan enbart ändras för sändande adresser.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Ny mottagaradress</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Ny avsändaradress</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Redigera mottagaradress</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Redigera avsändaradress</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Den angivna adressen &quot;%1&quot; finns redan i adressboken.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
<translation>Den angivna adressen &quot;%1&quot; är inte en giltig Bitcoin-adress.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Plånboken kunde inte låsas upp.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Misslyckades med generering av ny nyckel.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Starta Bitcoin vid systemstart</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Starta Bitcoin automatiskt när datorn startas.</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>version</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;Minimera till systemfältet istället för aktivitetsfältet</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Användning:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Visa endast en systemfältsikon vid minimering</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>kommandoradsalternativ</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Tilldela port med hjälp av &amp;UPnP</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI alternativ</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Öppna automatiskt Bitcoin-klientens port på routern. Detta fungerar endast om din router har UPnP aktiverat.</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Ändra språk, till exempel &quot;de_DE&quot; (standard: systemets språk)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>M&amp;inimera vid stängning</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Starta som minimerad</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Minimera applikationen istället för att stänga ner den när fönstret stängs. Detta innebär att programmet fotrsätter att köras tills du väljer Avsluta i menyn.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Visa startbilden vid uppstart (standard: 1)</translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;Anslut via SOCKS4 proxy:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Alternativ</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Anslut till Bitcoin-nätverket genom en SOCKS4-proxy (t.ex. när du ansluter genom Tor)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Allmänt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Proxy &amp;IP: </translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Valfri transaktionsavgift per kB som ser till att dina transaktioner behandlas snabbt. De flesta transaktioner är 1 kB. Avgift 0.01 rekommenderas.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>Proxyns IP-adress (t.ex. 127.0.0.1).</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Betala överförings&amp;avgift</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port: </translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Starta Bitcoin automatiskt efter inloggning.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Proxyns port (t.ex. 1234)</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Starta Bitcoin vid systemstart</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>Valfri transaktionsavgift per kB som ser till att dina transaktioner behandlas snabbt. De flesta transaktioner är 1 kB. Avgift 0.01 rekommenderas.</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Frigör block- och adressdatabaser vid nedstängning. Detta innebär att de kan flyttas till en annan data katalog, men det saktar ner avstängningen. Plånboken är alltid frigjord.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Betala överförings &amp;avgift</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;Frigör databaser vid nedstängning</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>Frigör databaser vid nedstängning</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Nätverk</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Frigör block- och adressdatabaser vid nedstängning. Detta innebär att de kan flyttas till en annan data katalog, men det saktar ner avstängningen. Plånboken är alltid frigjord.</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Öppna automatiskt Bitcoin-klientens port på routern. Detta fungerar endast om din router har UPnP aktiverat.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Meddelande</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Tilldela port med hjälp av &amp;UPnP</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Du kan signera meddelanden med dina adresser för att bevisa att du äger dem. Var försiktig med vad du signerar eftersom phising-attacker kan försöka få dig att skriva över din identitet till någon annan. Signera bara väldetaljerade påståenden du kan gå i god för.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Anslut till Bitcoin-nätverket genom en SOCKS-proxy (t.ex. när du ansluter genom Tor).</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Adressen att signera meddelandet med (t.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;Anslut genom SOCKS-proxy:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Välj adress från adressboken</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Proxy-&amp;IP: </translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Proxyns IP-adress (t.ex. 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Klistra in adress från Urklipp</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port: </translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Proxyns port (t.ex. 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Skriv in meddelandet du vill signera här</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS &amp;Version:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Klicka &quot;Signera Meddelande&quot; för att få en signatur</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>SOCKS version av proxyn (t.ex. 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Signera ett meddelande för att bevisa att du äger denna adress</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Fönster</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Signera meddelande</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Visa endast en systemfältsikon vid minimering.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Kopiera signaturen till systemets Urklipp</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;Minimera till systemfältet istället för aktivitetsfältet</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Kopiera till Urklipp</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Minimera applikationen istället för att stänga ner den när fönstret stängs. Detta innebär att programmet fotrsätter att köras tills du väljer Avsluta i menyn.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation type="unfinished">Fel</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>M&amp;inimera vid stängning</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation type="unfinished">Den angivna adressen &quot;%1&quot; är inte en giltig Bitcoin-adress.</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Visa</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation type="unfinished">Privata nyckel för den angivna adressen är inte tillgänglig. %1</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>Användargränssnittets &amp;språk: </translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation type="unfinished">Signeringen av meddelandet misslyckades.</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Användargränssnittets språk kan ställas in här. Denna inställning träder i kraft efter en omstart av Bitcoin.</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Allmänt</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;Måttenhet att visa belopp i: </translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Visa</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Välj en måttenhet att visa när du skickar mynt.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Alternativ</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Anger om Bitcoin-adresser skall visas i transaktionslistan.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Visa adresser i transaktionslistan</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;OK</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;Avbryt</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Verkställ</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>standard</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Varning</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Denna inställning träder i kraft efter en omstart av Bitcoin.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Den medföljande proxy adressen är ogiltig.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Formulär</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Ditt nuvarande saldo</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Saldo:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Antal transaktioner:</translation>
+ </message>
+ <message>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Obekräftade:</translation>
+ </message>
+ <message>
+ <location line="-78"/>
<source>Wallet</source>
<translation>Plånbok</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Nyligen genomförda transaktioner&lt;/b&gt;</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Omogen:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>Antal transaktioner:</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Den genererade balansen som ännu inte har mognat</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Nyligen genomförda transaktioner&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Obekräftade:</translation>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Ditt nuvarande saldo</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Totalt antal transaktioner som ännu inte bekräftats, och som ännu inte räknas med i aktuellt saldo</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Totalt antal transaktioner i plånboken</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>osynkroniserad</translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR-kod</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR-kod dialogruta</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation>Begär Betalning</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Belopp:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Etikett:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
+ <location line="+19"/>
<source>Message:</source>
<translation>Meddelande:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;Spara som...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation>Fel vid skapande av QR-kod från URI.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Det angivna beloppet är ogiltigt, vänligen kontrollera.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>URI:n är för lång, försöka minska texten för etikett / meddelande.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>Spara QR-kod</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>PNG-bilder (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation type="unfinished">Spara QR-kod</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>Klientnamn</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>URI:n är för lång, försöka minska texten för etikett / meddelande.</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>ej tillgänglig</translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>Klient-version</translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Information</translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Använder OpenSSL version</translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Uppstartstid</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Nätverk</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Antalet anslutningar</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>På testnet</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Blockkedja</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Aktuellt antal block</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Beräknade totala block</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Sista blocktid</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Öppna</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Kommandoradsalternativ</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Visa Bitcoin-Qt hjälpmeddelande för att få en lista med möjliga Bitcoin kommandoradsalternativ.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Visa</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Konsol</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Kompileringsdatum</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Debug fönster</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Bitcoin Kärna</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Debugloggfil</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Öppna Bitcoin debug-loggfilen som finns i datakatalogen. Detta kan ta några sekunder för stora loggfiler.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Dialog</translation>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Rensa konsollen</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Välkommen till Bitcoin RPC-konsollen.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Använd upp- och ner-pilarna för att navigera i historiken, och &lt;b&gt;Ctrl-L&lt;/b&gt; för att rensa skärmen.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Skriv &lt;b&gt;help&lt;/b&gt; för en översikt av alla kommandon.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Skicka pengar</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Skicka till flera mottagare samtidigt</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Lägg till mottagare...</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Lägg till &amp;mottagare</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Ta bort alla transaktions-fält</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Rensa alla</translation>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Rensa &amp;alla</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Balans:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
- <translation>123.456 BTC</translation>
+ <translation>123,456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Bekräfta sändordern</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Skicka</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; till %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Bekräfta skickade mynt</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Är du säker på att du vill skicka %1?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation> och </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Mottagarens adress är inte giltig, vänligen kontrollera igen.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Det betalade beloppet måste vara större än 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Värdet överstiger ditt saldo.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Totalvärdet överstiger ditt saldo när transaktionsavgiften %1 är pålagd.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Dubblett av adress funnen, kan bara skicka till varje adress en gång per sändning.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Fel: Transaktionen gick inte att skapa.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>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.</translation>
</message>
@@ -1160,280 +1364,467 @@ Adress: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Formulär</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
- <translation>&amp;Belopp</translation>
+ <translation>&amp;Belopp:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>Betala &amp;Till:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>Ange ett namn för den här adressen och lägg till den i din adressbok</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Etikett:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Adressen som betalningen skall skickas till (t.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Välj adress från adresslistan</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Klistra in adress från Urklipp</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Ta bort denna mottagare</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Ange en Bitcoin-adress (t.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>okänd</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>Signaturer - Signera / Verifiera ett meddelande</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Öppen för %1 block</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Signera meddelande</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>Öppet till %1</translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Du kan signera meddelanden med dina adresser för att bevisa att du äger dem. Var försiktig med vad du signerar eftersom phising-attacker kan försöka få dig att skriva över din identitet till någon annan. Signera bara väldetaljerade påståenden du kan gå i god för.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adressen att signera meddelandet med (t.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/nerkopplad?</translation>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Välj en adress från adressboken</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/okonfirmerad</translation>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 bekräftelser</translation>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Klistra in adress från Urklipp</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Status:&lt;/b&gt;</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, har inte lyckats skickas ännu</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Skriv in meddelandet du vill signera här</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Kopiera signaturen till systemets Urklipp</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, sänd genom %1 nod</translation>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Signera meddelandet för att bevisa att du äger denna adress</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, sänd genom %1 noder</translation>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Rensa alla fält</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Datum:&lt;/b&gt;</translation>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Rensa &amp;alla</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (din, etikett: </translation>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;Verifiera Meddelande</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation>(dina)</translation>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>Skriv in din adress, meddelande (se till att du kopierar radbrytningar, mellanslag, tabbar osv exakt) och signatur nedan för att verifiera meddelandet. Var noga med att inte läsa in mer i signaturen än vad som finns i det signerade meddelandet, för att undvika att luras av en man-in-the-middle attack.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Kredit:&lt;/b&gt; </translation>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Adressen som meddelandet var signerat med (t.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation type="unfinished"></translation>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Verifiera meddelandet för att vara säker på att den var signerad med den angivna Bitcoin-adressen</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(inte accepterad)</translation>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Rensa alla fält</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Debet:&lt;/b&gt;</translation>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Ange en Bitcoin-adress (t.ex. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Transaktionsavgift:&lt;/b&gt;</translation>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Klicka &quot;Signera Meddelande&quot; för att få en signatur</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Nettobelopp:&lt;/b&gt; </translation>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Ange Bitcoin-signatur</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Meddelande:</translation>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Den angivna adressen är ogiltig.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Från:&lt;/b&gt;</translation>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Vad god kontrollera adressen och försök igen.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Till:&lt;/b&gt;</translation>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>Den angivna adressen refererar inte till en nyckel.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Kommentar:</translation>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Upplåsningen av plånboken avbröts.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Transaktions-ID:</translation>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Privata nyckel för den angivna adressen är inte tillgänglig.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Genererade mynt måste vänta 120 block innan de kan användas. När du skapade detta block sändes det till nätverket för att läggas till i blockkedjan. Om blocket inte kommer in i kedjan kommer det att ändras till &quot;accepteras inte&quot; och kommer ej att gå att spendera. Detta kan ibland hända om en annan nod genererar ett block nästan samtidigt som dig.</translation>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Signeringen av meddelandet misslyckades.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Källa:&lt;/b&gt; Genererade&lt;br&gt;</translation>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Meddelandet är signerat.</translation>
</message>
-</context>
-<context>
- <name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
- <source>Transaction details</source>
- <translation>Transaktionsdetaljer</translation>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>Signaturen kunde inte avkodas.</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
- <source>This pane shows a detailed description of the transaction</source>
- <translation>Den här panelen visar en detaljerad beskrivning av transaktionen</translation>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>Kontrollera signaturen och försök igen.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>Signaturen matchade inte meddelandesammanfattningen.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Meddelandet verifikation misslyckades.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Meddelandet är verifierad.</translation>
</message>
</context>
<context>
- <name>TransactionTableModel</name>
+ <name>TransactionDesc</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
<source>Open until %1</source>
<translation>Öppet till %1</translation>
</message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Öppen för %n block</numerusform>
+ <numerusform>Öppen för %n block</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>Offline (%1 bekräftelser)</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/nerkopplad</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>Obekräftad (%1 av %2 bekräftelser)</translation>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/obekräftade</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
- <source>Destination address of transaction.</source>
- <translation>Transaktionens destinationsadress.</translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 bekräftelser</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
- <source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>Transaktionsstatus. Håll muspekaren över för att se antal bekräftelser.</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Status</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, sänd genom %n nod</numerusform>
+ <numerusform>, sänd genom %n noder</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>Skickad till</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Datum</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Betalning till dig själv</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Källa</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Genererad</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Från</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Till</translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>egen adress</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>etikett</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Kredit</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>mognar om %n block</numerusform>
+ <numerusform>mognar om %n fler block</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>inte accepterad</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Belasta</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Transaktionsavgift</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Nettobelopp</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Meddelande</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Kommentar</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Transaktions-ID</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Genererade mynt måste vänta 120 block innan de kan användas. När du skapade detta block sändes det till nätverket för att läggas till i blockkedjan. Om blocket inte kommer in i kedjan kommer det att ändras till &quot;accepteras inte&quot; och kommer ej att gå att spendera. Detta kan ibland hända om en annan nod genererar ett block nästan samtidigt som dig.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Debug information</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Transaktion</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Inputs</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Mängd</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>sant</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>falsk</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, har inte lyckats skickas ännu</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>okänd</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDescDialog</name>
+ <message>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Transaktionsdetaljer</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Den här panelen visar en detaljerad beskrivning av transaktionen</translation>
</message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>Datum</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>Typ</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adress</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>Mängd</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Öppen i %n block</numerusform>
@@ -1441,60 +1832,95 @@ Adress: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>Öppet till %1</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Offline (%1 bekräftelser)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Obekräftad (%1 av %2 bekräftelser)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Bekräftad (%1 bekräftelser)</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Genererade balansen kommer att finnas tillgänglig när den mognar om %n mer block</numerusform>
+ <numerusform>Genererade balansen kommer att finnas tillgänglig när den mognar om %n fler block</numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Det här blocket togs inte emot av några andra noder och kommer antagligen inte att bli godkänt.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Genererad men inte accepterad</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Det här blocket togs inte emot av några andra noder och kommer antagligen inte att bli godkänt.</translation>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Mottagen med</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>Mottaget från</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
- <source>Received with</source>
- <translation>Mottagen med</translation>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Skickad till</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Betalning till dig själv</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
- <translation>Skapad</translation>
+ <translation>Genererade</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
- <source>Type of transaction.</source>
- <translation>Transaktionstyp.</translation>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Transaktionsstatus. Håll muspekaren över för att se antal bekräftelser.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Tidpunkt då transaktionen mottogs.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Transaktionstyp.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Transaktionens destinationsadress.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Belopp draget eller tillagt till balans.</translation>
</message>
@@ -1502,171 +1928,171 @@ Adress: %4
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Sök efter adress eller etikett </translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Kopiera belopp</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Typ</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Etikett</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Could not write to file %1.</source>
- <translation>Kunde inte skriva till filen %1.</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Intervall:</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>till</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Bekräftad</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Adress</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Fel vid export</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="284"/>
- <source>Amount</source>
- <translation>Mängd</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>Alla</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>Idag</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="+1"/>
<source>This week</source>
<translation>Denna vecka</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation>Denna månad</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>Föregående månad</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>Det här året</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>Period...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Skickad till</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>Mottagen med</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Skickad till</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Till dig själv</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>Genererade</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
<source>Other</source>
<translation>Övriga</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Sök efter adress eller etikett </translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Minsta mängd</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Kopiera adress</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
+ <location line="+1"/>
<source>Copy label</source>
<translation>Kopiera etikett</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Kopiera belopp</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Edit label</source>
- <translation>Editera etikett</translation>
+ <translation>Ändra etikett</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Visa transaktionsdetaljer</translation>
+ </message>
+ <message>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>Exportera Transaktionsdata</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Kommaseparerad fil (*. csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Visa detaljer...</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Bekräftad</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>Datum</translation>
</message>
+ <message>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Typ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Etikett</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Adress</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Amount</source>
+ <translation>Mängd</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Fel vid export</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Kunde inte skriva till filen %1.</translation>
+ </message>
+ <message>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Intervall:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>till</translation>
+ </message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Skickar...</translation>
</message>
@@ -1674,494 +2100,627 @@ Adress: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>Lösenord för JSON-RPC-anslutningar</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin version</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Laddar adresser...</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Användning:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Lägg till en nod att koppla upp mot och försök att hålla anslutningen öppen</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>Skicka kommando till -server eller bitcoind</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Accepterade krypteringsalgoritmer (förval: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Lista kommandon</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Få hjälp med ett kommando</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Laddar blockindex...</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Inställningar:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Kan inte skriva standardadress</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Ange konfigurationsfil (standard: bitcoin.conf)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Fel vid inläsning av plånboksfilen wallet.dat</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Ange pid fil (standard: bitcoind.pid)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Kan inte nedgradera plånboken</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Generera mynt</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Kan inte initiera keypool</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Generera inte mynt</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Serverns certifikatfil (förval: server.cert)</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Ange katalog för data</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation>Sätt databas cache storleken i megabyte (standard: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Sätt storleken på nyckelpoolen till &lt;n&gt; (förval: 100)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Uppgradera plånboken till senaste formatet</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Sätt databasens loggfil storlek i megabyte (standard: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
+ <location line="-26"/>
<source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation>Lyssna efter anslutningar på &lt;port&gt; (förval: 8333 eller testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Hur grundlig blockverifikationen är (0-6, standardvärde: 1)</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Ha som mest &lt;n&gt; anslutningar till andra klienter (förval: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Kan inte låsa data-mappen %s. Bitcoin körs förmodligen redan.</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Anslut till en nod för att hämta klientadresser, och koppla från</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Fel vid inläsning av blkindex.dat</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Ange din egen publika adress</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Avgift per KB att lägga till på transaktioner du skickar</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Bind till given adress. Använd [värd]:port notation för IPv6</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Hur många block att kontrollera vid uppstart (standardvärde: 2500, 0 = alla)</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, du behöver sätta ett rpclösensord i konfigurationsfilen:
- %s
-Det är rekommenderat att använda följande slumpade lösenord:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(du behöver inte komma ihåg lösenordet)
-Om filen inte existerar, skapa den med enbart ägarläsbara filrättigheter.
-</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Tröskelvärde för att koppla ifrån klienter som missköter sig (förval: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>Skicka kommando till -server eller bitcoind</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Antal sekunder att hindra klienter som missköter sig från att ansluta (förval: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Generera inte mynt</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>Ett fel uppstod vid upprättandet av RPC port %u för att lyssna på IPv4: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>Du behöver välja ett rpclösensord i konfigurationsfilen:
-%s
-Om filen inte existerar, skapa den med filrättigheten endast läsbar för ägaren.</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>Ett fel uppstod vid upprättandet av RPC port %u för att lyssna på IPv6, faller tillbaka till IPV4: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Skickar...</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Frigör block- och adressdatabaser vid nedstängning. Detta ökar tiden för nedstängning (standard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Otillräckligt med bitcoins</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Fel</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>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.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>Att använda %s alternativet</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Fel: Denna transaktion kräver en transaktionsavgift på minst %s på grund av dess storlek, komplexitet, eller användning av senast mottagna bitcoins </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Sök efter klienter med internet relay chat (standard: 0)</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Lyssna på JSON-RPC-anslutningar på &lt;port&gt; (förvalt: 8332 eller testnet: 18332)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Ha som mest &lt;n&gt; anslutningar till andra klienter (förval: 125)</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Lyssna på JSON-RPC-anslutningar på &lt;port&gt; (förval: 8332)</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Klar med laddning</translation>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Tillåt kommandon från kommandotolken och JSON-RPC-kommandon</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoin version</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Lista kommandon</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Fel: Transaktionen gick inte att skapa.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Inställningar:</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Fel: Plånboken är låst, det går ej att skapa en transaktion </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Generera mynt</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Importerar blockkedjans datafil.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>Exekvera kommando när bästa blocket ändras (%s i cmd är utbytt av blockhash)</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Importerar bootstrap blockkedjans datafil.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Det här hjälp medelandet</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Kör i bakgrunden som tjänst och acceptera kommandon</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
+ <location line="+33"/>
<source>Use the test network</source>
<translation>Använd testnätverket</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Sök i block-kedjan efter saknade wallet transaktioner</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Acceptera anslutningar utifrån (standard: 1 om ingen -proxy eller -connect)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Tillåt kommandon från kommandotolken och JSON-RPC-kommandon</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Sätt den maximala storleken av hög-prioriterade/låg-avgifts transaktioner i byte (standard: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Tillåt JSON-RPC-anslutningar från specifika IP-adresser</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Varning: -paytxfee är satt väldigt hög! Detta är avgiften du kommer betala för varje transaktion.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Fel vid inläsningen av wallet.dat: Plånboken är skadad</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Varning: Visade transaktioner kanske inte är korrekt! Du kan behöva uppgradera, eller andra noder kan behöva uppgradera.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Fel vid inläsningen av wallet.dat: Plånboken kräver en senare version av Bitcoin</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Varning: Vänligen kolla så att din dators datum och tid är korrekt! Om din klocka går fel kommer Bitcoin inte fungera korrekt.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Laddar plånbok...</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Block skapande inställningar:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Söker igen...</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Koppla enbart upp till den/de specificerade noden/noder</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Kör i bakgrunden som tjänst och acceptera kommandon</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Hitta egen IP-adress (standard: 1 under lyssning och utan -externalip)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Skicka kommandon till klient på &lt;ip&gt; (förval: 127.0.0.1)</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Misslyckades att lyssna på någon port. Använd -listen=0 om du vill detta.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Söl efter klienter med DNS sökningen (standard: 1 om inte -connect)</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Ogiltig -tor adress: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Maximal buffert för mottagning per anslutning, &lt;n&gt;*1000 byte (förval: 5000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Maximal buffert för sändning per anslutning, &lt;n&gt;*1000 byte (förval: 5000)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Anslut enbart till noder i nätverket &lt;net&gt; (IPv4, IPv6 eller Tor)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Skriv ut extra felsökningsinformation. Gäller alla andra -debug* alternativ</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>Skriv ut extra felsökningsinformation om nätverk</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Skriv ut tid i felsökningsinformationen</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL-inställningar: (se Bitcoin-wikin för SSL-setup instruktioner)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Välj socks-proxy version att använda (4 eller 5, standard: 5)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Send trace/debug info to console instead of debug.log file</source>
<translation>Skicka trace-/debuginformation till terminalen istället för till debug.log</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
+ <location line="+1"/>
<source>Send trace/debug info to debugger</source>
<translation>Skicka trace-/debuginformation till debugger</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Serverns privata nyckel (förval: server.pem)</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Sätt maximal blockstorlek i byte (standard: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Tröskelvärde för att koppla ifrån klienter som missköter sig (förval: 100)</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Sätt minsta blockstorlek i byte (standard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>Krymp debug.log filen vid klient start (standard: 1 vid ingen -debug)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Ange timeout för uppkoppling i millisekunder (standard: 5000)</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Använd UPnP för att mappa den lyssnande porten (standard: 0)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Använd UPnP för att mappa den lyssnande porten (standard: 1 under lyssning)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Använd en proxy för att nå tor (standard: samma som -proxy)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Användarnamn för JSON-RPC-anslutningar</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Varning: Hårddiskutrymme är lågt!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Varning: denna version är föråldrad, uppgradering krävs!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Fel: Transaktionen gick inte att skapa.</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>Lösenord för JSON-RPC-anslutningar</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">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.</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Tillåt JSON-RPC-anslutningar från specifika IP-adresser</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>Ett fel uppstod vid upprättandet av RPC port %u för att lyssna: %s</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Skicka kommandon till klient på &lt;ip&gt; (förval: 127.0.0.1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Användning:</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>Exekvera kommando när bästa blocket ändras (%s i cmd är utbytt av blockhash)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Få hjälp med ett kommando</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Uppgradera plånboken till senaste formatet</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Ange konfigurationsfil (standard: bitcoin.conf)</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Sätt storleken på nyckelpoolen till &lt;n&gt; (förval: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Ange pid fil (standard: bitcoind.pid)</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Sök i block-kedjan efter saknade wallet transaktioner</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Koppla enbart upp till den specifierade noden</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Hur många block att kontrollera vid uppstart (standardvärde: 2500, 0 = alla)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation>Acceptera anslutningar utifrån (standard: 1)</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Hur grundlig blockverifikationen är (0-6, standardvärde: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Varning: -paytxfee är satt väldigt hög. Detta är avgiften du kommer betala för varje transaktion.</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Inporterar block från extern blk000?.dat fil</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation type="unfinished"></translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>Använd OpenSSL (https) för JSON-RPC-anslutningar</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Det går inte att binda till %s på den här datorn. Bitcoin är förmodligen redan igång.</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Serverns certifikatfil (förval: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>Söl efter klienter med DNS sökningen (standard: 1)</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Serverns privata nyckel (förval: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Varning: Hårddiskutrymme är lågt</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Accepterade krypteringsalgoritmer (förval: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Varning: Vänligen kolla så att din dators datum och tid är korrekt! Om din klocka går fel kommer Bitcoin inte fungera korrekt.</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Det här hjälp medelandet</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation type="unfinished">Skriv ut extra felsökningsinformation</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Kan inte låsa data-mappen %s. Bitcoin körs förmodligen redan.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL-inställningar: (se Bitcoin-wikin för SSL-setup instruktioner)</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Fel vid inläsning av plånboksfilen addr.dat</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Det går inte att binda till %s på den här datorn (bind returnerade felmeddelande %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Ogiltig proxyadress</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Anslut genom socks-proxy</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation type="unfinished">Maximal buffert för mottagning per anslutning, &lt;n&gt;*1000 byte (förval: 5000) {1000 ?} {10000)?}</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Tillåt DNS-sökningar för -addnode, -seednode och -connect</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Use UPnP to map the listening port (default: 0)</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Laddar adresser...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Ange katalog för data</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Fel vid inläsning av blkindex.dat</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Starta som minimerad</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Fel vid inläsningen av wallet.dat: Plånboken är skadad</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Fel vid inläsningen av wallet.dat: Plånboken kräver en senare version av Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Plånboken behöver skrivas om: Starta om Bitcoin för att färdigställa</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Fel vid inläsning av plånboksfilen wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Ogiltig -proxy adress: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>Okänt nätverk som anges i -onlynet: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Okänd -socks proxy version begärd: %i</translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>Kan inte matcha -bind adress: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>Kan inte matcha -externalip adress: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Användning</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Ogiltigt belopp för -paytxfee=&lt;belopp&gt;:&apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Fel: kunde inte starta nod</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Skickar...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
<source>Invalid amount</source>
<translation>Ogiltig mängd</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Ändra språk, till exempel &quot;de_DE&quot; (standard: systemets språk)</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Otillräckligt med bitcoins</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Antal sekunder att hindra klienter som missköter sig från att ansluta (förval: 86400)</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Laddar blockindex...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Visa startbilden vid uppstart (standard: 1)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Lägg till en nod att koppla upp mot och försök att hålla anslutningen öppen</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Sätt databasens loggfil storlek i megabyte (standard: 100)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Det går inte att binda till %s på den här datorn. Bitcoin är förmodligen redan igång.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Ange timeout för uppkoppling (i millisekunder)</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Sök efter klienter med internet relay chat (standard: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Koppla upp genom socks4 proxy</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Avgift per KB att lägga till på transaktioner du skickar</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Tillåt DNS-sökningar för -addnode och -connect</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Laddar plånbok...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Frigör block- och adressdatabaser vid nedstängning. Detta ökar tiden för nedstängning (standard: 0)</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Kan inte nedgradera plånboken</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Skriv ut tid i felsökningsinformationen</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Kan inte initiera keypool</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>Använd OpenSSL (https) för JSON-RPC-anslutningar</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Kan inte skriva standardadress</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Användarnamn för JSON-RPC-anslutningar</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Söker igen...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Plånboken behöver skrivas om: Starta om Bitcoin för att färdigställa</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Klar med laddning</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Use UPnP to map the listening port (default: 1)</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>Att använda %s alternativet</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Ogiltigt belopp för -paytxfee=&lt;belopp&gt;</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, du behöver sätta ett rpclösensord i konfigurationsfilen:
+ %s
+Det är rekommenderat att använda följande slumpade lösenord:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(du behöver inte komma ihåg lösenordet)
+Om filen inte existerar, skapa den med enbart ägarläsbara filrättigheter.
+</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Fel</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation type="unfinished">Maximal buffert för sändning per anslutning, &lt;n&gt;*1000 byte (förval: 5000) {1000 ?} {10000)?}</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>Du behöver välja ett rpclösensord i konfigurationsfilen:
+%s
+Om filen inte existerar, skapa den med filrättigheten endast läsbar för ägaren.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_tr.ts b/src/qt/locale/bitcoin_tr.ts
index 9d1e842613..320633b736 100644
--- a/src/qt/locale/bitcoin_tr.ts
+++ b/src/qt/locale/bitcoin_tr.ts
@@ -5,132 +5,135 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Bitcoin hakkında</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;Bitcoin&lt;/b&gt; sürüm</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Telif hakkı © 2009-2012 Bitcoin geliştiricileri</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Telif hakkı © 2009-2012 Bitcoin geliştiricileri
-
-Bu yazılım deneme safhasındadır.
+ <translation>
+ Bu yazılım deneme safhasındadır.
-MIT/X11 yazılım lisansı kapsamında yayınlanmıştır, license.txt dosyasına ya da http://www.opensource.org/licenses/mit-license.php sayfasına bakınız.
+ MIT/X11 yazılım lisansı kapsamında yayınlanmıştır, COPYING dosyasına ya da http://www.opensource.org/licenses/mit-license.php sayfasına bakınız.
-Bu ürün OpenSSL projesi tarafından OpenSSL Toolkit (http://www.openssl.org/) için geliştirilen yazılımlar, Eric Young (eay@cryptsoft.com) tarafından yazılmış şifreleme yazılımları ve Thomas Bernard tarafından yazılmış UPnP yazılımı içerir.</translation>
+ 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.</translation>
</message>
</context>
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Adres defteri</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Bunlar, ödemeleri almak için Bitcoin adresleridir. Kimin ödeme yaptığını izleyebilmek için her ödeme yollaması gereken kişiye değişik bir adres verebilirsiniz.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Adresi ya da etiketi düzenlemek için çift tıklayınız</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Yeni bir adres oluştur</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Yeni adres...</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>Şu anda seçili olan adresi panoya kopyala</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>Panoya &amp;kopyala</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Yeni adres</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>Adresi &amp;kopyala</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>&amp;QR kodunu göster</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Bu adresin sizin olduğunu ispatlamak için mesaj imzalayın</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>Bir Bitcoin adresinin sizin olduğunu ispatlamak için mesaj imzalayın</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>&amp;Mesaj imzala</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Seçilen adresi listeden siler. Sadece gönderi adresleri silinebilir.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>Seçili adresi listeden sil</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;Sil</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>Belirtilen Bitcoin adresi ile imzalandığını doğrulamak için bir mesajı kontrol et</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Adresi kopyala</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>Mesaj &amp;kontrol et</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Etiketi kopyala</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;Sil</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Düzenle</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>&amp;Etiketi kopyala</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Sil</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Düzenle</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>Adres defteri verilerini dışa aktar</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>Virgülle ayrılmış değerler dosyası (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>Dışa aktarımda hata oluştu</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>%1 dosyasına yazılamadı.</translation>
</message>
@@ -138,17 +141,17 @@ Bu ürün OpenSSL projesi tarafından OpenSSL Toolkit (http://www.openssl.org/)
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Etiket</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Adres</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(boş etiket)</translation>
</message>
@@ -156,442 +159,442 @@ Bu ürün OpenSSL projesi tarafından OpenSSL Toolkit (http://www.openssl.org/)
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Diyalog</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>Parola diyaloğu</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Parolayı giriniz</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Yeni parola</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
+ <location line="+14"/>
<source>Repeat new passphrase</source>
<translation>Yeni parolayı tekrarlayınız</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Metin Etiketi</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>Cüzdanınız için yeni parolayı giriniz.&lt;br/&gt;Lütfen &lt;b&gt;10 ya da daha fazla rastgele karakter&lt;/b&gt; veya &lt;b&gt;sekiz ya da daha fazla kelime&lt;/b&gt; içeren bir parola seçiniz.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>Cüzdanı şifrele</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Bu işlem cüzdan kilidini açmak için cüzdan parolanızı gerektirir.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Cüzdan kilidini aç</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to decrypt the wallet.</source>
<translation>Bu işlem, cüzdan şifresini açmak için cüzdan parolasını gerektirir.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>Cüzdan şifresini aç</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>Parolayı değiştir</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>Cüzdan için eski ve yeni parolaları giriniz.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>Cüzdan şifrelenmesini teyit eder</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>UYARI: Eğer cüzdanınızı şifrelerseniz ve parolanızı kaybederseniz, &lt;b&gt;TÜM BİTCOİNLERİNİZİ KAYBEDERSİNİZ&lt;/b&gt;!
-Cüzdanınızı şifrelemek istediğinizden emin misiniz?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>Uyarı: Eğer cüzdanınızı şifrelerseniz ve parolanızı kaybederseniz, &lt;b&gt;TÜM BİTCOİNLERİNİZİ KAYBEDERSİNİZ&lt;/b&gt;!</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Cüzdanınızı şifrelemek istediğinizden emin misiniz?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>ÖNEMLİ: Önceden yapmış olduğunuz cüzdan dosyası yedeklemelerinin yeni oluşturulan şifrelenmiş cüzdan dosyası ile değiştirilmeleri gerekir. Güvenlik nedenleriyle yeni, şifrelenmiş cüzdanı kullanmaya başladığınızda eski şifrelenmemiş cüzdan dosyaları işe yaramaz hale gelecektir.</translation>
+ </message>
+ <message>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Uyarı: Caps Lock tuşu faal durumda!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
<source>Wallet encrypted</source>
<translation>Cüzdan şifrelendi</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>Şifreleme işlemini tamamlamak için Bitcoin şimdi kapanacaktır. Cüzdanınızı şifrelemenin, Bitcoinlerinizin bilgisayara bulaşan kötücül bir yazılım tarafından çalınmaya karşı tamamen koruyamayacağını unutmayınız.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>ÖNEMLİ: Önceden yapmış olduğunuz cüzdan dosyası yedeklemelerinin yeni oluşturulan şifrelenmiş cüzdan dosyası ile değiştirilmeleri gerekir. Güvenlik nedenleriyle yeni, şifrelenmiş cüzdanı kullanmaya başladığınızda eski şifrelenmemiş cüzdan dosyaları işe yaramaz hale gelecektir.</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>Cüzdan şifrelemesi başarısız oldu</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Dahili bir hata sebebiyle cüzdan şifrelemesi başarısız oldu. Cüzdanınız şifrelenmedi.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Girilen parolalar birbirleriyle uyumlu değil.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
+ <location line="-37"/>
<source>Wallet unlock failed</source>
<translation>Cüzdan kilidinin açılması başarısız oldu</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>Cüzdan şifresinin açılması için girilen parola yanlıştı.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
+ <location line="-20"/>
<source>Wallet decryption failed</source>
<translation>Cüzdan şifresinin açılması başarısız oldu</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
<translation>Cüzdan parolası başarılı bir şekilde değiştirildi.</translation>
</message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Uyarı: Caps Lock tuşu etkin durumda.</translation>
- </message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Qt hakkında bilgi görüntü</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>&amp;Mesaj imzala...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>Şebeke ile senkronizasyon...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
+ <location line="-299"/>
<source>&amp;Overview</source>
<translation>&amp;Genel bakış</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Bitcoin cüzdanı</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Cüzdana genel bakışı göster</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>&amp;Muameleler</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Muamele tarihçesini tara</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Adres defteri</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>Saklanan adres ve etiket listesini düzenle</translation>
+ </message>
+ <message>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>Bitcoin &amp;al</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>Ödeme alma adreslerinin listesini göster</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Bir bitcoin adresine para (bitcoin) yollar</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>Bitcoin &amp;yolla</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Bu adresin kontrolünüz altında olduğunu ispatlayın</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Çık</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>%1 &amp;hakkında</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Uygulamadan çık</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Seçenekler...</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Bitcoin hakkında bilgi göster</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>&amp;Qt hakkında</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Bitcoin seçeneklerinin yapılandırmasını değiştirir</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Qt hakkında bilgi görüntü</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>&amp;Bitcoin&apos;i Göster/Sakla</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Seçenekler...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Dışa aktar...</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>Cüzdanı &amp;şifrele...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>Cüzdanı &amp;şifrele</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>Cüzdanı &amp;yedekle...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>Cüzdanı &amp;yedekle</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>Parolayı &amp;değiştir...</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
<translation>
- <numerusform>%n dakika önce</numerusform>
+ <numerusform>~%n blok kaldı</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>Bitcoin &amp;yolla</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Cüzdanı şifrele ya da şifreyi aç</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Cüzdanı diğer bir konumda yedekle</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>Saklanan adres ve etiket listesini düzenle</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Cüzdan verileri (*.dat)</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Muamele tarihçesinden %1 blok indirildi (toplam %2 blok, %%3 tamamlandı).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Yardım</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Dışa aktar...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
- <translation>Cüzdan &lt;b&gt;şifrelenmiştir&lt;/b&gt; ve şu anda &lt;b&gt;kilidi açıktır&lt;/b&gt;</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Bir Bitcoin adresine Bitcoin yolla</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
- <source>Last received block was generated %1.</source>
- <translation>Son alınan blok şu vakit oluşturulmuştu: %1.</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Bitcoin seçeneklerinin yapılandırmasını değiştir</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation>Güncel sekmedeki verileri bir dosyaya aktar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;Parolayı değiştir</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Cüzdan şifrelemesi için kullanılan parolayı değiştir</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>%n saniye önce</numerusform>
- </translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Cüzdanı şifrele ya da şifreyi aç</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>Bitcoin penceresini göster ya da sakla</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Cüzdanı diğer bir konumda yedekle</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>Bitcoin istemcisi</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>Bitcoin şebekesine %n faal bağlantı</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>%n saat önce</numerusform>
- </translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Cüzdan şifrelemesi için kullanılan parolayı değiştir</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
- <source>Up to date</source>
- <translation>Güncel</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;Hata ayıklama penceresi</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Yollanıyor...</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>Hata ayıklama ve teşhis penceresini aç</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>Muamele yollandı</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>Mesaj &amp;kontrol et...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
- <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
- <translation>Cüzdan &lt;b&gt;şifrelenmiştir&lt;/b&gt; ve şu anda &lt;b&gt;kilitlidir&lt;/b&gt;</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Cüzdan</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Çık</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>Bitcoin &amp;Hakkında</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>&amp;Qt hakkında</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;Göster / Sakla</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Uygulamadan çık</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>&amp;Dosya</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
+ <location line="+8"/>
<source>&amp;Settings</source>
<translation>&amp;Ayarlar</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Yardım</translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation>Sekme araç çubuğu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation>Faaliyet araç çubuğu</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
+ <location line="+13"/>
+ <location line="+9"/>
<source>[testnet]</source>
<translation>[testnet]</translation>
</message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>Bitcoin istemcisi</translation>
+ </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
<translation>
- <numerusform>~%n blok kaldı</numerusform>
+ <numerusform>Bitcoin şebekesine %n faal bağlantı</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Muamele tarihçesinden %1 blok indirildi (toplam %2 blok, %%3 tamamlandı).</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
+ <location line="+40"/>
<source>Downloaded %1 blocks of transaction history.</source>
<translation>Muamele tarihçesinin %1 adet bloku indirildi.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>%n saniye önce</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n dakika önce</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
+ <translation>
+ <numerusform>%n saat önce</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>%n gün önce</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+6"/>
+ <source>Up to date</source>
+ <translation>Güncel</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Aralık kapatılıyor...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
+ <location line="+10"/>
+ <source>Last received block was generated %1.</source>
+ <translation>Son alınan blok şu vakit oluşturulmuştu: %1.</translation>
+ </message>
+ <message>
+ <location line="+58"/>
<source>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?</source>
- <translation type="unfinished"></translation>
+ <translation>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?</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>Muamele ücretini teyit et</translation>
+ </message>
+ <message>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>Muamele yollandı</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Gelen muamele</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -604,1062 +607,1480 @@ Adres: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Cüzdan verilerinin başka bir konumda kaydedilmesi sırasında bir hata meydana geldi.</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI yönetimi</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Cüzdanı yedekle</translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI okunamadı! Sebebi geçersiz bir Bitcoin adresi veya hatalı URI parametreleri olabilir.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Yedekleme başarısız oldu</translation>
+ <location line="+16"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
+ <translation>Cüzdan &lt;b&gt;şifrelenmiştir&lt;/b&gt; ve şu anda &lt;b&gt;kilidi açıktır&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Bitcoin hakkında bilgi gösterir</translation>
+ <location line="+8"/>
+ <source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
+ <translation>Cüzdan &lt;b&gt;şifrelenmiştir&lt;/b&gt; ve şu anda &lt;b&gt;kilitlidir&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>&amp;Mesaj imzala</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Cüzdanı yedekle</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation>Ciddi bir hata oluştu. Bitcoin artık güvenli bir şekilde işlemeye devam edemez ve kapanacaktır.</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Cüzdan verileri (*.dat)</translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>Miktarı göstermek için &amp;birim: </translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Yedekleme başarısız oldu</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Para (coin) gönderildiğinde arayüzde gösterilecek varsayılan alt birimi seçiniz</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Cüzdan verilerinin başka bir konumda kaydedilmesi sırasında bir hata meydana geldi.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>Muamele listesinde adresleri &amp;göster</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>Ciddi bir hata oluştu. Bitcoin artık güvenli bir şekilde işlemeye devam edemez ve kapanacaktır.</translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">Muamele listesinde Bitcoin adreslerinin gösterilip gösterilmeyeceklerini belirler</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>Şebeke hakkında uyarı</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Adresi düzenle</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Etiket</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Bu adres defteri unsuru ile ilişkili etiket</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>&amp;Adres</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Bu adres defteri unsuru ile ilişkili adres. Bu, sadece gönderi adresi için değiştirilebilir.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>Yeni alım adresi</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Yeni gönderi adresi</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Alım adresini düzenle</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>Gönderi adresini düzenle</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Girilen &quot;%1&quot; adresi hâlihazırda adres defterinde mevcuttur.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Girilen &quot;%1&quot; adresi geçerli bir bitcoin adresi değildir.</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Girilen &quot;%1&quot; adresi geçerli bir Bitcoin adresi değildir.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>Cüzdan kilidi açılamadı.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Yeni anahtar oluşturulması başarısız oldu.</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>Bitcoin&apos;i pencere sistemi ile &amp;başlat</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Bitcoin&apos;i bilgisayar başlatıldığında başlatır</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>sürüm</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>İşlem çubuğu yerine sistem çekmesine &amp;küçült</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Kullanım:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Küçültüldükten sonra sadece çekmece ikonu gösterir</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>komut satırı seçenekleri</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Portları &amp;UPnP kullanarak haritala</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>Kullanıcı arayüzü seçenekleri</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Yönlendiricide Bitcoin istemci portlarını otomatik olarak açar. Bu, sadece yönlendiricinizin UPnP desteği bulunuyorsa ve etkinse çalışabilir.</translation>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>Lisan belirt, mesela &quot;de_De&quot; (varsayılan: sistem dili)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>Kapatma sırasında k&amp;üçült</translation>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Küçültülmüş olarak başlat</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Pencere kapatıldığında uygulamadan çıkmak yerine uygulamayı küçültür. Bu seçenek etkinleştirildiğinde, uygulama sadece menüden çıkış seçildiğinde kapanacaktır.</translation>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>Başlatıldığında başlangıç ekranını göster (varsayılan: 1)</translation>
</message>
+</context>
+<context>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>SOCKS4 vekil sunucusu vasıtasıyla ba&amp;ğlan:</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Seçenekler</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Bitcoin şebekesine SOCKS4 vekil sunucusu vasıtasıyla bağlanır (mesela Tor ile bağlanıldığında)</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Esas ayarlar</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>Vekil &amp;İP: </translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Muamelelerin hızlı işlenmesini garantilemeye yardım eden, seçime dayalı kB başı muamele ücreti. Muamelelerin çoğunluğunun boyutu 1 kB&apos;dir. 0.01 ücreti tavsiye edilir.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>Vekil sunucunun İP adresi (mesela 127.0.0.1)</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Muamele ücreti &amp;öde</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Port: </translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Sistemde oturum açıldığında Bitcoin&apos;i otomatik olarak başlat.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Vekil sunucun portu (örneğin 1234)</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>Bitcoin&apos;i sistem oturumuyla &amp;başlat</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Muamele ücreti &amp;öde</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>Çıkışta blok ve adres veri tabanlarını ayırır. Bu, kapanışı yavaşlatır ancak veri tabanlarının başka klasörlere taşınabilmelerine imkân sağlar. Cüzdan daima ayırılır.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
<translation>Kapanışta veritabanlarını &amp;ayır</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>Çıkışta blok ve adres veri tabanlarını ayırır. Bu, kapanışı yavaşlatır ancak veri tabanlarının başka klasörlere taşınabilmelerine imkân sağlar. Cüzdan daima ayırılır.</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;Şebeke</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>Muamelelerin hızlı işlenmesini garantilemeye yardım eden, seçime dayalı kB başı muamele ücreti. Muamelelerin çoğunluğunun boyutu 1 kB&apos;dir. 0.01 ücreti önerilir. </translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Yönlendiricide Bitcoin istemci portlarını otomatik olarak açar. Bu, sadece yönlendiricinizin UPnP desteği bulunuyorsa ve etkinse çalışabilir.</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Mesaj</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Portları &amp;UPnP kullanarak haritala</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>Bir adresin sizin olduğunu ispatlamak için adresinizle mesaj imzalayabilirsiniz. Oltalama saldırılarının kimliğinizi imzanızla elde etmeyi deneyebilecekleri için belirsiz hiçbir şey imzalamamaya dikkat ediniz. Sadece ayrıntılı açıklaması olan ve tümüne katıldığınız ifadeleri imzalayın.</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Bitcoin şebekesine SOCKS vekil sunucusu vasıtasıyla bağlan (mesela Tor ile bağlanıldığında).</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>Mesajın imzalanmasında kullanılacak adres (mesela 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>SOCKS vekil sunucusu vasıtasıyla ba&amp;ğlan:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Adres defterinden adres seç</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>Vekil &amp;İP:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>Vekil sunucunun İP adresi (mesela 127.0.0.1)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Panodan adres yapıştır</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Port:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Vekil sunucunun portu (mesela 9050)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>İmzalamak istediğiniz mesajı burada giriniz</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS &amp;sürümü:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>İmza elde etmek için &quot;Mesaj İmzala&quot; unsurunu tıklayın</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Vekil sunucunun SOCKS sürümü (mesela 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Bu adresin sizin olduğunu ispatlamak için bir mesaj imzalayın</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;Pencere</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>Mesaj &amp;İmzala</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Küçültüldükten sonra sadece çekmece ikonu göster.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>Güncel imzayı sistem panosuna kopyala</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>İşlem çubuğu yerine sistem çekmecesine &amp;küçült</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>Panoya &amp;kopyala</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Pencere kapatıldığında uygulamadan çıkmak yerine uygulamayı küçültür. Bu seçenek etkinleştirildiğinde, uygulama sadece menüden çıkış seçildiğinde kapanacaktır.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>İmza sırasında hata meydana geldi</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>Kapatma sırasında k&amp;üçült</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 geçerli bir adres değildir.</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Görünüm</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>%1 için özel anahtar mevcut değil.</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>Kullanıcı arayüzü &amp;lisanı:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>İmzalama başarısız oldu</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>Kullanıcı arayüzünün dili burada belirtilebilir. Bu ayar Bitcoin tekrar başlatıldığında etkinleşecektir.</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Ana menü</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>Miktarı göstermek için &amp;birim:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Görünüm</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Bitcoin gönderildiğinde arayüzde gösterilecek varsayılan alt birimi seçiniz.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Seçenekler</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>Muamele listesinde Bitcoin adreslerinin gösterilip gösterilmeyeceklerini belirler.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>Muamele listesinde adresleri &amp;göster</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;Tamam</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;İptal</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;Uygula</translation>
+ </message>
+ <message>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>varsayılan</translation>
+ </message>
+ <message>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Uyarı</translation>
+ </message>
+ <message>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>Bu ayarlar Bitcoin tekrar başlatıldığında etkinleşecektir.</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>Girilen vekil sunucu adresi geçersizdir.</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Form</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Bakiye:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+58"/>
+ <source>Number of transactions:</source>
+ <translation>Muamele sayısı:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>Doğrulanmamış:</translation>
+ </message>
+ <message>
+ <location line="-78"/>
<source>Wallet</source>
<translation>Cüzdan</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>Güncel bakiyeniz</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>Olgunlaşmamış:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>Doğrulanmamış:</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>Oluşturulan bakiye henüz olgunlaşmamıştır</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
- <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
- <translation>Doğrulanması beklenen ve henüz güncel bakiyeye ilâve edilmemiş muamelelerin toplamı</translation>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;Son muameleler&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
- <source>Number of transactions:</source>
- <translation>Muamele sayısı:</translation>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>Güncel bakiyeniz</translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
+ <translation>Doğrulanması beklenen ve henüz güncel bakiyeye ilâve edilmemiş muamelelerin toplamı</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Cüzdandaki muamelelerin toplam sayısı</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;Son muameleler&lt;/b&gt;</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>eşleşme dışı</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR kodu diyaloğu</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>Ödeme talebi</translation>
+ </message>
+ <message>
+ <location line="+56"/>
+ <source>Amount:</source>
+ <translation>Miktar:</translation>
+ </message>
+ <message>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>Etiket:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Mesaj:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Farklı kaydet...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation>URI&apos;nin QR koduna kodlanmasında hata oluştu.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>Girilen miktar geçersizdir, kontrol ediniz.</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>Sonuç URI çok uzun, etiket ya da mesaj metnini kısaltmayı deneyiniz.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>QR kodu kaydet</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>PNG resimleri (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>Resmi kaydet...</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>İstemci ismi</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>Sonuç URI çok uzun, etiket ya da mesaj metnini kısaltmayı deneyiniz.</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>Mevcut değil</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Mesaj:</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>İstemci sürümü</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;Malumat</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Diyalog</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>Kullanılan OpenSSL sürümü</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR Kod</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>Başlama zamanı</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>Ödeme talebi</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>Şebeke</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
- <source>Amount:</source>
- <translation>Miktar:</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>Bağlantı sayısı</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>Etiket:</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>Testnet üzerinde</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;Farklı kaydet...</translation>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>Blok zinciri</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>Güncel blok sayısı</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>Tahmini toplam blok sayısı</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>Son blok zamanı</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;Aç</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>Komut satırı seçenekleri</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>Mevcut Bitcoin komut satırı seçeneklerinin listesini içeren Bitcoin-Qt yardımını göster.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;Göster</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;Konsol</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>Derleme tarihi</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>Bitcoin - Hata ayıklama penceresi</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>Bitcoin Çekirdeği</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>Hata ayıklama kütük dosyası</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>Güncel veri klasöründen Bitcoin hata ayıklama kütük dosyasını açar. Büyük kütük dosyaları için bu birkaç saniye alabilir.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>Konsolu temizle</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>Bitcoin RPC konsoluna hoş geldiniz.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>Tarihçede gezinmek için imleç tuşlarını kullanınız, &lt;b&gt;Ctrl-L&lt;/b&gt; ile de ekranı temizleyebilirsiniz.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>Mevcut komutların listesi için &lt;b&gt;help&lt;/b&gt; yazınız.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Bitcoin yolla</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Birçok alıcıya aynı anda gönder</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;Alıcı ekle...</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Tümünü temizle</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
- <source>S&amp;end</source>
- <translation>&amp;Gönder</translation>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>&amp;Alıcı ekle</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Bütün muamele alanlarını kaldır</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Tümünü &amp;temizle</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Bakiye:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Yollama etkinliğini teyit ediniz</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location line="+3"/>
+ <source>S&amp;end</source>
+ <translation>G&amp;önder</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; şu adrese: %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Gönderiyi teyit ediniz</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
- <translation>%1 tutarını göndermek istediğinizden emin misiniz?</translation>
+ <translation>%1 göndermek istediğinizden emin misiniz?</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+0"/>
<source> and </source>
<translation> ve </translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Alıcı adresi geçerli değildir, lütfen denetleyiniz.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Ödeyeceğiniz tutarın sıfırdan yüksek olması gerekir.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Tutar bakiyenizden yüksektir.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Toplam, %1 muamele ücreti ilâve edildiğinde bakiyenizi geçmektedir.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Çift adres bulundu, belli bir gönderi sırasında her adrese sadece tek bir gönderide bulunulabilir.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Hata: Muamele oluşturması başarısız oldu.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
- <translation>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.</translation>
+ <translation>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.</translation>
</message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
- <source>Choose address from address book</source>
- <translation>Adres defterinden adres seç</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Form</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>M&amp;iktar:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>&amp;Şu kişiye öde:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
- <translation>Adres defterinize eklemek için bu adres için bir etiket giriniz</translation>
+ <translation>Adres defterinize eklemek için bu adrese ilişik bir etiket giriniz</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;Etiket:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Ödemenin gönderileceği adres (mesela 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>Adres defterinden adres seç</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>Panodan adres yapıştır</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Bu alıcıyı kaldır</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Bitcoin adresi giriniz (mesela 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>%1 blok için açık</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>İmzalar - Mesaj İmzala / Kontrol et</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/doğrulanmadı</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>Mesaj &amp;İmzala</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/çevrimdışı mı?</translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>Bir adresin sizin olduğunu ispatlamak için adresinizle mesaj imzalayabilirsiniz. Oltalama saldırılarının kimliğinizi imzanızla elde etmeyi deneyebilecekleri için belirsiz hiçbir şey imzalamamaya dikkat ediniz. Sadece ayrıntılı açıklaması olan ve tümüne katıldığınız ifadeleri imzalayınız.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>%1 değerine dek açık</translation>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Mesajın imzalanmasında kullanılacak adres (mesela 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, %1 düğüm vasıtasıyla yayınlandı</translation>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Adres defterinden bir adres seç</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Kaynak:&lt;/b&gt; Oluşturuldu&lt;br&gt;</translation>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Gönderen:&lt;/b&gt; </translation>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Panodan adres yapıştır</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>bilinmiyor</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (sizin, etiket: </translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>İmzalamak istediğiniz mesajı burada giriniz</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (sizin)</translation>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>Güncel imzayı sistem panosuna kopyala</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Net miktar:&lt;/b&gt; </translation>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Bu Bitcoin adresinin sizin olduğunu ispatlamak için mesajı imzalayın</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Mesaj:</translation>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>Tüm mesaj alanlarını sıfırla</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Yorum:</translation>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Tümünü &amp;temizle</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>Muamele kimliği:</translation>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>Mesajı &amp;kontrol et</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Oluşturulan paraların (coin) harcanabilmelerinden önce 120 blok beklemeleri gerekmektedir. Bu blok, oluşturduğunuzda, blok zincirine eklenmesi için ağda yayınlandı. Zincire eklenmesi başarısız olursa, &quot;kabul edilmedi&quot; olarak değiştirilecek ve harcanamayacaktır. Bu, bazen başka bir düğüm sizden birkaç saniye önce ya da sonra blok oluşturursa meydana gelebilir.</translation>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>İmza için kullanılan adresi, mesajı (satır sonları, boşluklar, sekmeler vs. karakterleri tam olarak kopyaladığınızdan emin olunuz) ve imzayı aşağıda giriniz. Bir ortadaki adam saldırısı tarafından kandırılmaya mâni olmak için imzadan, imzalı mesajın içeriğini aşan bir anlam çıkarmamaya dikkat ediniz.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Gelir:&lt;/b&gt; </translation>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Mesajı imzalamak için kullanılmış olan adres (mesela 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 teyit</translation>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>Belirtilen Bitcoin adresi ile imzalandığını doğrulamak için mesajı kontrol et</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Durum:&lt;/b&gt; </translation>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>Tüm mesaj kontrolü alanlarını sıfırla</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, henüz başarılı bir şekilde yayınlanmadı</translation>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Bitcoin adresi giriniz (mesela 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, %1 düğüm vasıtasıyla yayınlandı</translation>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>İmzayı oluşturmak için &quot;Mesaj İmzala&quot; unsurunu tıklayın</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Tarih:&lt;/b&gt; </translation>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>Bitcoin imzası gir</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Alıcı:&lt;/b&gt; </translation>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>Girilen adres geçersizdir.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1, %2 ek blok sonrasında olgunlaşacak)</translation>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>Adresi kontrol edip tekrar deneyiniz.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(kabul edilmedi)</translation>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>Girilen adres herhangi bir anahtara işaret etmemektedir.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Gider:&lt;/b&gt; </translation>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>Cüzdan kilidinin açılması iptal edildi.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Muamele ücreti:&lt;b&gt; </translation>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>Girilen adres için özel anahtar mevcut değildir.</translation>
</message>
-</context>
-<context>
- <name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
- <source>Transaction details</source>
- <translation>Muamele detayları</translation>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>Mesajın imzalanması başarısız oldu.</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
- <source>This pane shows a detailed description of the transaction</source>
- <translation>Bu pano muamelenin ayrıntılı açıklamasını gösterir</translation>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>Mesaj imzalandı.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>İmzanın kodu çözülemedi.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>İmzayı kontrol edip tekrar deneyiniz.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>İmza mesajın hash değeri ile eşleşmedi.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>Mesaj doğrulaması başarısız oldu.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>Mesaj doğrulandı.</translation>
</message>
</context>
<context>
- <name>TransactionTableModel</name>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>%1 değerine dek açık</translation>
+ </message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="-2"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>%n blok için açık</numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>%1 değerine dek açık</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/çevrim dışı</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>Çevrimdışı (%1 teyit)</translation>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/doğrulanmadı</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>Doğrulanmadı (%1 (toplam %2 üzerinden) teyit)</translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 teyit</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
- <source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>Bu blok başka hiçbir düğüm tarafından alınmamıştır ve muhtemelen kabul edilmeyecektir!</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Durum</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
- <source>Generated but not accepted</source>
- <translation>Oluşturuldu ama kabul edilmedi</translation>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, %n düğüm vasıtasıyla yayınlandı</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+4"/>
<source>Date</source>
<translation>Tarih</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>Adres</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>Kaynak</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>Miktar</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Oluşturuldu</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>Tür</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Gönderen</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
- <source>Confirmed (%1 confirmations)</source>
- <translation>Doğrulandı (%1 doğrulama)</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>Alıcı</translation>
+ </message>
+ <message>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>kendi adresiniz</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>etiket</translation>
+ </message>
+ <message>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Gider</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
<translation>
- <numerusform>Madenden çıkarılan bakiye %n ek blok sonrasında kullanılabilecektir</numerusform>
+ <numerusform>%n ek blok sonrasında olgunlaşacak</numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
- <source>Received with</source>
- <translation>Şununla alınan</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>kabul edilmedi</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
- <source>Received from</source>
- <translation>Alındığı kişi</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Gelir</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
- <source>Sent to</source>
- <translation>Gönderildiği adres</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Muamele ücreti</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
- <source>Payment to yourself</source>
- <translation>Kendinize ödeme</translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Net miktar</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
- <source>Mined</source>
- <translation>Madenden çıkarılan</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Mesaj</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
- <source>(n/a)</source>
- <translation>(mevcut değil)</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Yorum</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
- <source>Transaction status. Hover over this field to show number of confirmations.</source>
- <translation>Muamele durumu. Doğrulama sayısını görüntülemek için imleci bu alanda tutunuz.</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>Muamele tanımlayıcı</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
- <source>Date and time that the transaction was received.</source>
- <translation>Muamelenin alındığı tarih ve zaman.</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Oluşturulan Bitcoin&apos;lerin harcanabilmelerinden önce 120 blok beklemeleri gerekmektedir. Bu blok, oluşturduğunuzda blok zincirine eklenmesi için ağda yayınlandı. Zincire eklenmesi başarısız olursa, durumu &quot;kabul edilmedi&quot; olarak değiştirilecek ve harcanamayacaktır. Bu, bazen başka bir düğüm sizden birkaç saniye önce ya da sonra blok oluşturursa meydana gelebilir.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
- <source>Destination address of transaction.</source>
- <translation>Muamelenin alıcı adresi.</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>Hata ayıklama verileri</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
- <source>Amount removed from or added to balance.</source>
- <translation>Bakiyeden alınan ya da bakiyeye eklenen miktar.</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>Muamele</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
- <source>Type of transaction.</source>
- <translation>Muamele türü.</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>Girdiler</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Miktar</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>doğru</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>yanlış</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, henüz başarılı bir şekilde yayınlanmadı</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>bilinmiyor</translation>
</message>
</context>
<context>
- <name>TransactionView</name>
+ <name>TransactionDescDialog</name>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>Bugün</translation>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
+ <source>Transaction details</source>
+ <translation>Muamele detayları</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Doğrulandı</translation>
+ <location line="+6"/>
+ <source>This pane shows a detailed description of the transaction</source>
+ <translation>Bu pano muamelenin ayrıntılı açıklamasını gösterir</translation>
</message>
+</context>
+<context>
+ <name>TransactionTableModel</name>
<message>
- <location filename="../transactionview.cpp" line="281"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
+ <source>Date</source>
+ <translation>Tarih</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Type</source>
<translation>Tür</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>Tanımlayıcı</translation>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>Adres</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>Dışa aktarımda hata oluştu</translation>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>Miktar</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>%n blok için açık</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>Asgari miktar</translation>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>%1 değerine dek açık</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Etiketi kopyala</translation>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>Çevrimdışı (%1 teyit)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Detayları göster...</translation>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>Doğrulanmadı (%1 (toplam %2 üzerinden) teyit)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Muamele verilerini dışa aktar</translation>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>Doğrulandı (%1 teyit)</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>Madenden çıkarılan bakiye %n ek blok sonrasında olgunlaştığında kullanılabilecektir</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Virgülle ayrılmış değerler dosyası (*.csv)</translation>
+ <location line="+5"/>
+ <source>This block was not received by any other nodes and will probably not be accepted!</source>
+ <translation>Bu blok başka hiçbir düğüm tarafından alınmamıştır ve muhtemelen kabul edilmeyecektir!</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>Aralık:</translation>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>Oluşturuldu ama kabul edilmedi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>ilâ</translation>
+ <location line="+43"/>
+ <source>Received with</source>
+ <translation>Şununla alındı</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Received from</source>
+ <translation>Alındığı kişi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
+ <location line="+3"/>
+ <source>Sent to</source>
+ <translation>Gönderildiği adres</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Payment to yourself</source>
+ <translation>Kendinize ödeme</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>Madenden çıkarılan</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(mevcut değil)</translation>
+ </message>
+ <message>
+ <location line="+199"/>
+ <source>Transaction status. Hover over this field to show number of confirmations.</source>
+ <translation>Muamele durumu. Doğrulama sayısını görüntülemek için imleci bu alanda tutunuz.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>Muamelenin alındığı tarih ve zaman.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Type of transaction.</source>
+ <translation>Muamele türü.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Destination address of transaction.</source>
+ <translation>Muamelenin alıcı adresi.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Amount removed from or added to balance.</source>
+ <translation>Bakiyeden alınan ya da bakiyeye eklenen miktar.</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionView</name>
+ <message>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
<source>All</source>
<translation>Hepsi</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="57"/>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>Bugün</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>This week</source>
<translation>Bu hafta</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
+ <location line="+1"/>
<source>This month</source>
<translation>Bu ay</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
<source>Last month</source>
<translation>Geçen ay</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Bu sene</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Range...</source>
<translation>Aralık...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>Şununla alınan</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
+ <location line="+2"/>
<source>Sent to</source>
<translation>Gönderildiği adres</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
<source>To yourself</source>
<translation>Kendinize</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>Oluşturulan</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Diğer</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Enter address or label to search</source>
<translation>Aranacak adres ya da etiket giriniz</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>Asgari miktar</translation>
+ </message>
+ <message>
+ <location line="+34"/>
<source>Copy address</source>
<translation>Adresi kopyala</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Etiketi kopyala</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Copy amount</source>
<translation>Miktarı kopyala</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
<source>Edit label</source>
<translation>Etiketi düzenle</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>Muamele detaylarını göster</translation>
+ </message>
+ <message>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Muamele verilerini dışa aktar</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Virgülle ayrılmış değerler dosyası (*.csv)</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Doğrulandı</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Date</source>
<translation>Tarih</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Tür</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Label</source>
<translation>Etiket</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
<source>Address</source>
<translation>Adres</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation>Miktar</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>Tanımlayıcı</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>Dışa aktarımda hata oluştu</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>%1 dosyasına yazılamadı.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Bu sene</translation>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>Aralık:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Diğer</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>ilâ</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Gönderiliyor...</translation>
</message>
@@ -1667,494 +2088,627 @@ Adres: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>Bitcoin oluşturmasını devre dışı bırak</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>Bitcoin sürümü</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Adresler yükleniyor...</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Kullanım:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>blkindex.dat dosyasının yüklenmesinde hata oluştu</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>-server ya da bitcoind&apos;ye komut gönder</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Cüzdanın tekrar yazılması gerekiyordu: işlemi tamamlamak için Bitcoin&apos;i yeniden başlatınız</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>Komutları listele</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>wallet.dat dosyasının yüklenmesinde hata oluştu</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>Bir komut için yardım al</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>Cüzdan eski biçime geri alınamaz</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Seçenekler:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>Yapılandırma dosyası belirt (varsayılan: bitcoin.conf)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>Pid dosyası belirt (varsayılan: bitcoind.pid)</translation>
+ </message>
+ <message>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>Madenî para (Bitcoin) oluştur</translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>Bitcoin oluşturmasını devre dışı bırak</translation>
+ </message>
+ <message>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>Veri dizinini belirt</translation>
+ </message>
+ <message>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation>Veritabanı önbellek boyutunu megabayt olarak belirt (varsayılan: 25)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Kullanım:</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>Diskteki veritabanı kütüğü boyutunu megabayt olarak belirt (varsayılan: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Hata ayıklayıcıya -debugger- trace/hata ayıklama verileri gönder</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>Bağlantılar için dinlenecek &lt;port&gt; (varsayılan: 8333 ya da testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>JSON-RPC bağlantıları için parola</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>Eşler ile en çok &lt;n&gt; adet bağlantı kur (varsayılan: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>Şu &lt;ip&gt; adresinde (varsayılan: 127.0.0.1) çalışan düğüme komut yolla</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>Eş adresleri elde etmek için bir düğüme bağlan ve ardından bağlantıyı kes</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>JSON-RPC bağlantıları için kullanıcı ismi</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>Kendi genel adresinizi tanımlayın</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>Belirtilen adresle ilişiklendir. IPv6 için [makine]:port simgelemini kullanınız</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Aksaklık gösteren eşlerle bağlantıyı kesme sınırı (varsayılan: 100)</translation>
+ </message>
+ <message>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Aksaklık gösteren eşlerle yeni bağlantıları engelleme süresi, saniye olarak (varsayılan: 86400)</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>IPv4 üzerinde dinlemek için %u numaralı RPC portunun kurulumu sırasında hata meydana geldi: %s</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>IPv6 üzerinde dinlemek için %u numaralı RPC portu kurulurken bir hata meydana geldi, IPv4&apos;e dönülüyor: %s</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>Blok ve adres veri tabanlarını ayır. Kapatma süresini arttırır (varsayılan: 0)</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>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.</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>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 </translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>JSON-RPC bağlantılarını &lt;port&gt; üzerinde dinle (varsayılan: 8332 veya tesnet: 18332)</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Konut satırı ve JSON-RPC komutlarını kabul et</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
<source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Hata: Muamele oluşturması başarısız oldu.</translation>
+ <translation>Hata: Muamele oluşturması başarısız oldu.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">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.</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>Hata: Cüzdan kilitli, muamele oluşturulamadı </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>%u RPC portunun dinleme için kurulması sırasında bir hata meydana geldi: %s</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>Blok zinciri veri dosyası içe aktarılıyor.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Yolladığınız muameleler için eklenecek KB başı ücret</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>Blok zinciri verileri başlatma dosyası içe aktarılıyor.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Konut satırı ve JSON-RPC komutlarını kabul et</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Arka planda daemon (servis) olarak çalış ve komutları kabul et</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
+ <location line="+33"/>
<source>Use the test network</source>
<translation>Deneme şebekesini kullan</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Hata ayıklama çıktısına tarih ön ekleri ilâve et</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>Dışarıdan gelen bağlantıları kabul et (varsayılan: -proxy veya -connect yoksa 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Trace/hata ayıklama verilerini debug.log dosyası yerine konsola gönder</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Yüksek öncelikli/düşük ücretli muamelelerin boyutunu bayt olarak tanımla (varsayılan: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>Kabul edilebilir şifreler (varsayılan: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Uyarı: -paytxfee çok yüksek bir değere ayarlanmış! Bu, muamele gönderirseniz ödeyeceğiniz muamele ücretidir.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>wallet.dat dosyasının yüklenmesinde hata oluştu: bozuk cüzdan</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>Uyarı: Görüntülenen muameleler doğru olmayabilir! Sizin ya da diğer düğümlerin güncelleme yapması gerekebilir.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Yeniden tarama...</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>Uyarı: Lütfen bilgisayarınızın tarih ve saatinin doğru olup olmadığını kontrol ediniz! Saatiniz doğru değilse Bitcoin gerektiği gibi çalışamaz.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>Hata</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>Blok oluşturma seçenekleri:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Yetersiz bakiye</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Sadece belirtilen düğüme veya düğümlere bağlan</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>%s seçeneğini kullanmak için</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>Kendi IP adresini keşfet (varsayılan: dinlenildiğinde ve -externalip yoksa 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Bağlantı zaman aşım süresini milisaniye olarak belirt</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>Herhangi bir portun dinlenmesi başarısız oldu. Bunu istiyorsanız -listen=0 seçeneğini kullanınız.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>En iyi blok değiştiğinde komutu çalıştır (komut için %s parametresi blok hash değeri ile değiştirilecektir)</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>Eşleri DNS araması vasıtasıyla bul (varsayılan: 1, eğer -connect kullanılmadıysa)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>Blok ve adres veri tabanlarını ayır. Kapatma süresini arttırır (varsayılan: 0)</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>Geçersiz -tor adresi: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>Eşleri Internet Relay Chat vasıtasıyla bul (varsayılan: 0)</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Bağlantı başına azami alım tamponu, &lt;n&gt;*1000 bayt (varsayılan: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Bağlantı başına azami yollama tamponu, &lt;n&gt;*1000 bayt (varsayılan: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>Varsayılan adres yazılamadı</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>Sadece &lt;net&gt; şebekesindeki düğümlere bağlan (IPv4, IPv6 ya da Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>Blok kontrolünün derinliği (0 ilâ 6, varsayılan: 1)</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>İlâve hata ayıklama verileri çıkart. Diğer tüm -debug* seçeneklerini ima eder</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>-server ya da bitcoind&apos;ye komut gönder</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>İlâve şebeke hata ayıklama verileri çıkart</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>Cüzdanı en yeni biçime güncelle</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Hata ayıklama çıktısına tarih ön ekleri ilâve et</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>Sunucu sertifika dosyası (varsayılan: server.cert)</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation> SSL seçenekleri: (SSL kurulum bilgisi için Bitcoin vikisine bakınız)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>Bitcoin sürümü</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>Kullanılacak socks vekil sunucu sürümünü seç (4-5, varsayılan: 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, şu yapılandırma dosyasında rpc parolası belirtmeniz gerekir:
- %s
-Aşağıdaki rastgele oluşturulan parolayı kullanmanız tavsiye edilir:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(bu parolayı hatırlamanız gerekli değildir)
-Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz.
-</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Trace/hata ayıklama verilerini debug.log dosyası yerine konsola gönder</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Yükleme tamamlandı</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Hata ayıklayıcıya -debugger- trace/hata ayıklama verileri gönder</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Cüzdan yükleniyor...</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>Bayt olarak azami blok boyutunu tanımla (varsayılan: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>JSON-RPC bağlantıları için OpenSSL (https) kullan</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>Bayt olarak asgari blok boyutunu tanımla (varsayılan: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>Belirtilen İP adresinden JSON-RPC bağlantılarını kabul et</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>İstemci başlatıldığında debug.log dosyasını küçült (varsayılan: -debug bulunmadığında 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>Bu yardım mesajı</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Bağlantı zaman aşım süresini milisaniye olarak belirt (varsayılan: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>Bir komut için yardım al</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Dinlenecek portu haritalamak için UPnP kullan (varsayılan: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Küçültülmüş olarak başla</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Dinlenecek portu haritalamak için UPnP kullan (varsayılan: dinlenildiğinde 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>Keypool başlatılamadı</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>Gizli tor servislerine erişmek için vekil sunucu kullan (varsayılan: -proxy ile aynısı)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Gönderiliyor...</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>JSON-RPC bağlantıları için kullanıcı ismi</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>Geçersiz miktar</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Uyarı: Disk alanı düşük</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Uyarı: Disk alanı düşük!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>%s veri dizininde kilit elde edilemedi. Bitcoin muhtemelen hâlihazırda çalışmaktadır.</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>Uyarı: Bu sürüm çok eskidir, güncellemeniz gerekir!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Aksaklık gösteren eşlerle yeni bağlantıları engelleme süresi, saniye olarak (varsayılan: 86400)</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>Pid dosyası belirt (varsayılan: bitcoind.pid)</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>JSON-RPC bağlantıları için parola</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>Veri dizinini belirt</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>Belirtilen İP adresinden JSON-RPC bağlantılarını kabul et</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>rpcpassword=&lt;parola&gt; şu yapılandırma dosyasında belirtilmelidir:
-%s
-Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz.</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>Şu &lt;ip&gt; adresinde (varsayılan: 127.0.0.1) çalışan düğüme komut yolla</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>Diskteki veritabanı kütüğü boyutunu megabayt olarak belirt (varsayılan: 100)</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>En iyi blok değiştiğinde komutu çalıştır (komut için %s parametresi blok hash değeri ile değiştirilecektir)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Bağlanılacak düğüm ekle ve bağlantıyı zinde tutmaya çalış</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>Cüzdanı en yeni biçime güncelle</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Her bağlantı için alım tamponu, &lt;n&gt;*1000 bayt (varsayılan: 10000)</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>Anahtar alan boyutunu &lt;n&gt; değerine ayarla (varsayılan: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Her bağlantı için yollama tamponu, &lt;n&gt;*1000 bayt (varsayılan: 10000)</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Blok zincirini eksik cüzdan muameleleri için tekrar tara</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>İlâve hata ayıklama verisi çıkar</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>Başlangıçta ne kadar blokun denetleneceği (varsayılan: 2500, 0 = tümü)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>wallet.dat dosyasının yüklenmesinde hata oluştu: cüzdanın daha yeni bir Bitcoin sürümüne ihtiyacı var</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>Blok kontrolünün derinliği (0 ilâ 6, varsayılan: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>Madenî para (Bitcoin) oluştur</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>Harici blk000?.dat dosyasından blokları içe aktarır</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>Başlangıçta ne kadar blokun denetleneceği (varsayılan: 2500, 0 = tümü)</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>JSON-RPC bağlantıları için OpenSSL (https) kullan</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL seçenekleri: (SSL kurulum bilgisi için Bitcoin vikisine bakınız)</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>Sunucu sertifika dosyası (varsayılan: server.cert)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>Bağlantılar için dinlenecek &lt;port&gt; (varsayılan: 8333 ya da testnet: 18333)</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>Sunucu özel anahtarı (varsayılan: server.pem)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Blok indeksi yükleniyor...</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>Kabul edilebilir şifreler (varsayılan: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>Eşler ile en çok &lt;n&gt; adet bağlantı kur (varsayılan: 125)</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>Bu yardım mesajı</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Blok zincirini eksik cüzdan muameleleri için tekrar tara</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>%s veri dizininde kilit elde edilemedi. Bitcoin muhtemelen hâlihazırda çalışmaktadır.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Arka planda daemon (servis) olarak çalış ve komutları kabul et</translation>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>Sunucu özel anahtarı (varsayılan: server.pem)</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Bu bilgisayarda %s unsuruna bağlanılamadı. (bind şu hatayı iletti: %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>Anahtar alan boyutunu &lt;n&gt; değerine ayarla (varsayılan: 100)</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Socks vekil sunucusu vasıtasıyla bağlan</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>Yapılandırma dosyası belirt (varsayılan: bitcoin.conf)</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>-addnode, -seednode ve -connect için DNS aramalarına izin ver</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Aksaklık gösteren eşlerle bağlantıyı kesme sınırı (varsayılan: 100)</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Adresler yükleniyor...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>JSON-RPC bağlantıları için dinlenecek &lt;port&gt; (varsayılan: 8332)</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>blkindex.dat dosyasının yüklenmesinde hata oluştu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>Komutları listele</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>wallet.dat dosyasının yüklenmesinde hata oluştu: bozuk cüzdan</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Seçenekler:</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>wallet.dat dosyasının yüklenmesinde hata oluştu: cüzdanın daha yeni bir Bitcoin sürümüne ihtiyacı var</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Sadece belirtilen düğüme bağlan</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Cüzdanın tekrar yazılması gerekiyordu: işlemi tamamlamak için Bitcoin&apos;i yeniden başlatınız</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Kullanım</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>wallet.dat dosyasının yüklenmesinde hata oluştu</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>addr.dat dosyasının yüklenmesinde hata oluştu</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Geçersiz -proxy adresi: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Geçersiz -proxy adresi</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>-onlynet için bilinmeyen bir şebeke belirtildi: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>-paytxfee=&lt;miktar&gt; için geçersiz miktar</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>Bilinmeyen bir -socks vekil sürümü talep edildi: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Uyarı: -paytxfee çok yüksek bir değere ayarlanmış. Bu, muamele gönderirseniz ödeyeceğiniz muamele ücretidir.</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>-bind adresi çözümlenemedi: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>%d sayılı porta bu bilgisayarda bağlanılamadı. Bitcoin muhtemelen hâlihazırda çalışmaktadır.</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>-externalip adresi çözümlenemedi: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>Uyarı: Lütfen bilgisayarınızın tarih ve saatinin doğru olup olmadığını kontrol ediniz. Saatiniz doğru değilse Bitcoin gerektiği gibi çalışamaz.</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>-paytxfee=&lt;miktar&gt; için geçersiz miktar: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Hata: CreateThread(StartNode) başarısız oldu</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>Hata: düğüm başlatılamadı</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">Dışarıdan gelen bağlantıları kabul et (varsayılan: 1)</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Gönderiliyor...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>Lisan belirt, mesela &quot;de_De&quot; (varsayılan: sistem dili)</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>Geçersiz miktar</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Düğüm ekleme ve bağlantı için DNS aramalarına izin ver</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Yetersiz bakiye</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Dinlenecek portu haritalamak için UPnP kullan (varsayılan: 1)</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Blok indeksi yükleniyor...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Dinlenecek portu haritalamak için UPnP kullan (varsayılan: 0)</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Bağlanılacak düğüm ekle ve bağlantıyı zinde tutmaya çalış</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>Başlatıldığında başlangıç ekranını göster (varsayılan: 1)</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Bu bilgisayarda %s unsuruna bağlanılamadı. Bitcoin muhtemelen hâlihazırda çalışmaktadır.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>Eşleri Internet Relay Chat vasıtasıyla bul (varsayılan: 0)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Yolladığınız muameleler için eklenecek KB başı ücret</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Cüzdan yükleniyor...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>Cüzdan eski biçime geri alınamaz</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>Keypool başlatılamadı</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>Varsayılan adres yazılamadı</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Yeniden tarama...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Yükleme tamamlandı</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Socks4 vekil sunucusu vasıtasıyla bağlan</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>%s seçeneğini kullanmak için</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation type="unfinished">Eşleri DNS araması vasıtasıyla bul (varsayılan: 1)</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, şu yapılandırma dosyasında rpc parolası belirtmeniz gerekir:
+ %s
+Aşağıdaki rastgele oluşturulan parolayı kullanmanız tavsiye edilir:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(bu parolayı hatırlamanız gerekli değildir)
+Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz.
+</translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>Hata</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>rpcpassword=&lt;parola&gt; şu yapılandırma dosyasında belirtilmelidir:
+%s
+Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_uk.ts b/src/qt/locale/bitcoin_uk.ts
index de03d586de..76c9804ef3 100644
--- a/src/qt/locale/bitcoin_uk.ts
+++ b/src/qt/locale/bitcoin_uk.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>Про Bitcoin</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>Версія &lt;b&gt;Bitcoin&apos;a&lt;b&gt;</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>Авторське право © 2009-2012 Розробники Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>Авторське право © 2009-2012 Розробники Bitcoin
-
+ <translation>
Це програмне забезпечення є експериментальним.
-Поширюється за ліцензією MIT/X11, додаткова інформація міститься у файлі license.txt, а також за адресою http://www.opensource.org/licenses/mit-license.php.
+Поширюється за ліцензією MIT/X11, додаткова інформація міститься у файлі COPYING, а також за адресою http://www.opensource.org/licenses/mit-license.php.
Цей продукт включає в себе програмне забезпечення, розроблене в рамках проекту OpenSSL (http://www.openssl.org/), криптографічне програмне забезпечення, написане Еріком Янгом (eay@cryptsoft.com), та функції для роботи з UPnP, написані Томасом Бернардом.</translation>
</message>
@@ -35,523 +38,513 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>Адресна книга</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>Це ваші адреси для отримання платежів. Ви можете давати різні адреси різним людям, таким чином маючи можливість відслідкувати хто конкретно і скільки вам заплатив. </translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>Двічі клікніть на адресу чи назву для їх зміни</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>Створити нову адресу</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Файли відділені комами (*.csv)</translation>
- </message>
- <message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Error exporting</source>
- <translation>Помилка при експортуванні</translation>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>Копіювати виділену адресу в буфер обміну</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;Створити адресу...</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;Створити адресу</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
- <translation>Копіювати виділену адресу в буфер обміну</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>Це ваші адреси для отримання платежів. Ви можете давати різні адреси різним людям, таким чином маючи можливість відслідкувати хто конкретно і скільки вам заплатив. </translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Копіювати</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;Скопіювати адресу</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>Показати QR-&amp;Код</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
<translation>Підпишіть повідомлення щоб довести, що ви є власником цієї адреси</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
+ <location line="+3"/>
<source>Sign &amp;Message</source>
<translation>&amp;Підписати повідомлення</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>Видалити виділену адресу зі списку. Лише адреси з адресної книги можуть бути видалені.</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
+ <location line="+14"/>
<source>&amp;Delete</source>
<translation>&amp;Видалити</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Could not write to file %1.</source>
- <translation>Неможливо записати у файл %1.</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>Скопіювати &amp;мітку</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>Скопіювати адресу</translation>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;Редагувати</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>Скопіювати мітку</translation>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>Експортувати адресну книгу</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>Редагувати</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Файли відділені комами (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>Видалити</translation>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>Помилка при експортуванні</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
- <source>Export Address Book Data</source>
- <translation>Експортувати адресну книгу</translation>
+ <location line="+0"/>
+ <source>Could not write to file %1.</source>
+ <translation>Неможливо записати у файл %1.</translation>
</message>
</context>
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>Назва</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
- <source>(no label)</source>
- <translation>(немає назви)</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Адреса</translation>
</message>
+ <message>
+ <location line="+36"/>
+ <source>(no label)</source>
+ <translation>(немає назви)</translation>
+ </message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>Не вдалося розблокувати гаманець</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
- <source>Decrypt wallet</source>
- <translation>Дешифрувати гаманець</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>Ввести старий та новий паролі для гаманця.</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>Введіть пароль</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
+ <location line="+14"/>
<source>New passphrase</source>
<translation>Новий пароль</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>Текстова мітка</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
- <source>Change passphrase</source>
- <translation>Змінити пароль</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>Діалог</translation>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>Повторіть пароль</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>Підтвердити шифрування гаманця</translation>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
+ <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
+ <translation>Введіть новий пароль для гаманця.&lt;br/&gt;Будь ласка, використовуйте паролі що містять &lt;b&gt; як мінімум 10 випадкових символів &lt;/b&gt; або &lt;b&gt; як мінімум 8 слів&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation>Повторіть пароль</translation>
+ <location line="+1"/>
+ <source>Encrypt wallet</source>
+ <translation>Зашифрувати гаманець</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
+ <location line="+3"/>
<source>This operation needs your wallet passphrase to unlock the wallet.</source>
<translation>Ця операція потребує пароль для розблокування гаманця.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>Розблокувати гаманець</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
- <source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
- <translation>Введіть новий пароль для гаманця.&lt;br/&gt;Будь ласка, використовуйте паролі що містять &lt;b&gt; як мінімум 10 випадкових символів &lt;/b&gt; або &lt;b&gt; як мінімум 8 слів&lt;/b&gt;.</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>Ця операція потребує пароль для дешифрування гаманця.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>Не вдалося розшифрувати гаманець</translation>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>Дешифрувати гаманець</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
- <source>Encrypt wallet</source>
- <translation>Зашифрувати гаманець</translation>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>Змінити пароль</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>Ця операція потребує пароль для дешифрування гаманця.</translation>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>Ввести старий та новий паролі для гаманця.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
- <source>The passphrase entered for the wallet decryption was incorrect.</source>
- <translation>Введений пароль є невірним.</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>Підтвердити шифрування гаманця</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>УВАГА: Якщо ви зашифруєте гаманець і забудете пароль, ви &lt;b&gt;ВТРАТИТЕ ВСІ СВОЇ БІТКОІНИ&lt;/b&gt;!
-Ви дійсно хочете зашифрувати свій гаманець?</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>УВАГА: Якщо ви зашифруєте гаманець і забудете пароль, ви &lt;b&gt;ВТРАТИТЕ ВСІ СВОЇ БІТКОІНИ&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>Гаманець зашифровано</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>Ви дійсно хочете зашифрувати свій гаманець?</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
- <source>Wallet encryption failed</source>
- <translation>Не вдалося зашифрувати гаманець</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>Пароль було успішно змінено.</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>Увага: Ввімкнено Caps Lock</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>Увага: Ввімкнено Caps Lock</translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>Гаманець зашифровано</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
+ <location line="-56"/>
<source>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.</source>
<translation>Біткоін-клієнт буде закрито для завершення процесу шифрування. Пам’ятайте, що шифрування гаманця не може повністю захистити ваші біткоіни від кражі, у випадку якщо ваш комп’ютер буде інфіковано шкідливими програмами.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
+ <source>Wallet encryption failed</source>
+ <translation>Не вдалося зашифрувати гаманець</translation>
+ </message>
+ <message>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>Виникла помилка під час шифрування гаманця. Ваш гаманець не було зашифровано.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>Введені паролі не співпадають.</translation>
</message>
-</context>
-<context>
- <name>BitcoinGUI</name>
- <message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>&amp;Вихід</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>Змінити пароль, який використовується для шифрування гаманця</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>&amp;Про Qt</translation>
- </message>
<message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>Гаманець</translation>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>Не вдалося розблокувати гаманець</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;Параметри...</translation>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
+ <source>The passphrase entered for the wallet decryption was incorrect.</source>
+ <translation>Введений пароль є невірним.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;Налаштування</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>Не вдалося розшифрувати гаманець</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>Зашифрувати чи розшифрувати гаманець</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>Пароль було успішно змінено.</translation>
</message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>Показати інформацію про Bitcoin</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>&amp;Підписати повідомлення...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
+ <location line="+237"/>
<source>Synchronizing with network...</source>
<translation>Синхронізація з мережею...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;Огляд</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>Показати загальний огляд гаманця</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>Пе&amp;реклади</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>Переглянути історію переказів</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;Адресна книга</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
+ <location line="+1"/>
<source>Edit the list of stored addresses and labels</source>
<translation>Редагувати список збережених адрес та міток</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>О&amp;тримати</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>Показати список адрес для отримання платежів</translation>
+ </message>
+ <message>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation>В&amp;ідправити</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>Відправити монети на вказану адресу</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>&amp;Вихід</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;Огляд</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>Вийти</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;Файл</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>Показати інформацію про Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>Показати список адрес для отримання платежів</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>&amp;Про Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>Панель вкладок</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>Показати інформацію про Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;Експорт...</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;Параметри...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>О&amp;тримати</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;Шифрування гаманця...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>Вийти</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
- <source>%n active connection(s) to Bitcoin network</source>
- <translation>
- <numerusform>%n активне з’єднання з мережею</numerusform>
- <numerusform>%n активні з’єднання з мережею</numerusform>
- <numerusform>%n активних з’єднань з мережею</numerusform>
- </translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;Резервне копіювання гаманця...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>Завантажено %1 блоків історії транзакцій.</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>Змінити парол&amp;ь...</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>%n секунду тому</numerusform>
- <numerusform>%n секунди тому</numerusform>
- <numerusform>%n секунд тому</numerusform>
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>Завантажено %1 з %2 блоків історії переказів (%3% done).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>Резервне копіювання гаманця</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;Експорт...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>Дані гаманця (*.dat)</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>Відправити монети на вказану адресу</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>Резервне копіювання не вдалося</translation>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>Редагувати параметри</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>Виникла помилка при спробі зберегти гаманець в новому місці</translation>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>Експортувати дані з поточної вкладки в файл</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>&amp;Довідка</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>Зашифрувати чи розшифрувати гаманець</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
- <source>Actions toolbar</source>
- <translation>Панель дій</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>Резервне копіювання гаманця в інше місце</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>&amp;Підписати повідомлення</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>Змінити пароль, який використовується для шифрування гаманця</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>Резервне копіювання гаманця в інше місце</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>П&amp;ро %1</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>Показати інформацію про Qt</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>Редагувати параметри</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation type="unfinished">Показати вікно гаманця</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>Гаманець</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>Експортувати дані з поточної вкладки в файл</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;Про Bitcoin</translation>
</message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation type="unfinished">
- <numerusform></numerusform>
- <numerusform></numerusform>
- <numerusform></numerusform>
- </translation>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>&amp;Резервне копіювання гаманця</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;Файл</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>Доведіть, що це ваша адреса</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;Налаштування</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation type="unfinished"></translation>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>&amp;Довідка</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;Шифрування гаманця</translation>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>Панель вкладок</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>Змінити парол&amp;ь</translation>
+ <location line="+8"/>
+ <source>Actions toolbar</source>
+ <translation>Панель дій</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[тестова мережа]</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation type="unfinished"></translation>
</message>
+ <message numerus="yes">
+ <location line="+69"/>
+ <source>%n active connection(s) to Bitcoin network</source>
+ <translation>
+ <numerusform>%n активне з’єднання з мережею</numerusform>
+ <numerusform>%n активні з’єднання з мережею</numerusform>
+ <numerusform>%n активних з’єднань з мережею</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>Завантажено %1 блоків історії транзакцій.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
+ <translation>
+ <numerusform>%n секунду тому</numerusform>
+ <numerusform>%n секунди тому</numerusform>
+ <numerusform>%n секунд тому</numerusform>
+ </translation>
+ </message>
+ <message numerus="yes">
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>%n хвилину тому</numerusform>
@@ -560,7 +553,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n годину тому</numerusform>
@@ -569,7 +562,7 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>%n день тому</numerusform>
@@ -578,37 +571,42 @@ Are you sure you wish to encrypt your wallet?</source>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>Синхронізовано</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>Синхронізується...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>Останній отриманий блок було згенеровано %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>Завантажено %1 з %2 блоків історії переказів (%3% done).</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>Цей переказ перевищує максимально допустимий розмір. Проте ви можете здійснити її, додавши комісію в %1, яка відправиться тим вузлам що оброблять ваш переказ, та допоможе підтримати мережу. Ви хочете додати комісію?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>Надіслані перекази</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>Отримані перекази</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -621,545 +619,750 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>&lt;b&gt;Зашифрований&lt;/b&gt; гаманець &lt;b&gt;розблоковано&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>&lt;b&gt;Зашифрований&lt;/b&gt; гаманець &lt;b&gt;заблоковано&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>Відправлення...</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[тестова мережа]</translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>Резервне копіювання гаманця</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation type="unfinished"></translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>Дані гаманця (*.dat)</translation>
</message>
-</context>
-<context>
- <name>DisplayOptionsPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>В&amp;имірювати монети в: </translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>Резервне копіювання не вдалося</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>Виберіть одиницю вимірювання монет, яка буде відображатись в гаманці та при відправленні.</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>Виникла помилка при спробі зберегти гаманець в новому місці</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;Відображати адресу в списку переказів</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>Редагувати адресу</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;Мітка</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>Мітка, пов’язана з цим записом адресної книги</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;Адреса</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>Адреса, пов’язана з цим записом адресної книги.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>Нова адреса для отримання</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>New sending address</source>
<translation>Нова адреса для відправлення</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>Редагувати адресу для отримання</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+4"/>
+ <source>Edit sending address</source>
+ <translation>Редагувати адресу для відправлення</translation>
+ </message>
+ <message>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>Введена адреса «%1» вже присутня в адресній книзі.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
- <source>Could not unlock wallet.</source>
- <translation>Неможливо розблокувати гаманець.</translation>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>Введена адреса «%1» не є коректною адресою в мережі Bitcoin.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
- <source>New receiving address</source>
- <translation>Нова адреса для отримання</translation>
+ <location line="+5"/>
+ <source>Could not unlock wallet.</source>
+ <translation>Неможливо розблокувати гаманець.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>Не вдалося згенерувати нові ключі.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>&amp;Адреса</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
- <source>Edit sending address</source>
- <translation>Редагувати адресу для відправлення</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>Введена адреса «%1» не є коректною адресою в мережі Bitcoin.</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>Вкористання:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>Запускати згорнутим
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;Запускати гаманець при вході в систему</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>Параметри</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>Автоматично запускати гаманець при вмиканні комп’ютера</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;Головні</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>Мінімізувати &amp;у трей</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>Добровільна комісія за кожен Кб переказу, яка дозволяє бути впевненим у тому, що ваш переказ буде оброблено швидко. Розмір більшості переказів рівен 1 Кб. Рекомендована комісія: 0,01.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>Показувати лише іконку в треї після згортання вікна</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>Заплатити комісі&amp;ю</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>Відображення порту через &amp;UPnP</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>Автоматично запускати гаманець при вмиканні комп’ютера</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>Згортати замість закритт&amp;я</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>&amp;Запускати гаманець при вході в систему</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>Автоматично відкривати порт для клієнту біткоін на роутері. Працює лише якщо ваш роутер підтримує UPnP і ця функція увімкнена.</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>Згортати замість закриття. Якщо ця опція включена, програма закриється лише після вибору відповідного пункту в меню.</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>Підключатись через &amp;SOCKS4-проксі:</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>Підключатись до мережі Bitcoin через SOCKS4-проксі (наприклад при використанні Tor)</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>Автоматично відкривати порт для клієнту біткоін на роутері. Працює лише якщо ваш роутер підтримує UPnP і ця функція увімкнена.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>&amp;IP проксі: </translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>Відображення порту через &amp;UPnP</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>IP-адреса проксі-сервера (наприклад 127.0.0.1)</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>Підключатись до мережі Bitcoin через SOCKS-проксі (наприклад при використанні Tor)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;Порт: </translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>Підключатись через &amp;SOCKS-проксі:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>Порт проксі-сервера (наприклад 1234)</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>&amp;IP проксі:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>Добровільна комісія за кожен Кб переказу, яка дозволяє бути впевненим у тому, що ваш переказ буде оброблено швидко. Розмір більшості переказів рівен 1 Кб. Рекомендована комісія: 0,01.</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>IP-адреса проксі-сервера (наприклад 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>Заплатити комісі&amp;ю</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;Порт:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation type="unfinished"></translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>Порт проксі-сервера (наприклад 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>Підпишіть повідомлення щоб довести, що ви є власником цієї адреси</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
+ <location line="+36"/>
+ <source>&amp;Window</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;Копіювати</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>Показувати лише іконку в треї після згортання вікна</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>Приватний ключ для %1 недоступний.</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>Мінімізувати &amp;у трей</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>&quot;%1&quot; не є коректною адресою в мережі Bitcoin.</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>Згортати замість закриття. Якщо ця опція включена, програма закриється лише після вибору відповідного пункту в меню.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>Повідомлення</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>Згортати замість закритт&amp;я</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation type="unfinished"></translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;Відображення</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">Введіть адресу Bitcoin (наприклад 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>Вибрати адресу з адресної книги</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>В&amp;имірювати монети в:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>Вставити адресу</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>Виберіть одиницю вимірювання монет, яка буде відображатись в гаманці та при відправленні.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>Введіть повідомлення, яке ви хочете підписати тут</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>&amp;Відображати адресу в списку переказів</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>Натисніть кнопку &quot;Підписати повідомлення&quot;, для отриманя підпису</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;Підписати повідомлення</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>Помилка при підписуванні</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>Не вдалось підписати</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>Головні</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>Увага</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>Відображення</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>Параметри</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-141"/>
<source>Balance:</source>
<translation>Баланс:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>Кількість переказів:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>Непідтверджені:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation>Гаманець</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;Недавні перекази&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>Ваш поточний баланс</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>Загальна сума всіх переказів, які ще не підтверджені, та до сих пір не враховуються в загальному балансі</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>Загальна кількість переказів в гаманці</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>Повідомлення:</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation>Запросити Платіж</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>&amp;Зберегти як...</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
- </message>
- <message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>Кількість:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
+ <location line="-44"/>
<source>Label:</source>
<translation>Мітка:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>Діалог</translation>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>Повідомлення:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR-Код</translation>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>&amp;Зберегти як...</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
<source>Error encoding URI into QR Code.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>PNG-зображення (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
+ <message>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation type="unfinished"></translation>
+ </message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>Відправити</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>Відправити на декілька адрес</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>Дод&amp;ати одержувача</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>Видалити всі поля транзакції</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>Очистити &amp;все</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>Баланс:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>Підтвердити відправлення</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>&amp;Відправити</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
<source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
<translation>&lt;b&gt;%1&lt;/b&gt; адресату %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> і </translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
+ <location line="+5"/>
<source>Confirm send coins</source>
<translation>Підтвердіть відправлення</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>Дод&amp;ати одержувача... </translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>Очистити все</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
+ <location line="+1"/>
<source>Are you sure you want to send %1?</source>
<translation>Ви впевнені що хочете відправити %1</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> і </translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>Адреса отримувача невірна, будьласка перепровірте.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
+ <location line="+5"/>
<source>The amount to pay must be larger than 0.</source>
<translation>Кількість монет для відправлення повинна бути більшою 0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
+ <location line="+5"/>
<source>The amount exceeds your balance.</source>
<translation>Кількість монет для відправлення перевищує ваш баланс.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>Сума перевищить ваш баланс, якщо комісія %1 буде додана до вашого переказу.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
+ <location line="+6"/>
<source>Duplicate address found, can only send to each address once per send operation.</source>
<translation>Знайдено адресу що дублюється. Відправлення на кожну адресу дозволяється лише один раз на кожну операцію переказу.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
+ <location line="+5"/>
<source>Error: Transaction creation failed.</source>
<translation>Помилка: не вдалося створити переказ.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>Помилка: переказ було відхилено. Це може статись, якщо декілька монет з вашого гаманця вже використані, наприклад, якщо ви використовуєте одну копію гаманця (wallet.dat), а монети були використані з іншої копії, але не позначені як використані в цій.</translation>
</message>
@@ -1167,217 +1370,442 @@ Address: %4
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>Форма</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>&amp;Кількість:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+13"/>
+ <source>Pay &amp;To:</source>
+ <translation>&amp;Отримувач:</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
+ <source>Enter a label for this address to add it to your address book</source>
+ <translation>Введіть мітку для цієї адреси для додавання її в адресну книгу</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>&amp;Label:</source>
+ <translation>&amp;Мітка:</translation>
+ </message>
+ <message>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>Адреса для отримувача платежу (наприклад, 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>Вибрати адресу з адресної книги</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Paste address from clipboard</source>
+ <translation>Вставити адресу</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>Видалити цього отримувача</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
- <source>Enter a label for this address to add it to your address book</source>
- <translation>Введіть мітку для цієї адреси для додавання її в адресну книгу</translation>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Введіть адресу Bitcoin (наприклад 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
- <source>Pay &amp;To:</source>
- <translation>&amp;Отримувач:</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
- <source>&amp;Label:</source>
- <translation>&amp;Мітка:</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;Підписати повідомлення</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Введіть адресу Bitcoin (наприклад 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>Вибрати адресу з адресної книги</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>Вставити адресу</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
- <source>Paste address from clipboard</source>
- <translation>Вставити адресу</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>Введіть повідомлення, яке ви хочете підписати тут</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>Підпишіть повідомлення щоб довести, що ви є власником цієї адреси</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>Очистити &amp;все</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>Введіть адресу Bitcoin (наприклад 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>Введіть адресу Bitcoin (наприклад 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>Натисніть кнопку &quot;Підписати повідомлення&quot;, для отриманя підпису</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>Відкрити до %1</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>Відкрити для %n блоку</numerusform>
+ <numerusform>Відкрити для %n блоків</numerusform>
+ <numerusform>Відкрити для %n блоків</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/поза інтернетом</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/не підтверджено</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, ще не було успішно розіслано</translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>%1 підтверджень</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>Відкрити для %1 блоків</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>Статус</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>Відкрити до %1</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>Дата</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/поза інтернетом?</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>%1 підтверджень</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>Згенеровано</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Дата:&lt;/b&gt; </translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>Відправник</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>невідомий</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Статус:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, розіслано через %1 вузол</translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>Мітка</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, розіслано через %1 вузлів</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>Кредит</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;Джерело:&lt;/b&gt; згенеровано&lt;br&gt;</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>не прийнято</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Відправник:&lt;/b&gt;</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>Дебет</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Одержувач:&lt;/b&gt; </translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>Комісія за переказ</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (Ваша, мітка: </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>Загальна сума</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (ваша)</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>Повідомлення</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 «дозріє» через %2 блоків)</translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>Коментар</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Дебет:&lt;/b&gt;</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>ID транзакції</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Комісія за переказ:&lt;/b&gt;</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>Після генерації монет, потрібно зачекати 120 блоків, перш ніж їх можна буде використати. Коли ви згенерували цей блок, його було відправлено в мережу для того, щоб він був доданий до ланцюжка блоків. Якщо ця процедура не вдасться, статус буде змінено на «не підтверджено» і ви не зможете потратити згенеровані монету. Таке може статись, якщо хтось інший згенерував блок на декілька секунд раніше.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Загальна сума:&lt;/b&gt; </translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>Повідомлення:</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>Коментар:</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>ID транзакції:</translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>Кількість</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>Після генерації монет, потрібно зачекати 120 блоків, перш ніж їх можна буде використати. Коли ви згенерували цей блок, його було відправлено в мережу для того, щоб він був доданий до ланцюжка блоків. Якщо ця процедура не вдасться, статус буде змінено на «не підтверджено» і ви не зможете потратити згенеровані монету. Таке може статись, якщо хтось інший згенерував блок на декілька секунд раніше.</translation>
+ <location line="+1"/>
+ <source>true</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;Кредит:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>false</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(не прийнято)</translation>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, ще не було успішно розіслано</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>невідомий</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>Деталі переказів</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>Даний діалог показує детальну статистику по вибраному переказу</translation>
</message>
@@ -1385,27 +1813,27 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>Дата</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>Тип</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>Адреса</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Amount</source>
<translation>Кількість</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>Відкрити для %n блоку</numerusform>
@@ -1414,268 +1842,268 @@ Address: %4
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>Відкрити до %1</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
+ <location line="+3"/>
<source>Offline (%1 confirmations)</source>
<translation>Поза інтернетом (%1 підтверджень)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>Непідтверджено (%1 із %2 підтверджень)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>Підтверджено (%1 підтверджень)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation type="unfinished">
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ <numerusform></numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>Цей блок не був отриманий жодними іншими вузлами і, ймовірно, не буде прийнятий!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>Згенеровано, але не підтверджено</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>Отримано</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>Отримано від</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>Відправлено</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>Відправлено собі</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>Добуто</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(недоступно)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>Статус переказу. Наведіть вказівник на це поле, щоб показати кількість підтверджень.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>Дата і час, коли переказ було отримано.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>Тип переказу.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>Адреса отримувача</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>Сума, додана чи знята з балансу.</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>Добутими монетами можна буде скористатись через %n блок</numerusform>
- <numerusform>Добутими монетами можна буде скористатись через %n блоки</numerusform>
- <numerusform>Добутими монетами можна буде скористатись через %n блоків</numerusform>
- </translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>Редагувати мітку</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>Всі</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="56"/>
+ <location line="-15"/>
<source>Today</source>
<translation>Сьогодні</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>На цьому тижні</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>На цьому місяці</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Last month</source>
<translation>Минулого місяця</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>Мітка</translation>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>Цього року</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>Відправлені собі</translation>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>Проміжок</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>Інше</translation>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>Отримані на</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
- <source>Confirmed</source>
- <translation>Підтверджені</translation>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>Відправлені на</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>Всі</translation>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>Відправлені собі</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
+ <location line="+1"/>
<source>Mined</source>
<translation>Добуті</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>Інше</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>Введіть адресу чи мітку для пошуку</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Min amount</source>
<translation>Мінімальна сума</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
- <source>Export Transaction Data</source>
- <translation>Експортувати дані переказів</translation>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>Скопіювати адресу</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
- <source>Date</source>
- <translation>Дата</translation>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>Скопіювати мітку</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>Проміжок</translation>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>Копіювати кількість</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>Отримані на</translation>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>Редагувати мітку</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>Відправлені на</translation>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>до</translation>
+ <location line="+142"/>
+ <source>Export Transaction Data</source>
+ <translation>Експортувати дані переказів</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>Введіть адресу чи мітку для пошуку</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>Файли, розділені комою (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>Скопіювати адресу</translation>
+ <location line="+8"/>
+ <source>Confirmed</source>
+ <translation>Підтверджені</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>Скопіювати мітку</translation>
+ <location line="+1"/>
+ <source>Date</source>
+ <translation>Дата</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>Копіювати кількість</translation>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>Тип</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>Мітка</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>Адреса</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation>Кількість</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation>Ідентифікатор</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>Адреса</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>Помилка експорту</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>Неможливо записати у файл %1</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation>Діапазон від:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
- <source>Comma separated file (*.csv)</source>
- <translation>Файли, розділені комою (*.csv)</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>На цьому тижні</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>На цьому місяці</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>Цього року</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>Показати деталі...</translation>
- </message>
- <message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>Тип</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>до</translation>
</message>
</context>
<context>
<name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
+ <location filename="../walletmodel.cpp" line="+192"/>
<source>Sending...</source>
<translation>Відправка...</translation>
</message>
@@ -1683,516 +2111,644 @@ Address: %4
<context>
<name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>Вкористання:</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>Завантаження адрес...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
<source>Bitcoin version</source>
<translation>Версія</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>Завантаження гаманця...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>Завантаження індексу блоків...</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>Параметри:
-</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>Bitcoin</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>Неможливо прив’язати до порту %d на цьому комп’ютері. Молживо гаманець вже запущено.</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>Помилка в адресі проксі-сервера</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>Увага: На диску мало вільного місця</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>Помилка при завантаженні wallet.dat: Гаманець потребує новішої версії Біткоін-клієнта</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>Вкористання:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
+ <location line="-25"/>
<source>Send command to -server or bitcoind</source>
<translation>Відправити команду серверу -server чи демону
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
+ <location line="-19"/>
<source>List commands</source>
<translation>Список команд
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
+ <location line="-11"/>
<source>Get help for a command</source>
<translation>Отримати довідку по команді
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>Помилка при завантаженні addr.dat</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>Параметри:
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
+ <location line="+23"/>
<source>Specify configuration file (default: bitcoin.conf)</source>
<translation>Вкажіть файл конфігурації (за промовчуванням: bitcoin.conf)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
+ <location line="+3"/>
<source>Specify pid file (default: bitcoind.pid)</source>
<translation>Вкажіть pid-файл (за промовчуванням: bitcoind.pid)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
+ <location line="-47"/>
<source>Generate coins</source>
<translation>Генерувати монети
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
+ <location line="-14"/>
<source>Don&apos;t generate coins</source>
<translation>Не генерувати монети
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
+ <location line="+60"/>
<source>Specify data directory</source>
<translation>Вкажіть робочий каталог
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
+ <location line="-8"/>
<source>Set database cache size in megabytes (default: 25)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
+ <location line="+1"/>
<source>Set database disk log size in megabytes (default: 100)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>Вкажіть таймаут з’єднання (в мілісекундах)
-</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
+ <location line="-26"/>
<source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
<translation>Чекати на з&apos;єднання на порту (по замовченню 8333 або тестова мережа 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
+ <location line="+4"/>
<source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
<translation>Підтримувати не більше &lt;n&gt; зв&apos;язків з колегами (за замовчуванням: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation type="unfinished"></translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Поріг відключення неправильно підєднаних пірів (за замовчуванням: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
+ <location line="-112"/>
<source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
<translation>Максимальній розмір вхідного буферу на одне з&apos;єднання (за замовчуванням 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+6"/>
<source>Detach block and address databases. Increases shutdown time (default: 0)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>Комісія за Кб
-</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>Запускати згорнутим
-</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>Помилка: переказ було відхилено. Це може статись, якщо декілька монет з вашого гаманця вже використані, наприклад, якщо ви використовуєте одну копію гаманця (wallet.dat), а монети були використані з іншої копії, але не позначені як використані в цій.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>Підключитись через SOCKS4-проксі
-</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>Цей переказ перевищує максимально допустимий розмір. Проте ви можете здійснити її, додавши комісію в %1, яка відправиться тим вузлам що оброблять ваш переказ, та допоможе підтримати мережу. Ви хочете додати комісію?</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>Пересканувати ланцюжок блоків, в пошуку втрачених переказів
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>Прослуховувати &lt;port&gt; для JSON-RPC-з’єднань (за промовчуванням: 8332)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>Дозволити пошук в DNS для команд «addnode» і «connect»
-</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>Додати вузол для підключення and attempt to keep the connection open</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>Підключитись лише до вказаного вузла
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>Приймати команди із командного рядка та команди JSON-RPC
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>Ім’я користувача для JSON-RPC-з’єднань
-</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Максимальоий буфер , &lt;n&gt; * 1000 байт (за умовчанням: 10000)</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>Помилка: не вдалося створити переказ.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>Неможливо встановити блокування на робочий каталог %s. Можливо, гаманець вже запущено.</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>Запустити в фоновому режимі (як демон) та приймати команди
+</translation>
+ </message>
+ <message>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>Використовувати тестову мережу
+</translation>
+ </message>
+ <message>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>Завантаження завершене</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>Помилка у величині комісії</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>Увага: встановлено занадто велику комісію (-paytxfee). Комісія зніматиметься кожен раз коли ви проводитимете перекази.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>Помилка: CreateThread(StartNode) дала збій</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
<translation>Увага: будь ласка, перевірте дату і час на свому комп’ютері. Якщо ваш годинник йде неправильно, Bitcoin може працювати некоректно.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>Увага: встановлено занадто велику комісію (-paytxfee). Комісія зніматиметься кожен раз коли ви проводитимете перекази.</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>Сканування...</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>Підключитись лише до вказаного вузла</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>Відправлення...</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>Недостатньо коштів</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>Помилка при завантаженні blkindex.dat </translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>Помилка при завантаженні wallet.dat: Гаманець пошкоджено </translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>Потрібно перезаписати гаманець: перезапустіть Біткоін-клієнт для завершення</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>Максимальоий буфер , &lt;n&gt; * 1000 байт (за умовчанням: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>Помилка при завантаженні wallet.dat</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>Максимальній розмір виіхідного буферу на одне з&apos;єднання (за замовчуванням 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Поріг відключення неправильно підєднаних пірів (за замовчуванням: 100)</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>Виводити більше налагоджувальної інформації. Implies all other -debug* options</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>Доповнювати налагоджувальний вивід відміткою часу</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>Параметри SSL: (див. Bitcoin Wiki)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">Помилка: не вдалося створити переказ.</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>Відсилаті налагоджувальну інформацію на консоль, а не у файл debug.log</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">Помилка: переказ було відхилено. Це може статись, якщо декілька монет з вашого гаманця вже використані, наприклад, якщо ви використовуєте одну копію гаманця (wallet.dat), а монети були використані з іншої копії, але не позначені як використані в цій.</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>Відсилаті налагоджувальну інформацію до налагоджувача</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Максимальній розмір виіхідного буферу на одне з&apos;єднання (за замовчуванням 10000)</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">Намагатись використовувати UPnP для відображення порту що прослуховується на роутері (default: 1)</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">Намагатись використовувати UPnP для відображення порту що прослуховується на роутері (default: 0)</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>Odredi vremenski prozor za spajanje na mrežu u milisekundama (ugrađeni izbor: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>Приймати команди із командного рядка та команди JSON-RPC
-</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>Намагатись використовувати UPnP для відображення порту що прослуховується на роутері (default: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>Запустити в фоновому режимі (як демон) та приймати команди
-</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>Намагатись використовувати UPnP для відображення порту що прослуховується на роутері (default: 1 when listening)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>Використовувати тестову мережу
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>Ім’я користувача для JSON-RPC-з’єднань
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>Виводити більше налагоджувальної інформації</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>Доповнювати налагоджувальний вивід відміткою часу</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>Увага: На диску мало вільного місця</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>Відсилаті налагоджувальну інформацію на консоль, а не у файл debug.log</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>Відсилаті налагоджувальну інформацію до налагоджувача</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
+ <location line="-43"/>
<source>Password for JSON-RPC connections</source>
<translation>Пароль для JSON-RPC-з’єднань
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>Прослуховувати &lt;port&gt; для JSON-RPC-з’єднань (за промовчуванням: 8332)
-</translation>
- </message>
- <message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation>Дозволити JSON-RPC-з’єднання з вказаної IP-адреси
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
+ <location line="+61"/>
<source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
<translation>Відправляти команди на вузол, запущений на &lt;ip&gt; (за промовчуванням: 127.0.0.1)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
+ <location line="-99"/>
<source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
+ <location line="+122"/>
<source>Upgrade wallet to latest format</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
+ <location line="-15"/>
<source>Set key pool size to &lt;n&gt; (default: 100)</source>
<translation>Встановити розмір пулу ключів &lt;n&gt; (за промовчуванням: 100)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>Пересканувати ланцюжок блоків, в пошуку втрачених переказів
+</translation>
+ </message>
+ <message>
+ <location line="-24"/>
<source>How many blocks to check at startup (default: 2500, 0 = all)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
+ <location line="+1"/>
<source>How thorough the block verification is (0-6, default: 1)</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-Параметри SSL: (див. Bitcoin Wiki)
-</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
+ <location line="+51"/>
<source>Use OpenSSL (https) for JSON-RPC connections</source>
<translation>Використовувати OpenSSL (https) для JSON-RPC-з’єднань
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
+ <location line="-21"/>
<source>Server certificate file (default: server.cert)</source>
<translation>Сертифікату сервера (за промовчуванням: server.cert)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
+ <location line="+1"/>
<source>Server private key (default: server.pem)</source>
<translation>Закритий ключ сервера (за промовчуванням: server.pem)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
+ <location line="-127"/>
<source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
<translation>Допустимі шифри (за промовчуванням: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
+ <location line="+139"/>
<source>This help message</source>
<translation>Дана довідка
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>Вкористання</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>Неможливо встановити блокування на робочий каталог %s. Можливо, гаманець вже запущено.</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>Bitcoin</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>Неможливо прив’язати до порту %s на цьому комп’ютері (bind returned error %d, %s)</translation>
+ </message>
+ <message>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>Підключитись через SOCKS-проксі</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>Дозволити пошук в DNS для команд «addnode» і «connect»
+</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>Завантаження адрес...</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>Помилка при завантаженні blkindex.dat </translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>Помилка при завантаженні wallet.dat: Гаманець пошкоджено </translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>Помилка при завантаженні wallet.dat: Гаманець потребує новішої версії Біткоін-клієнта</translation>
+ </message>
+ <message>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>Потрібно перезаписати гаманець: перезапустіть Біткоін-клієнт для завершення</translation>
+ </message>
+ <message>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>Помилка при завантаженні wallet.dat</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>Помилка в адресі проксі-сервера: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>Помилка у величині комісії: &apos;%s&apos;</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>Відправлення...</translation>
+ </message>
+ <message>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>Недостатньо коштів</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>Завантаження індексу блоків...</translation>
+ </message>
+ <message>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>Додати вузол для підключення and attempt to keep the connection open</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>Неможливо прив’язати до порту %s на цьому комп’ютері. Молживо гаманець вже запущено.</translation>
+ </message>
+ <message>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>Комісія за Кб
+</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>Завантаження гаманця...</translation>
+ </message>
+ <message>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>Сканування...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>Завантаження завершене</translation>
+ </message>
+ <message>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation type="unfinished"></translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts
index e98dbcdd5b..51d72bd4a7 100644
--- a/src/qt/locale/bitcoin_zh_CN.ts
+++ b/src/qt/locale/bitcoin_zh_CN.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>关于比特币</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;比特币&lt;/b&gt;版本</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>版权所有 © 2009-2012 比特币开发团队</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>版权归比特币开发者所有 © 2009-2012
-
-这是一个实验性软件。
+ <translation>
+This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</translation>
</message>
@@ -35,102 +38,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>地址簿</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>这些是你接受支付的比特币地址。当支付时你可以给出不同的地址,以便追踪不同的支付者。</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>双击以编辑地址或标签</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>创建新地址</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>发送签名消息以证明您是该比特币地址的拥有者</translation>
+ <location line="+14"/>
+ <source>Copy the currently selected address to the system clipboard</source>
+ <translation>复制当前选中地址到系统剪贴板</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
- <source>Sign &amp;Message</source>
- <translation>发送签名 &amp;消息</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>&amp;新建地址</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>从列表中删除当前选中地址。只有发送地址可以被删除。</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>这是您用来收款的比特币地址。为了标记不同的资金来源,建议为每个付款人保留不同的收款地址。</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>&amp;新地址...</translation>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>&amp;复制地址</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
- <source>Copy the currently selected address to the system clipboard</source>
- <translation>复制当前选中地址到系统剪贴板</translation>
+ <location line="+11"/>
+ <source>Show &amp;QR Code</source>
+ <translation>显示二维码</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;复制到剪贴板</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>签名消息,证明这个地址属于您。</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
- <source>Comma separated file (*.csv)</source>
- <translation>逗号分隔文件 (*.csv)</translation>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>对消息签名</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>&amp;删除</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>从列表中删除选中的地址</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
- <source>Show &amp;QR Code</source>
- <translation>显示二维码</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>验证消息,确保消息是由指定的比特币地址签名过的。</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>复制地址</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;验证消息</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
- <source>Export Address Book Data</source>
- <translation>导出地址簿数据</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>&amp;删除</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>复制标签</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>复制 &amp;标签</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>&amp;编辑</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>编辑</translation>
+ <location line="+250"/>
+ <source>Export Address Book Data</source>
+ <translation>导出地址簿数据</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>删除</translation>
+ <location line="+1"/>
+ <source>Comma separated file (*.csv)</source>
+ <translation>逗号分隔文件 (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
<source>Error exporting</source>
<translation>导出错误</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>无法写入文件 %1。</translation>
</message>
@@ -138,17 +141,17 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Address</source>
- <translation>地址</translation>
- </message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
<source>Label</source>
<translation>标签</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>地址</translation>
+ </message>
+ <message>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(没有标签)</translation>
</message>
@@ -156,1216 +159,1635 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>新口令</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
- <source>Confirm wallet encryption</source>
- <translation>确认加密钱包</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>钱包解锁失败</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>会话</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>密码对话框</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>输入口令</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation>重复新口令</translation>
- </message>
- <message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>文本标签</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>钱包解密失败。</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>该操作需要您首先使用口令解密钱包。</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>将关闭软件以完成加密过程。 请您谨记:钱包加密并不是万能的,电脑中毒,您的比特币还是有可能丢失。</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
- <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
- <translation>由于一个本地错误,加密钱包操作已经失败。您的钱包没有被加密。</translation>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>新口令</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>钱包已加密</translation>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>重复新口令</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>输入钱包的新口令。&lt;br/&gt;使用的口令请至少包含&lt;b&gt;10个以上随机字符&lt;/&gt;,或者是&lt;b&gt;8个以上的单词&lt;/b&gt;。</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>该操作需要您首先使用口令解锁钱包。</translation>
- </message>
- <message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>加密钱包</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>该操作需要您首先使用口令解锁钱包。</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>解锁钱包</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>该操作需要您首先使用口令解密钱包。</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Decrypt wallet</source>
<translation>解密钱包</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
+ <location line="+3"/>
<source>Change passphrase</source>
<translation>修改口令</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
+ <location line="+1"/>
<source>Enter the old and new passphrase to the wallet.</source>
<translation>请输入钱包的旧口令与新口令。</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>警告:如果您加密了您的钱包之后忘记了口令,您将会&lt;b&gt;失去所有的比特币&lt;/b&gt;!
-确定要加密钱包吗?</translation>
+ <location line="+46"/>
+ <source>Confirm wallet encryption</source>
+ <translation>确认加密钱包</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>警告:如果您加密了您的钱包,但是忘记了密码,你将会&lt;b&gt;丢失所有的比特币&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>您确定需要为钱包加密吗?</translation>
+ </message>
+ <message>
+ <location line="+15"/>
<source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
<translation>重要提示:您以前备份的钱包文件应该替换成最新生成的加密钱包文件(重新备份)。从安全性上考虑,您以前备份的未加密的钱包文件,在您使用新的加密钱包后将无效,请重新备份。</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>警告:大写锁定键处于打开状态!</translation>
+ </message>
+ <message>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>钱包已加密</translation>
+ </message>
+ <message>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>将关闭软件以完成加密过程。 请您谨记:钱包加密并不是万能的,电脑中毒,您的比特币还是有可能丢失。</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>钱包加密失败</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="-54"/>
+ <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
+ <translation>由于一个本地错误,加密钱包操作已经失败。您的钱包没有被加密。</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>口令不匹配。</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>钱包解锁失败</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>用于解密钱包的口令不正确。</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>警告:大写锁定键CapsLock开启</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>钱包解密失败。</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
+ <location line="+14"/>
<source>Wallet passphrase was successfully changed.</source>
- <translation>钱包口令修改成功</translation>
+ <translation>修改钱包密码成功。</translation>
</message>
</context>
<context>
<name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>修改存储的地址和标签列表</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>对&amp;消息签名...</translation>
+ </message>
+ <message>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>正在与网络同步...</translation>
+ </message>
+ <message>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>&amp;概况</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
+ <location line="+1"/>
<source>Show general overview of wallet</source>
<translation>显示钱包概况</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
+ <location line="+17"/>
+ <source>&amp;Transactions</source>
+ <translation>&amp;交易记录</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Browse transaction history</source>
<translation>查看交易历史</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>&amp;地址簿</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>修改存储的地址和标签列表</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>&amp;Receive coins</source>
+ <translation>&amp;收款地址</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show the list of addresses for receiving payments</source>
<translation>显示接收支付的地址列表</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
+ <location line="-7"/>
<source>&amp;Send coins</source>
<translation>&amp;发送货币</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="240"/>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>退出</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>退出程序</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Show information about Bitcoin</source>
<translation>显示比特币的相关信息</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="243"/>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>关于 &amp;Qt</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Show information about Qt</source>
<translation>显示Qt相关信息</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>修改比特币配置选项</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>&amp;选项...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
- <source>Export the data in the current tab to a file</source>
- <translation>导出当前数据到文件</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>&amp;加密钱包...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>&amp;加密钱包</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>&amp;备份钱包...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>&amp;备份钱包</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>&amp;修改密码...</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>~还剩 %n 个数据块</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>正在与网络同步...</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>已下载 %2 个交易历史数据块中的 %1 个 (完成率 %3% ).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
- <source>&amp;File</source>
- <translation>&amp;文件</translation>
+ <location line="-242"/>
+ <source>&amp;Export...</source>
+ <translation>&amp;导出...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Backup Wallet</source>
- <translation>备份钱包</translation>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>向一个比特币地址发送比特币</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>设置选项</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="253"/>
+ <location line="+14"/>
+ <source>Export the data in the current tab to a file</source>
+ <translation>导出当前数据到文件</translation>
+ </message>
+ <message>
+ <location line="-10"/>
<source>Encrypt or decrypt wallet</source>
<translation>加密或解密钱包</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
- <source>&amp;Receive coins</source>
- <translation>&amp;收款地址</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>备份钱包到其它文件夹</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>&amp;概况</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>修改钱包加密口令</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
- <source>&amp;Transactions</source>
- <translation>&amp;交易记录</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>&amp;调试窗口</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>&amp;关于 %1</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>在诊断控制台调试</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
- <source>Tabs toolbar</source>
- <translation>分页工具栏</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>&amp;验证消息...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>显示或隐藏比特币客户端窗口</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>比特币</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
- <source>&amp;Export...</source>
- <translation>&amp;导出...</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>钱包</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>退出</translation>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>&amp;关于比特币</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>退出程序</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>&amp;显示 / 隐藏</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>&amp;选项...</translation>
+ <location line="+39"/>
+ <source>&amp;File</source>
+ <translation>&amp;文件</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>关于 &amp;Qt</translation>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>&amp;设置</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
+ <location line="+6"/>
<source>&amp;Help</source>
<translation>&amp;帮助</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+9"/>
+ <source>Tabs toolbar</source>
+ <translation>分页工具栏</translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation>动作工具栏</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>显示/隐藏 比特币客户端</translation>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
+ <source>Bitcoin client</source>
+ <translation>比特币客户端</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
- <numerusform>您连接到比特币网络的连接数量共有%n条</numerusform>
+ <numerusform>到比特币网络的连接共有%n条</numerusform>
</translation>
</message>
+ <message>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>%1 个交易历史数据块已下载</translation>
+ </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
- <source>%n day(s) ago</source>
+ <location line="+22"/>
+ <source>%n second(s) ago</source>
<translation>
- <numerusform>%n 天前</numerusform>
+ <numerusform>%n 秒前</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>&amp;设置</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>比特币钱包</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>修改钱包加密口令</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="391"/>
- <source>Bitcoin client</source>
- <translation>比特币客户端</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>将货币发送到一个比特币地址</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>发送签名 &amp;消息</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>证明您拥有某个比特币地址</translation>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n minute(s) ago</source>
+ <translation>
+ <numerusform>%n 分种前</numerusform>
+ </translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
+ <location line="+4"/>
+ <source>%n hour(s) ago</source>
<translation>
- <numerusform>~还剩 %n 个区块</numerusform>
+ <numerusform>%n 小时前</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>已下载 %2 个交易历史区块中的 %1 个 (完成率 %3% ).</translation>
+ <message numerus="yes">
+ <location line="+4"/>
+ <source>%n day(s) ago</source>
+ <translation>
+ <numerusform>%n 天前</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>最新状态</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>更新中...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
- <translation>最新收到的区块产生于 %1。</translation>
+ <translation>最新收到的数据块产生于 %1。</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
- <source>Sent transaction</source>
- <translation>已发送交易</translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>该笔交易的数据量超限.您可以选择支付 %1 交易费, 交易费将支付给处理该笔交易的网络节点,有助于维持比特币网络的运行. 您愿意支付交易费用吗?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
- <source>Incoming transaction</source>
- <translation>流入交易</translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>确认交易费</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>备份失败</translation>
+ <location line="+27"/>
+ <source>Sent transaction</source>
+ <translation>已发送交易</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>备份钱包到其它文件夹失败.</translation>
+ <location line="+1"/>
+ <source>Incoming transaction</source>
+ <translation>流入交易</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>备份钱包到其它文件夹</translation>
+ <location line="+1"/>
+ <source>Date: %1
+Amount: %2
+Type: %3
+Address: %4
+</source>
+ <translation>日期: %1
+金额: %2
+类别: %3
+地址: %4
+</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>&amp;修改口令</translation>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI 处理</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation type="unfinished"></translation>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>URI无法解析!原因可能是比特币地址不正确,或者URI参数错误。</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>钱包已被&lt;b&gt;加密&lt;/b&gt;,当前为&lt;b&gt;解锁&lt;/b&gt;状态</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>钱包已被&lt;b&gt;加密&lt;/b&gt;,当前为&lt;b&gt;锁定&lt;/b&gt;状态</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>钱包文件(*.dat)</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>%1 个交易历史数据区块已下载</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
- <source>%n second(s) ago</source>
- <translation>
- <numerusform>%n 秒前</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
- <source>%n minute(s) ago</source>
- <translation>
- <numerusform>%n 分种前</numerusform>
- </translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
- <source>%n hour(s) ago</source>
- <translation>
- <numerusform>%n 小时前</numerusform>
- </translation>
+ <location line="+23"/>
+ <source>Backup Wallet</source>
+ <translation>备份钱包</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>钱包文件(*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>发送中</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>备份失败</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
- <source>Date: %1
-Amount: %2
-Type: %3
-Address: %4
-</source>
- <translation>日期: %1
-金额: %2
-类别: %3
-地址: %4
-</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>备份钱包到其它文件夹失败.</translation>
</message>
<message>
- <location filename="../bitcoin.cpp" line="127"/>
+ <location filename="../bitcoin.cpp" line="+109"/>
<source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
<translation>发生严重错误。</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
- <message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>&amp;金额显示单位:</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>选择显示及发送比特币时使用的最小单位</translation>
- </message>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;在交易列表中显示地址</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation>是否需要在交易清单中显示比特币地址。</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>网络警报</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>编辑地址</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>&amp;标签</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>与此地址条目关联的标签</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+7"/>
+ <source>&amp;Address</source>
+ <translation>&amp;地址</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>该地址与地址簿中的条目已关联,无法作为发送地址编辑。</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
+ <source>New receiving address</source>
+ <translation>新接收地址</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>New sending address</source>
+ <translation>新发送地址</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>编辑接收地址</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>编辑发送地址</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>输入的地址 &quot;%1&quot; 已经存在于地址簿。</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>您输入的 &quot;%1&quot; 不是合法的比特币地址.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>无法解锁钱包</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>密钥创建失败.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
- <source>New receiving address</source>
- <translation>新接收地址</translation>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>Bitcoin-Qt</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
- <source>&amp;Address</source>
- <translation>&amp;地址</translation>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>版本</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
- <source>New sending address</source>
- <translation>新发送地址</translation>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>使用:</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>命令行选项</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>输入的地址 &quot;%1&quot; 并不是一个有效的比特币地址</translation>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>UI选项</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>设置语言, 例如 &quot;de_DE&quot; (缺省: 系统语言)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>启动时最小化
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>启动时显示版权页 (缺省: 1)</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>&amp;最小化到托盘</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>选项</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>使用 &amp;UPnP 映射端口</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>&amp;主要的</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>自动在路由器中打开比特币端口。只有当您的路由器开启 UPnP 选项时此功能才有效。</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>建议支付交易费用,有助于您的交易得到尽快处理. 绝大多数交易的字节数为 1 kB. 建议支付0.01个比特币.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>&amp;开机启动比特币</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>支付交易 &amp;费用</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>在计算机启动后自动运行比特币</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>登录系统后自动开启比特币客户端</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>最小化窗口后只显示一个托盘标志</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>启动时&amp;运行</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>关闭时最小化</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>关闭时分开数据块数据库和地址数据库. 这意味着您可以将数据库文件移动至其他文件夹. 钱包文件始终是分开的.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>当窗口关闭时程序最小化而不是退出。当使用该选项时,程序只能通过在菜单中选择退出来关闭</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>&amp;关闭客户端时分离数据库</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>&amp;通过SOCKS4代理连接</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>&amp;网络</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>通过一个SOCKS4代理连接到比特币网络 (如使用Tor连接时)</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>自动在路由器中打开比特币端口。只有当您的路由器开启 UPnP 选项时此功能才有效。</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>代理 &amp;IP:</translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>使用 &amp;UPnP 映射端口</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
- <source>IP address of the proxy (e.g. 127.0.0.1)</source>
- <translation>代理服务器IP (如 127.0.0.1)</translation>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>通过代理服务器连接比特币网络(例如:通过Tor连接)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>&amp;端口:</translation>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>&amp;通过Socks代理连接:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>代理端口 (比如 1234)</translation>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>代理服务器&amp;IP:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>建议支付交易费用,有助于您的交易得到尽快处理. 绝大多数交易的字节数为 1 kB. 建议支付0.01个比特币.</translation>
+ <location line="+19"/>
+ <source>IP address of the proxy (e.g. 127.0.0.1)</source>
+ <translation>代理服务器IP (如 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>支付交易 &amp;费用</translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>&amp;端口:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>关闭客户端时分离数据库</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>代理端口(例如 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>关闭时分开区块数据库和地址数据库. 这意味着您可以将数据库文件移动至其他文件夹. 钱包文件始终是分开的.</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>Socks &amp;版本</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>消息</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>Socks代理版本 (例如 5)</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>单击“发送签名消息&quot;获取签名</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>&amp;窗口</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>发送签名消息以证明您是该比特币地址的拥有者</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>最小化窗口后仅显示托盘图标</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>从地址簿选择地址</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>&amp;最小化到托盘</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>签名错误</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>当窗口关闭时程序最小化而不是退出。当使用该选项时,程序只能通过在菜单中选择退出来关闭</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>%1 的秘钥不可用。</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>单击关闭按钮最小化</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>签名失败</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>&amp;显示</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>您可以用你的地址对消息进行签名,以证明您是该地址的所有人。注意不要对模棱两可的消息签名,以免遭受钓鱼式攻击。请确保消息真实明确的表达了您的意愿。</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>用户界面&amp;语言:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished">请输入比特币地址 (例如: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>在这里设置用户界面的语言。设置将在客户端重启后生效。</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>&amp;比特币金额单位:</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>从剪贴板粘贴地址</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>选择比特币单位。</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>是否需要在交易清单中显示比特币地址。</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>请输入您要发送的签名消息</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>在交易清单中&amp;显示比特币地址</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>&amp;发送签名消息</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>&amp;确定</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>复制当前签名至剪切板</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>&amp;取消</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>&amp;复制到剪贴板</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>&amp;应用</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 不是合法的比特币地址。</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>缺省</translation>
</message>
-</context>
-<context>
- <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>主要的</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>警告</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>显示</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>需要重启客户端软件才能生效。</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>选项</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>提供的代理服务器地址无效。</translation>
</message>
</context>
<context>
<name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
- <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
- <translation>&lt;b&gt;最近交易记录&lt;/b&gt;</translation>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>表单</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
- <source>Unconfirmed:</source>
- <translation>未确认:</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>现在显示的消息可能是过期的. 在连接上比特币网络节点后,您的钱包将自动与网络同步,但是这个过程还没有完成.</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>表单</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>余额:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>交易笔数:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="-29"/>
+ <source>Unconfirmed:</source>
+ <translation>未确认:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
+ <location line="-78"/>
<source>Wallet</source>
<translation>钱包</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>余额:</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>未成熟的:</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>尚未成熟的挖矿收入余额</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
+ <location line="+46"/>
+ <source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
+ <translation>&lt;b&gt;最近交易记录&lt;/b&gt;</translation>
+ </message>
+ <message>
+ <location line="-118"/>
<source>Your current balance</source>
<translation>您的当前余额</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>尚未确认的交易总额, 未计入当前余额</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>钱包总交易数量</translation>
</message>
+ <message>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>数据同步中</translation>
+ </message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation>将 URI 转换成二维码失败.</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>二维码对话框</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+59"/>
+ <source>Request Payment</source>
+ <translation>请求付款</translation>
+ </message>
+ <message>
+ <location line="+56"/>
<source>Amount:</source>
<translation>金额:</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>标签:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>消息:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
<source>&amp;Save As...</source>
<translation>&amp;另存为</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>将 URI 转换成二维码失败.</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>输入的金额非法,请检查。</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Resulting URI too long, try to reduce the text for label / message.</source>
+ <translation>URI 太长, 请试着精简标签/消息的内容.</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>保存二维码</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>PNG Images (*.png)</source>
<translation>PNG图像文件(*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>会话</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>客户端名称</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>不可用</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>保存图像...</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>客户端版本</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
- <source>Resulting URI too long, try to reduce the text for label / message.</source>
- <translation>URI 太长, 请试着精简标签/消息的内容.</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>&amp;信息</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>二维码</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>使用OpenSSL版本</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
- <source>Request Payment</source>
- <translation>请求付款</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>启动时间</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>标签:</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>网络</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>消息:</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>连接数</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>当前为比特币测试网络</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>数据链</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>当前数据块数量</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>预计数据块数量</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>上一数据块时间</translation>
+ </message>
+ <message>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>&amp;打开</translation>
+ </message>
+ <message>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>命令行选项</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>显示Bitcoin命令行选项帮助信息</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>&amp;显示</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>&amp;控制台</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>创建时间</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>比特币 - 调试窗口</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>比特币核心</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>调试日志文件</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>打开当前目录中的调试日志文件。日志文件大的话可能要等上几秒钟。</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>清空控制台</translation>
+ </message>
+ <message>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>欢迎来到 RPC 控制台.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>使用上下方向键浏览历史, &lt;b&gt;Ctrl-L&lt;/b&gt;清除屏幕.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>使用 &lt;b&gt;help&lt;/b&gt; 命令显示帮助信息.</translation>
</message>
</context>
<context>
<name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>发送货币</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
+ <location line="+50"/>
<source>Send to multiple recipients at once</source>
<translation>一次发送给多个接收者</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>添加收款人</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>移除所有交易项</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
+ <translation>清除 &amp;所有</translation>
+ </message>
+ <message>
+ <location line="+22"/>
<source>Balance:</source>
<translation>余额:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
+ <location line="+31"/>
<source>Confirm the send action</source>
<translation>确认并发送货币</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+3"/>
<source>S&amp;end</source>
- <translation>&amp;发送</translation>
+ <translation>发送</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>支付金额必须大于0.</translation>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; 到 %2 (%3)</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
- <source>The amount exceeds your balance.</source>
- <translation>金额超出您的账上余额。</translation>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>确认发送货币</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
- <source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation>发现重复的地址, 每次只能对同一地址发送一次.</translation>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>确定您要发送 %1?</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>&amp;添加接收者...</translation>
+ <location line="+0"/>
+ <source> and </source>
+ <translation> 和 </translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
- <translation>清除全部</translation>
+ <location line="+23"/>
+ <source>The recipient address is not valid, please recheck.</source>
+ <translation>收款人地址不合法,请检查。</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>确认发送货币</translation>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>支付金额必须大于0.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
- <source>The recipient address is not valid, please recheck.</source>
- <translation>接收者地址不合法,请检查。</translation>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>金额超出您的账上余额。</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
+ <location line="+5"/>
<source>The total exceeds your balance when the %1 transaction fee is included.</source>
<translation>计入 %1 交易费后的金额超出您的账上余额。</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source>Are you sure you want to send %1?</source>
- <translation>确定您要发送 %1?</translation>
- </message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation> 和 </translation>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>发现重复的地址, 每次只能对同一地址发送一次.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; 到 %2 (%3)</translation>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>错误: 创建交易失败.</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
+ <location line="+5"/>
<source>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.</source>
<translation>错误: 交易被拒绝. 如果您使用的是备份钱包,可能存在两个钱包不同步的情况,另一个钱包中的比特币已经被使用,但本地的这个钱包尚没有记录。</translation>
</message>
- <message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
- <source>Error: Transaction creation failed.</source>
- <translation>错误: 创建交易失败.</translation>
- </message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
- <source>Remove this recipient</source>
- <translation>移除此接收者</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
- </message>
- <message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>表单</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>金额</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>付款&amp;给:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
<translation>为这个地址输入一个标签,以便将它添加到您的地址簿</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>&amp;标签:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation type="unfinished"></translation>
+ <translation>付款地址 (例如: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
+ <location line="+10"/>
<source>Choose address from address book</source>
<translation>从地址簿选择地址</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+10"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>从剪贴板粘贴地址</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Remove this recipient</source>
+ <translation>移除此接收者</translation>
+ </message>
+ <message>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>请输入比特币地址 (例如: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
</context>
<context>
- <name>TransactionDesc</name>
+ <name>SignVerifyMessageDialog</name>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>交易费</translation>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>签名 - 为消息签名/验证签名消息</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
- <source>%1/unconfirmed</source>
- <translation>%1/未确认</translation>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>&amp;签名消息</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;网络金额:&lt;/b&gt; </translation>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>您可以用你的地址对消息进行签名,以证明您是该地址的所有人。注意不要对模棱两可的消息签名,以免遭受钓鱼式攻击。请确保消息内容准确的表达了您的真实意愿。</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, 未被成功广播</translation>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>用于签名消息的地址(例如: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>至 %1 个数据块时开启</translation>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>从地址簿选择地址</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation>(您的, 标签:</translation>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;到:&lt;/b&gt; </translation>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>从剪贴板粘贴地址</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>开启 %1 个数据块</translation>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/离线?</translation>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>请输入您要发送的签名消息</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>复制当前签名至剪切板</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>签名消息,证明这个地址属于您。</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>清空所有签名消息栏</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>清除 &amp;所有</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>&amp;验证消息</translation>
+ </message>
+ <message>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>在下面输入签名地址,消息(请确保换行符、空格符、制表符等等一个不漏)和签名以验证消息。请确保签名信息准确,提防中间人攻击。</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>用于签名消息的地址(例如: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>验证消息,确保消息是由指定的比特币地址签名过的。</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>清空所有验证消息栏</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>请输入比特币地址 (例如: 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>单击“签名消息“产生签名。</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>输入比特币签名</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>输入的地址非法。</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>请检查地址后重试。</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>输入的地址没有关联的公私钥对。</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>钱包解锁动作取消。</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>找不到输入地址关联的私钥。</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>消息签名失败。</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>消息已签名。</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>签名无法解码。</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>请检查签名后重试。</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>签名与消息摘要不匹配。</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>消息验证失败。</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>消息验证成功。</translation>
+ </message>
+</context>
+<context>
+ <name>TransactionDesc</name>
+ <message>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>至 %1 个数据块时开启</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>开放%n个数据块</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1 / 离线</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>%1/unconfirmed</source>
+ <translation>%1/未确认</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>%1 confirmations</source>
<translation>%1 确认项</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;状态:&lt;/b&gt; </translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>状态</translation>
</message>
- <message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>,同过 %1 节点广播</translation>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>通过 %n 个节点广播</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>,同过 %1 节点组广播</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>日期</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;日期:&lt;/b&gt; </translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>源</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;来源:&lt;/b&gt; 生成&lt;br&gt;</translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>生成</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;从:&lt;/b&gt;</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>来自</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>未知</translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>到</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation>(您的)</translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>自己的地址</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;到帐:&lt;/b&gt; </translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>标签</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 成熟于 %2 以上数据块)</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>收入</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>将在 %n 个数据块后成熟</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(未接受)</translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>未被接受</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
<translation>支出</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>交易ID:</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>交易费</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>新生产的比特币必须等待120个数据块之后才能被使用. 当您生产出此数据块,它将被广播至比特币网络并添加至数据链. 如果添加到数据链失败, 它的状态将变成&quot;不被接受&quot;,生产的比特币将不能使用. 在您生产新数据块的几秒钟内, 如果其它节点也生产出同样的数据块,有可能会发生这种情况.</translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>净额</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>消息:</translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>消息</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
+ <location line="+2"/>
+ <source>Comment</source>
<translation>备注</translation>
</message>
+ <message>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>交易ID</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>新挖出的比特币必须等确120个确认才能使用。您生产出的数据块,将被广播到全网并添加到数据块链。如果入链失败,状态将变为“未被接受”,意味着您的数据块竞争失败,挖出的比特币将不能使用。当某个节点先于你几秒生产出新的数据块,这种情况会偶尔发生。</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>调试信息</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>交易</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>输入</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>金额</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>正确</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>错误</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, 未被成功广播</translation>
+ </message>
+ <message>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>未知</translation>
+ </message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>交易明细</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>当前面板显示了交易的详细信息</translation>
</message>
@@ -1373,817 +1795,943 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>日期</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
+ <source>Type</source>
+ <translation>类型</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>Address</source>
+ <translation>地址</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Amount</source>
<translation>数量</translation>
</message>
<message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
+ <location line="+57"/>
<source>Open for %n block(s)</source>
<translation>
<numerusform>开启 %n 个数据块</numerusform>
</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
+ <location line="+3"/>
<source>Open until %1</source>
<translation>至 %1 个数据块时开启</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>离线 (%1 个确认项)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Unconfirmed (%1 of %2 confirmations)</source>
<translation>未确认 (%1 / %2 条确认信息)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+3"/>
+ <source>Confirmed (%1 confirmations)</source>
+ <translation>已确认 (%1 条确认信息)</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>挖矿收入余额将在 %n 个数据块后可用</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
- <translation>此区块未被其他节点接收,并可能不被接受!</translation>
+ <translation>此数据块未被其他节点接收,并可能不被接受!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
+ <location line="+3"/>
<source>Generated but not accepted</source>
<translation>已生成但未被接受</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+43"/>
<source>Received with</source>
<translation>接收于</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>收款来自</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>发送到</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>付款给自己</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
<source>Mined</source>
<translation>挖矿所得</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
+ <location line="+38"/>
<source>(n/a)</source>
<translation>(n/a)</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>交易状态。 鼠标移到此区域上可显示确认消息项的数目。</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
+ <location line="+2"/>
<source>Date and time that the transaction was received.</source>
<translation>接收比特币的时间</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>交易类别。</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>交易目的地址。</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>从余额添加或移除的金额。</translation>
</message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Type</source>
- <translation>类型</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Address</source>
- <translation>地址</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>离线 (%1 个确认项)</translation>
- </message>
- <message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
- <source>Confirmed (%1 confirmations)</source>
- <translation>已确认 (%1 条确认信息)</translation>
- </message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>挖矿所得将在 %n 个数据块之后可用</numerusform>
- </translation>
- </message>
</context>
<context>
<name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>标签</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>全部</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>输入地址或标签进行搜索</translation>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>今天</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>复制地址</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>本周</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>挖矿所得</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>本月</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="127"/>
- <source>Edit label</source>
- <translation>编辑标签</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>上月</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
+ <location line="+1"/>
<source>This year</source>
<translation>今年</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
+ <location line="+1"/>
<source>Range...</source>
<translation>范围...</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
+ <location line="+11"/>
<source>Received with</source>
<translation>接收于</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>发送到</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>To yourself</source>
<translation>到自己</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
+ <location line="+1"/>
+ <source>Mined</source>
+ <translation>挖矿所得</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Other</source>
<translation>其他</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>复制标签</translation>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>输入地址或标签进行搜索</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
+ <location line="+7"/>
<source>Min amount</source>
<translation>最小金额</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>复制地址</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>复制标签</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>复制金额</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Edit label</source>
+ <translation>编辑标签</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>显示交易详情</translation>
+ </message>
+ <message>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>导出交易数据</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>逗号分隔文件(*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>已确认</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>日期</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>类别</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>标签</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Address</source>
<translation>地址</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
<source>Amount</source>
<translation>金额</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+1"/>
+ <source>ID</source>
+ <translation>ID</translation>
+ </message>
+ <message>
+ <location line="+4"/>
<source>Error exporting</source>
<translation>导出错误</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>无法写入文件 %1。</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
+ <location line="+95"/>
<source>Range:</source>
<translation>范围:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>全部</translation>
+ <location line="+8"/>
+ <source>to</source>
+ <translation>到</translation>
</message>
+</context>
+<context>
+ <name>WalletModel</name>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>今天</translation>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>发送中...</translation>
</message>
+</context>
+<context>
+ <name>bitcoin-core</name>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>本周</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>比特币版本</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>本月</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>使用:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>上月</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>发送命令到服务器或者 bitcoind
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>发送到</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>列出命令
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>复制金额</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>获得某条命令的帮助
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>类别</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>选项:
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
- <source>ID</source>
- <translation>ID</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>指定配置文件 (默认为 bitcoin.conf)
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
- <source>to</source>
- <translation>到</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>指定 pid 文件 (默认为 bitcoind.pid)
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>显示细节...</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>生成货币
+</translation>
</message>
-</context>
-<context>
- <name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
- <source>Sending...</source>
- <translation>发送中...</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>不要生成货币
+</translation>
</message>
-</context>
-<context>
- <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>无法给数据目录 %s 加锁。比特币进程可能已在运行。</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>指定数据目录
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>加载区块索引...</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>设置数据库缓冲区大小 (缺省: 25MB)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>使用:</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>设置数据库磁盘日志大小 (缺省: 100MB)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>blkindex.dat文件加载错误</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>监听端口连接 &lt;port&gt; (缺省: 8333 or testnet: 18333)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>无法初始化 keypool</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>最大连接数 &lt;n&gt; (缺省: 125)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>钱包文件需要重写:请退出并重新启动Bitcoin客户端</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>连接一个节点并获取对端地址, 然后断开连接</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>无法降级钱包格式</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>指定您的公共地址</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>正在加载钱包...</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>绑定指定地址. IPv6 使用 [host]:port </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>错误:线程创建(StartNode)失败</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>Threshold for disconnecting misbehaving peers (缺省: 100)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>无法绑定端口 %d 到这台计算机。比特币进程可能已在运行。</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>Number of seconds to keep misbehaving peers from reconnecting (缺省: 86400)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>警告:请确定您当前计算机的日期和时间是正确的。比特币将无法在错误的时间下正常工作。</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>设置RPC监听端口%u时发生错误, IPv4:%s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>发送命令到服务器或者 bitcoind
-</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>在IPv6模式下设置RPC监听端口 %u 失败,返回到IPv4模式: %s</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>列出命令
-</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>分离数据块数据库和地址数据库. 会延长关闭时间 (缺省: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>选项:
-</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>错误: 交易被拒绝. 如果您使用的是备份钱包,可能存在两个钱包不同步的情况,另一个钱包中的比特币已经被使用,但本地的这个钱包尚没有记录。</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>使用</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>错误: 该交易需支付至少 %s 的交易费,原因可能是该交易数量太小、构成太复杂或者使用了新近接收到的比特币</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>不合适的交易费 -paytxfee=&lt;amount&gt;</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>JSON-RPC连接监听端口&lt;port&gt; (缺省:8332 testnet:18332)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>获得某条命令的帮助
-</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>警告:磁盘空间不足</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>生成货币
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>接受命令行和 JSON-RPC 命令
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>设置数据库缓冲区大小 (缺省: 25MB)</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>指定连接超时时间 (微秒)
-</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>错误: 创建交易失败.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>通过IRC聊天室查找网络上的比特币节点 (缺省: 0)</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>错误: 钱包被锁,无法创建新的交易</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>通过DNS查找节点(缺省:1)</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>正在导入数据链文件</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>JSON-RPC连接用户名
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>正在导入引导数据链文件</translation>
+ </message>
+ <message>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>在后台运行并接受命令
+
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>跟踪/调试信息输出到 调试器debugger</translation>
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>使用测试网络
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>wallet.dat钱包文件加载错误</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>接受来自外部的连接 (缺省: 如果不带 -proxy or -connect 参数设置为1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>wallet.dat钱包文件加载错误:钱包损坏</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>设置密钥池大小为 &lt;n&gt; (缺省: 100)
-</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>警告:-paytxfee 交易费设置得太高了!每笔交易都将支付交易费。</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>启动时需检查的区块数量 (缺省: 2500, 设置0为检查所有区块)</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>警告:显示的交易可能不正确!您需要升级客户端软件,或者网络上的其他节点需要升级。</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>服务器证书 (默认为 server.cert)
-</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>警告:请检查电脑的日期时间设置是否正确!时间错误可能会导致比特币客户端运行异常。</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>将钱包升级到最新的格式</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>数据块创建选项:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>需要几个确认 (0-6个, 缺省: 1个)</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>仅连接到指定节点</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>为 JSON-RPC 连接使用 OpenSSL (https)连接</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>发现自己的IP地址(缺省:不带 -externalip 参数监听时设置为1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>该帮助信息
-</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>监听端口失败。请使用 -listen=0 参数。</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>启动时显示版权页 (缺省: 1)</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>通过DNS查找节点(缺省:1 除非使用 -connect 选项)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>通过 socks4 代理连接
-</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>非法的 -tor 地址:&apos;%s&apos; </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>启动时最小化
-</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>每个连接的最大接收缓存,&lt;n&gt;*1000 字节(缺省:5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>连接节点时允许DNS查找
-</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>每个连接的最大发送缓存,&lt;n&gt;*1000 字节(缺省:1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>设置语言, 例如 &quot;de_DE&quot; (缺省: 系统语言)</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>仅连接至指定网络的节点&lt;net&gt;(IPv4, IPv6 或者 Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL 选项: (SSL 安装教程具体见比特币维基百科)
-</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>输出额外的调试信息。打开所有 -debug* 开关</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>发送中</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>输出额外的网络调试信息</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>正在重新扫描...</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>为调试输出信息添加时间戳</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>使用 %s 选项</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL选项:(参见Bitcoin Wiki关于SSL设置栏目)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>金额不对</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>请选择Socks代理服务器版本 (4 或 5, 缺省: 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>金额不足</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>跟踪/调试信息输出到控制台,不输出到debug.log文件</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>正在加载地址...</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>跟踪/调试信息输出到 调试器debugger</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>加载完成</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>设置最大数据块大小(缺省:250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, 您必须在配置文件中加入选项 rpcpassword :
- %s
-建议您使用下面的随机密码:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(您无需记忆该密码)
-如果配置文件不存在,请新建,并将文件权限设置为仅允许文件所有者读取.</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>设置最小数据块大小(缺省:0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>您必须在配置文件中加入选项 rpcpassword :
- %s
-如果配置文件不存在,请新建,并将文件权限设置为仅允许文件所有者读取.</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>客户端启动时压缩debug.log文件(缺省:no-debug模式时为1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>比特币版本</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>设置连接超时时间(缺省:5000毫秒)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>addr.dat文件加载错误</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>使用UPnp映射监听端口(缺省: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>代理地址不合法</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>使用UPnp映射监听端口(缺省: 监听状态设为1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>设置数据库磁盘日志大小 (缺省: 100MB)</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>使用代理服务器访问隐藏服务(缺省:同 -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>无法写入缺省地址</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>JSON-RPC连接用户名
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>警告: -paytxfee 交易费设置过高. 每进行一笔交易您都将支付该数量的交易费.</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>分离区块数据库和地址数据库. 会延升关闭时间 (缺省: 0)</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>警告:磁盘空间不足!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>添加节点并与其保持连接</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>警告:该软件版本已过时,请升级!</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>JSON-RPC连接密码
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
+ <location line="-53"/>
<source>Allow JSON-RPC connections from specified IP address</source>
<translation>允许从指定IP接受到的JSON-RPC连接
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>指定配置文件 (默认为 bitcoin.conf)
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>向IP地址为 &lt;ip&gt; 的节点发送指令 (缺省: 127.0.0.1)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
- <source>Bitcoin</source>
- <translation>比特币</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>当最佳数据块变化时执行命令 (命令行中的 %s 会被替换成数据块哈希值)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>不要生成货币
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>将钱包升级到最新的格式</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>设置密钥池大小为 &lt;n&gt; (缺省: 100)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>指定数据目录
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>重新扫描数据链以查找遗漏的交易
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>监听端口连接 &lt;port&gt; (缺省: 8333 or testnet: 18333)</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>启动时需检查的数据块数量 (缺省: 2500, 设置0为检查所有数据块)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>最大连接数 &lt;n&gt; (缺省: 125)</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>需要几个确认 (0-6个, 缺省: 1个)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>从外来文件 blk000?.dat 导入数据块</translation>
+ </message>
+ <message>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>为 JSON-RPC 连接使用 OpenSSL (https)连接</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>只连接到指定节点
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>服务器证书 (默认为 server.cert)
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">接受来自外部的连接 (缺省: 1)</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>服务器私钥 (默认为 server.pem)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>错误</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>可接受的加密器 (默认为 TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
+</translation>
+ </message>
+ <message>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>该帮助信息
+</translation>
+ </message>
+ <message>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>无法给数据目录 %s 加锁。比特币进程可能已在运行。</translation>
+ </message>
+ <message>
+ <location line="+57"/>
+ <source>Bitcoin</source>
+ <translation>比特币</translation>
+ </message>
+ <message>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>无法绑定本机端口 %s (返回错误消息 %d, %s)</translation>
+ </message>
+ <message>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>通过 socks 代理连接</translation>
+ </message>
+ <message>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>使用 -addnode, -seednode 和 -connect选项时允许DNS查找</translation>
+ </message>
+ <message>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>正在加载地址...</translation>
+ </message>
+ <message>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>blkindex.dat文件加载错误</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>wallet.dat钱包文件加载错误:钱包损坏</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
+ <location line="+1"/>
<source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
<translation>wallet.dat钱包文件加载错误:请升级到最新Bitcoin客户端</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>Threshold for disconnecting misbehaving peers (缺省: 100)</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>钱包文件需要重写:请退出并重新启动Bitcoin客户端</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>Number of seconds to keep misbehaving peers from reconnecting (缺省: 86400)</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>wallet.dat钱包文件加载错误</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (缺省: 10000)</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>非法的代理地址: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
- <source>Fee per KB to add to transactions you send</source>
- <translation>每发送1KB交易所需的费用</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>被指定的是未知网络 -onlynet: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (缺省: 10000)</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>被指定的是未知socks代理版本: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation type="unfinished"></translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>无法解析 -bind 端口地址: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation type="unfinished"></translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>无法解析 -externalip 地址: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation type="unfinished">错误: 创建交易失败.</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>非法金额 -paytxfee=&lt;amount&gt;: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation type="unfinished">错误: 交易被拒绝. 如果您使用的是备份钱包,可能存在两个钱包不同步的情况,另一个钱包中的比特币已经被使用,但本地的这个钱包尚没有记录。</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>错误: 无法启动节点</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>设置RPC监听端口%u时发生错误: %s</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>发送中</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">使用UPnp映射监听端口(缺省: 1)</translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>金额不对</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">使用UPnp映射监听端口(缺省: 0)</translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>金额不足</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>接受命令行和 JSON-RPC 命令
-</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>加载数据块索引...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>在后台运行并接受命令
-
-</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>添加节点并与其保持连接</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>使用测试网络
-</translation>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>无法在本机绑定 %s 端口 . 比特币客户端软件可能已经在运行.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>输出调试信息</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>通过IRC聊天室查找网络上的比特币节点 (缺省: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>为调试输出信息添加时间戳</translation>
+ <location line="-2"/>
+ <source>Fee per KB to add to transactions you send</source>
+ <translation>每发送1KB交易所需的费用</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>跟踪/调试信息输出到控制台,不输出到debug.log文件</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>正在加载钱包...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>JSON-RPC连接密码
-</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>无法降级钱包格式</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>JSON-RPC连接监听&lt;端口&gt; (默认为 8332)
-</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>无法初始化 keypool</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>向IP地址为 &lt;ip&gt; 的节点发送指令 (缺省: 127.0.0.1)
-</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>无法写入缺省地址</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>当最佳区块变化时执行命令 (命令行中的 %s 会被替换成区块哈希值)</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>正在重新扫描...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>重新扫描数据链以查找遗漏的交易
-</translation>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>加载完成</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>服务器私钥 (默认为 server.pem)
-</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>使用 %s 选项</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>可接受的加密器 (默认为 TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
-</translation>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, 您必须在配置文件中加入选项 rpcpassword :
+ %s
+建议您使用下面的随机密码:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(您无需记忆该密码)
+如果配置文件不存在,请新建,并将文件权限设置为仅允许文件所有者读取.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>指定 pid 文件 (默认为 bitcoind.pid)
-</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>错误</translation>
+ </message>
+ <message>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>您必须在配置文件中加入选项 rpcpassword :
+ %s
+如果配置文件不存在,请新建,并将文件权限设置为仅允许文件所有者读取.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/locale/bitcoin_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts
index f3593cb930..b47ab231c0 100644
--- a/src/qt/locale/bitcoin_zh_TW.ts
+++ b/src/qt/locale/bitcoin_zh_TW.ts
@@ -5,29 +5,32 @@
<context>
<name>AboutDialog</name>
<message>
- <location filename="../forms/aboutdialog.ui" line="14"/>
+ <location filename="../forms/aboutdialog.ui" line="+14"/>
<source>About Bitcoin</source>
<translation>關於位元幣</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="53"/>
+ <location line="+39"/>
<source>&lt;b&gt;Bitcoin&lt;/b&gt; version</source>
<translation>&lt;b&gt;位元幣&lt;/b&gt;版本</translation>
</message>
<message>
- <location filename="../forms/aboutdialog.ui" line="91"/>
- <source>Copyright © 2009-2012 Bitcoin Developers
-
+ <location line="+41"/>
+ <source>Copyright © 2009-2012 The Bitcoin developers</source>
+ <translation>版權為 Bitcoin 開發人員自西元 2009 至 2012 年起所有</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <source>
This is experimental software.
-Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php.
+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.</source>
- <translation>版權為 Bitcoin 開發人員自西元 2009 至 2012 年起所有
-
-這是個實驗性的軟體.
+ <translation>
+這是一套實驗性的軟體.
-此軟體依據 MIX/X11 軟體授權條款散布, 詳情請見附帶的 license.txt 檔案, 或是以下網站: http://www.opensource.org/licenses/mit-license.php.
+此軟體是依據 MIT/X11 軟體授權條款散布, 詳情請見附帶的 COPYING 檔案, 或是以下網站: http://www.opensource.org/licenses/mit-license.php.
此產品也包含了由 OpenSSL Project 所開發的 OpenSSL Toolkit (http://www.openssl.org/) 軟體, 由 Eric Young (eay@cryptsoft.com) 撰寫的加解密軟體, 以及由 Thomas Bernard 所撰寫的 UPnP 軟體.</translation>
</message>
@@ -35,102 +38,102 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressBookPage</name>
<message>
- <location filename="../forms/addressbookpage.ui" line="14"/>
+ <location filename="../forms/addressbookpage.ui" line="+14"/>
<source>Address Book</source>
<translation>位址簿</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="20"/>
- <source>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.</source>
- <translation>這是你用來收款的位元幣位址. 你可以提供不同的位址給不同的付款人, 來追蹤是誰支付給你.</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="33"/>
+ <location line="+22"/>
<source>Double-click to edit address or label</source>
<translation>點兩下來修改位址或標記</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="57"/>
+ <location line="+27"/>
<source>Create a new address</source>
<translation>產生新位址</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="99"/>
- <source>Sign &amp;Message</source>
- <translation>訊息簽署</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="113"/>
- <source>&amp;Delete</source>
- <translation>刪除</translation>
- </message>
- <message>
- <location filename="../forms/addressbookpage.ui" line="71"/>
+ <location line="+14"/>
<source>Copy the currently selected address to the system clipboard</source>
<translation>複製目前選取的位址到系統剪貼簿</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="60"/>
- <source>&amp;New Address...</source>
- <translation>新位址...</translation>
+ <location line="-11"/>
+ <source>&amp;New Address</source>
+ <translation>新增位址</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="74"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>複製到剪貼簿</translation>
+ <location line="-46"/>
+ <source>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.</source>
+ <translation>這些是你用來收款的位元幣位址. 你可以提供不同的位址給不同的付款人, 來追蹤是誰支付給你.</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="85"/>
+ <location line="+60"/>
+ <source>&amp;Copy Address</source>
+ <translation>複製位址</translation>
+ </message>
+ <message>
+ <location line="+11"/>
<source>Show &amp;QR Code</source>
<translation>顯示 &amp;QR 條碼</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="110"/>
- <source>Delete the currently selected address from the list. Only sending addresses can be deleted.</source>
- <translation>從列表中刪除目前選取的位址. 只能夠刪除付款位址.</translation>
+ <location line="+11"/>
+ <source>Sign a message to prove you own a Bitcoin address</source>
+ <translation>簽署一則訊息來證明一個位元幣位址是你的</translation>
</message>
<message>
- <location filename="../forms/addressbookpage.ui" line="96"/>
- <source>Sign a message to prove you own this address</source>
- <translation>簽署一則訊息來證明你擁有這個位址</translation>
+ <location line="+3"/>
+ <source>Sign &amp;Message</source>
+ <translation>簽署訊息</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
- <source>Error exporting</source>
- <translation>資料匯出有誤</translation>
+ <location line="+25"/>
+ <source>Delete the currently selected address from the list</source>
+ <translation>從列表中刪除目前選取的位址</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="65"/>
- <source>Copy address</source>
- <translation>複製位址</translation>
+ <location line="-14"/>
+ <source>Verify a message to ensure it was signed with a specified Bitcoin address</source>
+ <translation>驗證一則訊息來確認它是用指定的位元幣位址簽署的</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="66"/>
- <source>Copy label</source>
- <translation>複製標記</translation>
+ <location line="+3"/>
+ <source>&amp;Verify Message</source>
+ <translation>驗證訊息</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="67"/>
- <source>Edit</source>
- <translation>編輯</translation>
+ <location line="+14"/>
+ <source>&amp;Delete</source>
+ <translation>刪除</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="68"/>
- <source>Delete</source>
- <translation>刪除</translation>
+ <location filename="../addressbookpage.cpp" line="+65"/>
+ <source>Copy &amp;Label</source>
+ <translation>複製標記</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="285"/>
+ <location line="+2"/>
+ <source>&amp;Edit</source>
+ <translation>編輯</translation>
+ </message>
+ <message>
+ <location line="+250"/>
<source>Export Address Book Data</source>
<translation>匯出位址簿資料</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="286"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>逗號區隔資料檔 (*.csv)</translation>
</message>
<message>
- <location filename="../addressbookpage.cpp" line="299"/>
+ <location line="+13"/>
+ <source>Error exporting</source>
+ <translation>資料匯出有誤</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>無法寫入檔案 %1.</translation>
</message>
@@ -138,420 +141,460 @@ This product includes software developed by the OpenSSL Project for use in the O
<context>
<name>AddressTableModel</name>
<message>
- <location filename="../addresstablemodel.cpp" line="78"/>
+ <location filename="../addresstablemodel.cpp" line="+142"/>
+ <source>Label</source>
+ <translation>標記</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Address</source>
<translation>位址</translation>
</message>
<message>
- <location filename="../addresstablemodel.cpp" line="114"/>
+ <location line="+36"/>
<source>(no label)</source>
<translation>(沒有標記)</translation>
</message>
- <message>
- <location filename="../addresstablemodel.cpp" line="78"/>
- <source>Label</source>
- <translation>標記</translation>
- </message>
</context>
<context>
<name>AskPassphraseDialog</name>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="61"/>
- <source>New passphrase</source>
- <translation>新的密碼</translation>
+ <location filename="../forms/askpassphrasedialog.ui" line="+26"/>
+ <source>Passphrase Dialog</source>
+ <translation>密碼對話視窗</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="47"/>
+ <location line="+21"/>
<source>Enter passphrase</source>
<translation>輸入密碼</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="145"/>
- <source>Wallet unlock failed</source>
- <translation>錢包解鎖失敗</translation>
+ <location line="+14"/>
+ <source>New passphrase</source>
+ <translation>新的密碼</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="26"/>
- <source>Dialog</source>
- <translation>對話視窗</translation>
+ <location line="+14"/>
+ <source>Repeat new passphrase</source>
+ <translation>重複新密碼</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="34"/>
+ <location filename="../askpassphrasedialog.cpp" line="+33"/>
<source>Enter the new passphrase to the wallet.&lt;br/&gt;Please use a passphrase of &lt;b&gt;10 or more random characters&lt;/b&gt;, or &lt;b&gt;eight or more words&lt;/b&gt;.</source>
<translation>輸入錢包的新密碼.&lt;br/&gt;請用&lt;b&gt;10個以上的字元&lt;/b&gt;, 或是&lt;b&gt;8個以上的單字&lt;/b&gt;.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="35"/>
+ <location line="+1"/>
<source>Encrypt wallet</source>
<translation>錢包加密</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="43"/>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to unlock the wallet.</source>
+ <translation>這個動作需要用你的錢包密碼來解鎖</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Unlock wallet</source>
<translation>錢包解鎖</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="54"/>
- <source>Change passphrase</source>
- <translation>變更密碼</translation>
+ <location line="+3"/>
+ <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
+ <translation>這個動作需要用你的錢包密碼來解密</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="111"/>
- <location filename="../askpassphrasedialog.cpp" line="169"/>
- <source>Wallet encrypted</source>
- <translation>錢包已加密</translation>
+ <location line="+5"/>
+ <source>Decrypt wallet</source>
+ <translation>錢包解密</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="113"/>
- <source>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.</source>
- <translation>位元幣現在要關閉以完成加密程序. 請記住, 加密錢包無法完全防止入侵電腦的惡意程式偷取你的位元幣.</translation>
+ <location line="+3"/>
+ <source>Change passphrase</source>
+ <translation>變更密碼</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="101"/>
+ <location line="+1"/>
+ <source>Enter the old and new passphrase to the wallet.</source>
+ <translation>輸入錢包的新舊密碼.</translation>
+ </message>
+ <message>
+ <location line="+46"/>
<source>Confirm wallet encryption</source>
<translation>錢包加密確認</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="75"/>
- <source>Repeat new passphrase</source>
- <translation>重複新密碼</translation>
+ <location line="+1"/>
+ <source>Warning: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!</source>
+ <translation>警告: 如果將錢包加密後忘記密碼, 你會&lt;b&gt;失去其中所有的位元幣&lt;/b&gt;!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="55"/>
- <source>Enter the old and new passphrase to the wallet.</source>
- <translation>輸入錢包的新舊密碼.</translation>
+ <location line="+0"/>
+ <source>Are you sure you wish to encrypt your wallet?</source>
+ <translation>你確定要將錢包加密嗎?</translation>
</message>
<message>
- <location filename="../forms/askpassphrasedialog.ui" line="94"/>
- <source>TextLabel</source>
- <translation>文字標籤</translation>
+ <location line="+15"/>
+ <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
+ <translation>重要: 請改用新產生有加密的錢包檔, 來取代之前錢包檔的備份. 為了安全性的理由, 當你開始使用新的有加密的錢包時, 舊錢包的備份就不能再使用了.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="51"/>
- <source>Decrypt wallet</source>
- <translation>錢包解密</translation>
+ <location line="+100"/>
+ <location line="+24"/>
+ <source>Warning: The Caps Lock key is on!</source>
+ <translation>警告: 大寫字母鎖定作用中!</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="117"/>
- <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source>
- <translation>重要: 請改用新產生有加密的錢包檔, 來取代之前錢包檔的備份. 為了安全性的理由, 當你開始使用新的有加密的錢包時, 舊錢包的備份就不能再使用了.</translation>
+ <location line="-130"/>
+ <location line="+58"/>
+ <source>Wallet encrypted</source>
+ <translation>錢包已加密</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="126"/>
- <location filename="../askpassphrasedialog.cpp" line="133"/>
- <location filename="../askpassphrasedialog.cpp" line="175"/>
- <location filename="../askpassphrasedialog.cpp" line="181"/>
+ <location line="-56"/>
+ <source>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.</source>
+ <translation>位元幣現在要關閉以完成加密程序. 請記住, 加密錢包無法完全防止入侵電腦的惡意程式偷取你的位元幣.</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+7"/>
+ <location line="+42"/>
+ <location line="+6"/>
<source>Wallet encryption failed</source>
<translation>錢包加密失敗</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="127"/>
+ <location line="-54"/>
<source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source>
<translation>錢包加密因程式內部有誤而失敗. 你的錢包還是沒有加密.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="134"/>
- <location filename="../askpassphrasedialog.cpp" line="182"/>
+ <location line="+7"/>
+ <location line="+48"/>
<source>The supplied passphrases do not match.</source>
<translation>提供的密碼不符.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="146"/>
- <location filename="../askpassphrasedialog.cpp" line="157"/>
- <location filename="../askpassphrasedialog.cpp" line="176"/>
+ <location line="-37"/>
+ <source>Wallet unlock failed</source>
+ <translation>錢包解鎖失敗</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <location line="+11"/>
+ <location line="+19"/>
<source>The passphrase entered for the wallet decryption was incorrect.</source>
<translation>用來解密錢包的密碼輸入錯誤.</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="170"/>
- <source>Wallet passphrase was successfully changed.</source>
- <translation>錢包密碼變更成功.</translation>
+ <location line="-20"/>
+ <source>Wallet decryption failed</source>
+ <translation>錢包解密失敗</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="217"/>
- <location filename="../askpassphrasedialog.cpp" line="241"/>
- <source>Warning: The Caps Lock key is on.</source>
- <translation>警告: 鍵盤輸入鎖定為大寫字母中.</translation>
+ <location line="+14"/>
+ <source>Wallet passphrase was successfully changed.</source>
+ <translation>錢包密碼變更成功.</translation>
</message>
+</context>
+<context>
+ <name>BitcoinGUI</name>
<message>
- <location filename="../askpassphrasedialog.cpp" line="102"/>
- <source>WARNING: If you encrypt your wallet and lose your passphrase, you will &lt;b&gt;LOSE ALL OF YOUR BITCOINS&lt;/b&gt;!
-Are you sure you wish to encrypt your wallet?</source>
- <translation>警告: 如果將錢包加密後忘記密碼, 你會&lt;b&gt;失去其中所有的位元幣&lt;/b&gt;!
-你確定要將錢包加密嗎?</translation>
+ <location filename="../bitcoingui.cpp" line="+257"/>
+ <source>Sign &amp;message...</source>
+ <translation>訊息簽署...</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="38"/>
- <source>This operation needs your wallet passphrase to unlock the wallet.</source>
- <translation>這個動作需要用你的錢包密碼來解鎖</translation>
+ <location line="+237"/>
+ <source>Synchronizing with network...</source>
+ <translation>網路同步中...</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="46"/>
- <source>This operation needs your wallet passphrase to decrypt the wallet.</source>
- <translation>這個動作需要用你的錢包密碼來解密</translation>
+ <location line="-299"/>
+ <source>&amp;Overview</source>
+ <translation>總覽</translation>
</message>
<message>
- <location filename="../askpassphrasedialog.cpp" line="156"/>
- <source>Wallet decryption failed</source>
- <translation>錢包解密失敗</translation>
+ <location line="+1"/>
+ <source>Show general overview of wallet</source>
+ <translation>顯示錢包一般總覽</translation>
</message>
-</context>
-<context>
- <name>BitcoinGUI</name>
<message>
- <location filename="../bitcoingui.cpp" line="191"/>
+ <location line="+17"/>
<source>&amp;Transactions</source>
<translation>交易</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="197"/>
+ <location line="+1"/>
+ <source>Browse transaction history</source>
+ <translation>瀏覽交易紀錄</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>&amp;Address Book</source>
<translation>位址簿</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="203"/>
+ <location line="+1"/>
+ <source>Edit the list of stored addresses and labels</source>
+ <translation>編輯位址與標記的儲存列表</translation>
+ </message>
+ <message>
+ <location line="-13"/>
<source>&amp;Receive coins</source>
<translation>收錢</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="506"/>
- <source>Synchronizing with network...</source>
- <translation>網路同步中...</translation>
+ <location line="+1"/>
+ <source>Show the list of addresses for receiving payments</source>
+ <translation>顯示收款位址的列表</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="192"/>
- <source>Browse transaction history</source>
- <translation>瀏覽交易紀錄</translation>
+ <location line="-7"/>
+ <source>&amp;Send coins</source>
+ <translation>付錢</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="185"/>
- <source>&amp;Overview</source>
- <translation>總覽</translation>
+ <location line="+35"/>
+ <source>E&amp;xit</source>
+ <translation>結束</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="186"/>
- <source>Show general overview of wallet</source>
- <translation>顯示錢包一般總覽</translation>
+ <location line="+1"/>
+ <source>Quit application</source>
+ <translation>結束應用程式</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="198"/>
- <source>Edit the list of stored addresses and labels</source>
- <translation>編輯儲存位址與標記的列表</translation>
+ <location line="+4"/>
+ <source>Show information about Bitcoin</source>
+ <translation>顯示位元幣相關資訊</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="235"/>
- <source>E&amp;xit</source>
- <translation>結束</translation>
+ <location line="+2"/>
+ <source>About &amp;Qt</source>
+ <translation>關於 &amp;Qt</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="209"/>
- <source>&amp;Send coins</source>
- <translation>付錢</translation>
+ <location line="+1"/>
+ <source>Show information about Qt</source>
+ <translation>顯示有關於 Qt 的資訊</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="210"/>
- <source>Send coins to a bitcoin address</source>
- <translation>付錢至某個位元幣位址</translation>
+ <location line="+2"/>
+ <source>&amp;Options...</source>
+ <translation>選項...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="236"/>
- <source>Quit application</source>
- <translation>結束應用程式</translation>
+ <location line="+4"/>
+ <source>&amp;Encrypt Wallet...</source>
+ <translation>錢包加密...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="245"/>
- <source>&amp;Options...</source>
- <translation>選項...</translation>
+ <location line="+3"/>
+ <source>&amp;Backup Wallet...</source>
+ <translation>錢包備份...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="242"/>
- <source>About &amp;Qt</source>
- <translation>關於 &amp;Qt</translation>
+ <location line="+2"/>
+ <source>&amp;Change Passphrase...</source>
+ <translation>密碼變更...</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="216"/>
- <source>Prove you control an address</source>
- <translation>證明你控制一個位址</translation>
+ <message numerus="yes">
+ <location line="+241"/>
+ <source>~%n block(s) remaining</source>
+ <translation>
+ <numerusform>剩下 ~%n 個區塊</numerusform>
+ </translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="249"/>
- <source>Show or hide the Bitcoin window</source>
- <translation>顯示或隱藏位元幣的視窗</translation>
+ <location line="+6"/>
+ <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
+ <translation>已下載了全部 %2 個中的 %1 個交易紀錄區塊 (已完成 %3%).</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="250"/>
+ <location line="-242"/>
<source>&amp;Export...</source>
<translation>匯出...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="251"/>
+ <location line="-58"/>
+ <source>Send coins to a Bitcoin address</source>
+ <translation>付錢到一個位元幣位址</translation>
+ </message>
+ <message>
+ <location line="+45"/>
+ <source>Modify configuration options for Bitcoin</source>
+ <translation>修改位元幣的設定選項</translation>
+ </message>
+ <message>
+ <location line="+14"/>
<source>Export the data in the current tab to a file</source>
<translation>將目前分頁的資料匯出存成檔案</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="296"/>
- <source>&amp;Help</source>
- <translation>求助</translation>
+ <location line="-10"/>
+ <source>Encrypt or decrypt wallet</source>
+ <translation>將錢包加解密</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="327"/>
- <source>[testnet]</source>
- <translation>[testnet]</translation>
+ <location line="+3"/>
+ <source>Backup wallet to another location</source>
+ <translation>將錢包備份到其它地方</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="632"/>
- <source>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?</source>
- <translation>這筆交易的資料大小超過限制了. 你還是可以付出 %1 的費用來傳送. 這筆費用會付給處理該筆交易的節點, 並幫助維持整個網路. 你願意支付這項費用嗎?</translation>
+ <location line="+2"/>
+ <source>Change the passphrase used for wallet encryption</source>
+ <translation>變更錢包加密用的密碼</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
- <source>Wallet Data (*.dat)</source>
- <translation>錢包資料檔 (*.dat)</translation>
+ <location line="+6"/>
+ <source>&amp;Debug window</source>
+ <translation>除錯視窗</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>Backup Failed</source>
- <translation>備份失敗</translation>
+ <location line="+1"/>
+ <source>Open debugging and diagnostic console</source>
+ <translation>開啓除錯與診斷主控台</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="824"/>
- <source>There was an error trying to save the wallet data to the new location.</source>
- <translation>儲存錢包資料到新的地方時發生錯誤</translation>
+ <location line="-5"/>
+ <source>&amp;Verify message...</source>
+ <translation>訊息驗證...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="290"/>
- <source>&amp;Settings</source>
- <translation>設定</translation>
+ <location line="-186"/>
+ <source>Bitcoin</source>
+ <translation>位元幣</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="204"/>
- <source>Show the list of addresses for receiving payments</source>
- <translation>顯示收款位址的列表</translation>
+ <location line="+0"/>
+ <source>Wallet</source>
+ <translation>錢包</translation>
+ </message>
+ <message>
+ <location line="+168"/>
+ <source>&amp;About Bitcoin</source>
+ <translation>關於位元幣</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="215"/>
- <source>Sign &amp;message</source>
- <translation>訊息簽署</translation>
+ <location line="+9"/>
+ <source>&amp;Show / Hide</source>
+ <translation>顯示或隱藏</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="281"/>
+ <location line="+39"/>
<source>&amp;File</source>
<translation>檔案</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="303"/>
+ <location line="+8"/>
+ <source>&amp;Settings</source>
+ <translation>設定</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>&amp;Help</source>
+ <translation>求助</translation>
+ </message>
+ <message>
+ <location line="+9"/>
<source>Tabs toolbar</source>
<translation>分頁工具列</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="314"/>
+ <location line="+8"/>
<source>Actions toolbar</source>
<translation>動作工具列</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="391"/>
+ <location line="+13"/>
+ <location line="+9"/>
+ <source>[testnet]</source>
+ <translation>[testnet]</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+60"/>
<source>Bitcoin client</source>
<translation>位元幣客戶端軟體</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="482"/>
+ <location line="+69"/>
<source>%n active connection(s) to Bitcoin network</source>
<translation>
<numerusform>與位元幣網路有 %n 個連線在使用中</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="239"/>
- <source>&amp;About %1</source>
- <translation>關於%1</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="240"/>
- <source>Show information about Bitcoin</source>
- <translation>顯示位元幣相關資訊</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="243"/>
- <source>Show information about Qt</source>
- <translation>顯示有關於 Qt 的資訊</translation>
+ <location line="+40"/>
+ <source>Downloaded %1 blocks of transaction history.</source>
+ <translation>已下載了 %1 個交易紀錄的區塊.</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="546"/>
+ <location line="+22"/>
<source>%n second(s) ago</source>
<translation>
<numerusform>%n 秒鐘前</numerusform>
</translation>
</message>
- <message>
- <location filename="../bitcoingui.cpp" line="246"/>
- <source>Modify configuration options for bitcoin</source>
- <translation>修改位元幣的設定選項</translation>
- </message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="550"/>
+ <location line="+4"/>
<source>%n minute(s) ago</source>
<translation>
<numerusform>%n 分鐘前</numerusform>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="554"/>
+ <location line="+4"/>
<source>%n hour(s) ago</source>
<translation>
<numerusform>%n 小時前</numerusform>
</translation>
</message>
<message numerus="yes">
- <location filename="../bitcoingui.cpp" line="558"/>
+ <location line="+4"/>
<source>%n day(s) ago</source>
<translation>
<numerusform>%n 天前</numerusform>
</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="564"/>
+ <location line="+6"/>
<source>Up to date</source>
<translation>最新狀態</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="569"/>
+ <location line="+7"/>
<source>Catching up...</source>
<translation>進度追趕中...</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="577"/>
+ <location line="+10"/>
<source>Last received block was generated %1.</source>
<translation>最近收到的區塊產生於 %1.</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="418"/>
- <source>bitcoin-qt</source>
- <translation>bitcoin-qt</translation>
- </message>
- <message numerus="yes">
- <location filename="../bitcoingui.cpp" line="508"/>
- <source>~%n block(s) remaining</source>
- <translation>
- <numerusform>剩下 ~%n 個區塊</numerusform>
- </translation>
+ <location line="+58"/>
+ <source>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?</source>
+ <translation>這筆交易的資料大小超過限制了. 你還是可以付出 %1 的費用來傳送. 這筆費用會付給處理該筆交易的節點, 並幫助維持整個網路. 你願意支付這項費用嗎?</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="531"/>
- <source>Downloaded %1 blocks of transaction history.</source>
- <translation>已下載了 %1 個交易紀錄的區塊.</translation>
+ <location line="+4"/>
+ <source>Confirm transaction fee</source>
+ <translation>確認交易手續費</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="663"/>
+ <location line="+27"/>
<source>Sent transaction</source>
<translation>付款交易</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="664"/>
+ <location line="+1"/>
<source>Incoming transaction</source>
<translation>收款交易</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="665"/>
+ <location line="+1"/>
<source>Date: %1
Amount: %2
Type: %3
@@ -563,808 +606,1187 @@ Address: %4
位址: %4</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="790"/>
+ <location line="+100"/>
+ <location line="+15"/>
+ <source>URI handling</source>
+ <translation>URI 處理</translation>
+ </message>
+ <message>
+ <location line="-15"/>
+ <location line="+15"/>
+ <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source>
+ <translation>無法解析 URI! 也許位元幣位址無效或 URI 參數有誤.</translation>
+ </message>
+ <message>
+ <location line="+16"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;unlocked&lt;/b&gt;</source>
<translation>錢包&lt;b&gt;已加密&lt;/b&gt;並且正&lt;b&gt;解鎖中&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="798"/>
+ <location line="+8"/>
<source>Wallet is &lt;b&gt;encrypted&lt;/b&gt; and currently &lt;b&gt;locked&lt;/b&gt;</source>
<translation>錢包&lt;b&gt;已加密&lt;/b&gt;並且正&lt;b&gt;上鎖中&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="821"/>
+ <location line="+23"/>
<source>Backup Wallet</source>
<translation>錢包備份</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="248"/>
- <source>Show/Hide &amp;Bitcoin</source>
- <translation>顯示/隱藏位元幣</translation>
- </message>
- <message>
- <location filename="../bitcoin.cpp" line="127"/>
- <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
- <translation>發生了致命的錯誤. 位元幣程式無法再繼續安全執行, 只好結束.</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="253"/>
- <source>Encrypt or decrypt wallet</source>
- <translation>將錢包加解密</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="255"/>
- <source>&amp;Backup Wallet</source>
- <translation>錢包備份</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="256"/>
- <source>Backup wallet to another location</source>
- <translation>將錢包備份到其它地方</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="257"/>
- <source>&amp;Change Passphrase</source>
- <translation>變更密碼</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="258"/>
- <source>Change the passphrase used for wallet encryption</source>
- <translation>變更錢包加密用的密碼</translation>
- </message>
- <message>
- <location filename="../bitcoingui.cpp" line="71"/>
- <source>Bitcoin Wallet</source>
- <translation>位元幣錢包</translation>
+ <location line="+0"/>
+ <source>Wallet Data (*.dat)</source>
+ <translation>錢包資料檔 (*.dat)</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="519"/>
- <source>Downloaded %1 of %2 blocks of transaction history (%3% done).</source>
- <translation>已下載了全部 %2 個中的 %1 個交易紀錄區塊 (已完成 %3%).</translation>
+ <location line="+3"/>
+ <source>Backup Failed</source>
+ <translation>備份失敗</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="636"/>
- <source>Sending...</source>
- <translation>付出中...</translation>
+ <location line="+0"/>
+ <source>There was an error trying to save the wallet data to the new location.</source>
+ <translation>儲存錢包資料到新的地方時發生錯誤</translation>
</message>
<message>
- <location filename="../bitcoingui.cpp" line="252"/>
- <source>&amp;Encrypt Wallet</source>
- <translation>錢包加密</translation>
+ <location filename="../bitcoin.cpp" line="+109"/>
+ <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source>
+ <translation>發生了致命的錯誤. 位元幣程式無法再繼續安全執行, 只好結束.</translation>
</message>
</context>
<context>
- <name>DisplayOptionsPage</name>
+ <name>ClientModel</name>
<message>
- <location filename="../optionsdialog.cpp" line="273"/>
- <source>&amp;Unit to show amounts in: </source>
- <translation>金額顯示單位: </translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="277"/>
- <source>Choose the default subdivision unit to show in the interface, and when sending coins</source>
- <translation>選擇操作界面與付錢時預設顯示的細分單位</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="284"/>
- <source>&amp;Display addresses in transaction list</source>
- <translation>&amp;在交易列表中顯示位址</translation>
- </message>
- <message>
- <location filename="../optionsdialog.cpp" line="285"/>
- <source>Whether to show Bitcoin addresses in the transaction list</source>
- <translation type="unfinished">是否要在交易列表中顯示位元幣位址</translation>
+ <location filename="../clientmodel.cpp" line="+87"/>
+ <source>Network Alert</source>
+ <translation>網路警報</translation>
</message>
</context>
<context>
<name>EditAddressDialog</name>
<message>
- <location filename="../forms/editaddressdialog.ui" line="14"/>
+ <location filename="../forms/editaddressdialog.ui" line="+14"/>
<source>Edit Address</source>
<translation>編輯位址</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="25"/>
+ <location line="+11"/>
<source>&amp;Label</source>
<translation>標記</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="35"/>
+ <location line="+10"/>
<source>The label associated with this address book entry</source>
<translation>與這個位址簿項目關聯的標記</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="42"/>
+ <location line="+7"/>
<source>&amp;Address</source>
<translation>位址</translation>
</message>
<message>
- <location filename="../forms/editaddressdialog.ui" line="52"/>
+ <location line="+10"/>
<source>The address associated with this address book entry. This can only be modified for sending addresses.</source>
<translation>與這個位址簿項目關聯的位址. 只能修改付款位址.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="20"/>
+ <location filename="../editaddressdialog.cpp" line="+20"/>
<source>New receiving address</source>
<translation>新收款位址</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="24"/>
+ <location line="+4"/>
<source>New sending address</source>
<translation>新付款位址</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="27"/>
+ <location line="+3"/>
<source>Edit receiving address</source>
<translation>編輯收款位址</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="31"/>
+ <location line="+4"/>
<source>Edit sending address</source>
<translation>編輯付款位址</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="91"/>
+ <location line="+60"/>
<source>The entered address &quot;%1&quot; is already in the address book.</source>
<translation>輸入的位址&quot;%1&quot;已存在於位址簿中.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="101"/>
+ <location line="+5"/>
+ <source>The entered address &quot;%1&quot; is not a valid Bitcoin address.</source>
+ <translation>輸入的位址 &quot;%1&quot; 並不是有效的位元幣位址.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
<source>Could not unlock wallet.</source>
<translation>無法將錢包解鎖.</translation>
</message>
<message>
- <location filename="../editaddressdialog.cpp" line="106"/>
+ <location line="+5"/>
<source>New key generation failed.</source>
<translation>新密鑰產生失敗.</translation>
</message>
+</context>
+<context>
+ <name>GUIUtil::HelpMessageBox</name>
+ <message>
+ <location filename="../guiutil.cpp" line="+419"/>
+ <location line="+12"/>
+ <source>Bitcoin-Qt</source>
+ <translation>位元幣-Qt</translation>
+ </message>
+ <message>
+ <location line="-12"/>
+ <source>version</source>
+ <translation>版本</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>Usage:</source>
+ <translation>用法:</translation>
+ </message>
<message>
- <location filename="../editaddressdialog.cpp" line="96"/>
- <source>The entered address &quot;%1&quot; is not a valid bitcoin address.</source>
- <translation>輸入的位址&quot;%1&quot;並非有效的位元幣位址</translation>
+ <location line="+1"/>
+ <source>command-line options</source>
+ <translation>命令列選項</translation>
+ </message>
+ <message>
+ <location line="+4"/>
+ <source>UI options</source>
+ <translation>使用界面選項</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
+ <translation>設定語言, 比如說 &quot;de_DE&quot; (預設: 系統語系)</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Start minimized</source>
+ <translation>啓動時最小化
+</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Show splash screen on startup (default: 1)</source>
+ <translation>顯示啓動畫面 (預設: 1)</translation>
</message>
</context>
<context>
- <name>MainOptionsPage</name>
+ <name>OptionsDialog</name>
<message>
- <location filename="../optionsdialog.cpp" line="171"/>
- <source>&amp;Start Bitcoin on window system startup</source>
- <translation>視窗系統啓動時同時開啓位元幣</translation>
+ <location filename="../forms/optionsdialog.ui" line="+14"/>
+ <source>Options</source>
+ <translation>選項</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="172"/>
- <source>Automatically start Bitcoin after the computer is turned on</source>
- <translation>電腦開啟後自動啟動位元幣</translation>
+ <location line="+16"/>
+ <source>&amp;Main</source>
+ <translation>主要</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="176"/>
- <source>&amp;Minimize to the tray instead of the taskbar</source>
- <translation>最小化至通知區域而非工作列</translation>
+ <location line="+6"/>
+ <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
+ <translation>非必要的交易手續費, 以 kB 為計費單位, 且有助於縮短你的交易處理時間. 大部份交易的資料大小是 1 kB. 建議設定為 0.01 元.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="185"/>
- <source>Map port using &amp;UPnP</source>
- <translation>用 &amp;UPnP 設定通訊埠對應</translation>
+ <location line="+15"/>
+ <source>Pay transaction &amp;fee</source>
+ <translation>付交易手續費</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="180"/>
- <source>M&amp;inimize on close</source>
- <translation>關閉時最小化</translation>
+ <location line="+31"/>
+ <source>Automatically start Bitcoin after logging in to the system.</source>
+ <translation>在登入系統後自動啓動位元幣.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="186"/>
- <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
- <translation>自動在路由器上開啟位元幣的客戶端通訊埠. 只有在你的路由器支援 UPnP 且開啟時才有作用.</translation>
+ <location line="+3"/>
+ <source>&amp;Start Bitcoin on system login</source>
+ <translation>系統登入時啟動位元幣</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="177"/>
- <source>Show only a tray icon after minimizing the window</source>
- <translation>最小化視窗後只在通知區域顯示圖示</translation>
+ <location line="+7"/>
+ <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
+ <translation>關掉程式時卸載區塊與位址的資料庫. 表示說資料庫會被搬到別的資料目錄去, 且會造成程式關掉的比較慢. 錢包則總是會被卸載.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="181"/>
- <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
- <translation>當視窗關閉時將其最小化, 而非結束應用程式. 當勾選這個選項時, 應用程式只能用選單中的結束來停止執行.</translation>
+ <location line="+3"/>
+ <source>&amp;Detach databases at shutdown</source>
+ <translation>關閉時卸載資料庫</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="189"/>
- <source>&amp;Connect through SOCKS4 proxy:</source>
- <translation>透過 SOCKS4 代理伺服器連線:</translation>
+ <location line="+21"/>
+ <source>&amp;Network</source>
+ <translation>網路</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="190"/>
- <source>Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)</source>
- <translation>透過 SOCKS4 代理伺服器連線至位元幣網路 (比如說透過 Tor)</translation>
+ <location line="+6"/>
+ <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source>
+ <translation>自動在路由器上開啟 Bitcoin 的客戶端通訊埠. 只有在你的路由器支援 UPnP 且開啟時才有作用.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="195"/>
- <source>Proxy &amp;IP: </source>
- <translation>伺服器位址: </translation>
+ <location line="+3"/>
+ <source>Map port using &amp;UPnP</source>
+ <translation>用 &amp;UPnP 設定通訊埠對應</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="201"/>
+ <location line="+7"/>
+ <source>Connect to the Bitcoin network through a SOCKS proxy (e.g. when connecting through Tor).</source>
+ <translation>透過 SOCKS 代理伺服器連線至位元幣網路 (比如說要透過 Tor 連線).</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Connect through SOCKS proxy:</source>
+ <translation>透過 SOCKS 代理伺服器連線:</translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Proxy &amp;IP:</source>
+ <translation>代理伺服器位址:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
<source>IP address of the proxy (e.g. 127.0.0.1)</source>
<translation>代理伺服器的網際網路位址 (比如說 127.0.0.1)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="204"/>
- <source>&amp;Port: </source>
- <translation>通訊埠: </translation>
+ <location line="+7"/>
+ <source>&amp;Port:</source>
+ <translation>通訊埠:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="210"/>
- <source>Port of the proxy (e.g. 1234)</source>
- <translation>代理伺服器的通訊埠 (比如說 1234)</translation>
+ <location line="+19"/>
+ <source>Port of the proxy (e.g. 9050)</source>
+ <translation>代理伺服器的通訊埠 (比如說 9050)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="216"/>
- <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended.</source>
- <translation>非必要的交易手續費, 以 kB 為計費單位, 且有助於縮短你的交易處理時間. 大部份交易的資料大小是 1 kB. 建議設定為 0.01 元.</translation>
+ <location line="+7"/>
+ <source>SOCKS &amp;Version:</source>
+ <translation>SOCKS 協定版本:</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="222"/>
- <source>Pay transaction &amp;fee</source>
- <translation>付交易手續費</translation>
+ <location line="+13"/>
+ <source>SOCKS version of the proxy (e.g. 5)</source>
+ <translation>代理伺服器的 SOCKS 協定版本 (比如說 5)</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="232"/>
- <source>Detach databases at shutdown</source>
- <translation>關閉時卸載資料庫</translation>
+ <location line="+36"/>
+ <source>&amp;Window</source>
+ <translation>視窗</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="233"/>
- <source>Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached.</source>
- <translation>關掉程式時卸載區塊與位址的資料庫. 表示說資料庫會被搬到別的資料目錄去, 且會造成程式關掉的比較慢. 錢包則總是會被卸載.</translation>
+ <location line="+6"/>
+ <source>Show only a tray icon after minimizing the window.</source>
+ <translation>最小化視窗後只在通知區域顯示圖示</translation>
</message>
-</context>
-<context>
- <name>MessagePage</name>
<message>
- <location filename="../forms/messagepage.ui" line="14"/>
- <source>Message</source>
- <translation>訊息</translation>
+ <location line="+3"/>
+ <source>&amp;Minimize to the tray instead of the taskbar</source>
+ <translation>最小化至通知區域而非工作列</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="20"/>
- <source>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.</source>
- <translation>你可以用你的位址來簽署訊息, 以證明你對它的所有權. 但是請小心, 不要簽署語意含糊不清的內容, 因為釣魚式詐騙可能會用騙你簽署的手法來冒充是你. 只有在語句中的細節你都同意時才簽署.</translation>
+ <location line="+7"/>
+ <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Quit in the menu.</source>
+ <translation>當視窗關閉時將其最小化, 而非結束應用程式. 當勾選這個選項時, 應用程式只能用選單中的結束來停止執行.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="93"/>
- <source>Enter the message you want to sign here</source>
- <translation>在這裡輸入你想簽署的訊息</translation>
+ <location line="+3"/>
+ <source>M&amp;inimize on close</source>
+ <translation>關閉時最小化</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="117"/>
- <source>Sign a message to prove you own this address</source>
- <translation>簽署一則訊息來證明你擁有這個位址</translation>
+ <location line="+21"/>
+ <source>&amp;Display</source>
+ <translation>顯示</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="105"/>
- <source>Click &quot;Sign Message&quot; to get signature</source>
- <translation>按&quot;簽署訊息&quot;來取得簽章</translation>
+ <location line="+8"/>
+ <source>User Interface &amp;language:</source>
+ <translation>使用界面語言</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="120"/>
- <source>&amp;Sign Message</source>
- <translation>簽署訊息</translation>
+ <location line="+13"/>
+ <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source>
+ <translation>可以在這裡設定使用者介面的語言. 這個設定在位元幣程式重啓後才會生效.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <location filename="../messagepage.cpp" line="89"/>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Error signing</source>
- <translation>簽署發生錯誤</translation>
+ <location line="+11"/>
+ <source>&amp;Unit to show amounts in:</source>
+ <translation>金額顯示單位:</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="89"/>
- <source>Private key for %1 is not available.</source>
- <translation>沒有 %1 的密鑰.</translation>
+ <location line="+13"/>
+ <source>Choose the default subdivision unit to show in the interface and when sending coins.</source>
+ <translation>選擇操作界面與付錢時預設顯示的細分單位.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="38"/>
- <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
- <translation>用來簽署訊息的位址 (比如說 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ <location line="+9"/>
+ <source>Whether to show Bitcoin addresses in the transaction list or not.</source>
+ <translation>是否要在交易列表中顯示位元幣位址.</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="48"/>
- <source>Choose adress from address book</source>
- <translation>從位址簿中選一個位址</translation>
+ <location line="+3"/>
+ <source>&amp;Display addresses in transaction list</source>
+ <translation>在交易列表顯示位址</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="58"/>
- <source>Alt+A</source>
- <translation>Alt+A</translation>
+ <location line="+71"/>
+ <source>&amp;OK</source>
+ <translation>好</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="71"/>
- <source>Paste address from clipboard</source>
- <translation>從剪貼簿貼上位址</translation>
+ <location line="+7"/>
+ <source>&amp;Cancel</source>
+ <translation>取消</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="81"/>
- <source>Alt+P</source>
- <translation>Alt+P</translation>
+ <location line="+10"/>
+ <source>&amp;Apply</source>
+ <translation>套用</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="131"/>
- <source>Copy the current signature to the system clipboard</source>
- <translation>複製目前的簽章到系統剪貼簿</translation>
+ <location filename="../optionsdialog.cpp" line="+55"/>
+ <source>default</source>
+ <translation>預設</translation>
</message>
<message>
- <location filename="../forms/messagepage.ui" line="134"/>
- <source>&amp;Copy to Clipboard</source>
- <translation>複製到剪貼簿</translation>
+ <location line="+147"/>
+ <location line="+9"/>
+ <source>Warning</source>
+ <translation>警告</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="74"/>
- <source>%1 is not a valid address.</source>
- <translation>%1 不是個有效的位址.</translation>
+ <location line="-9"/>
+ <location line="+9"/>
+ <source>This setting will take effect after restarting Bitcoin.</source>
+ <translation>這個設定會在位元幣程式重啓後生效.</translation>
</message>
<message>
- <location filename="../messagepage.cpp" line="101"/>
- <source>Sign failed</source>
- <translation>簽署失敗</translation>
+ <location line="+29"/>
+ <source>The supplied proxy address is invalid.</source>
+ <translation>提供的代理伺服器位址無效</translation>
</message>
</context>
<context>
- <name>OptionsDialog</name>
+ <name>OverviewPage</name>
<message>
- <location filename="../optionsdialog.cpp" line="80"/>
- <source>Main</source>
- <translation>主要</translation>
+ <location filename="../forms/overviewpage.ui" line="+14"/>
+ <source>Form</source>
+ <translation>表單</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="85"/>
- <source>Display</source>
- <translation>顯示</translation>
+ <location line="+33"/>
+ <location line="+183"/>
+ <source>The displayed information may be out of date. Your wallet automatically synchronizes with the Bitcoin network after a connection is established, but this process has not completed yet.</source>
+ <translation>顯示的資訊可能是過期的. 與位元幣網路的連線建立後, 你的錢包會自動和網路同步, 但這個步驟還沒完成.</translation>
</message>
<message>
- <location filename="../optionsdialog.cpp" line="105"/>
- <source>Options</source>
- <translation>選項</translation>
+ <location line="-141"/>
+ <source>Balance:</source>
+ <translation>餘額:</translation>
</message>
-</context>
-<context>
- <name>OverviewPage</name>
<message>
- <location filename="../forms/overviewpage.ui" line="54"/>
+ <location line="+58"/>
<source>Number of transactions:</source>
<translation>交易次數:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="68"/>
+ <location line="-29"/>
<source>Unconfirmed:</source>
<translation>未確認額:</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="14"/>
- <source>Form</source>
- <translation>表單</translation>
- </message>
- <message>
- <location filename="../forms/overviewpage.ui" line="40"/>
- <source>Balance:</source>
- <translation>餘額:</translation>
+ <location line="-78"/>
+ <source>Wallet</source>
+ <translation>錢包</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="61"/>
- <source>0</source>
- <translation>0</translation>
+ <location line="+124"/>
+ <source>Immature:</source>
+ <translation>未熟成</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="88"/>
- <source>Wallet</source>
- <translation>錢包</translation>
+ <location line="+13"/>
+ <source>Mined balance that has not yet matured</source>
+ <translation>尚未熟成的開採金額</translation>
</message>
<message>
- <location filename="../forms/overviewpage.ui" line="124"/>
+ <location line="+46"/>
<source>&lt;b&gt;Recent transactions&lt;/b&gt;</source>
<translation>&lt;b&gt;最近交易&lt;/b&gt;</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="108"/>
+ <location line="-118"/>
+ <source>Your current balance</source>
+ <translation>目前餘額</translation>
+ </message>
+ <message>
+ <location line="+29"/>
<source>Total of transactions that have yet to be confirmed, and do not yet count toward the current balance</source>
<translation>尚未確認之交易的總額, 不包含在目前餘額中</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="111"/>
+ <location line="+20"/>
<source>Total number of transactions in wallet</source>
<translation>錢包中紀錄的總交易次數</translation>
</message>
<message>
- <location filename="../overviewpage.cpp" line="103"/>
- <source>Your current balance</source>
- <translation>目前餘額</translation>
+ <location filename="../overviewpage.cpp" line="+112"/>
+ <location line="+1"/>
+ <source>out of sync</source>
+ <translation>沒同步</translation>
</message>
</context>
<context>
<name>QRCodeDialog</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="144"/>
- <source>Message:</source>
- <translation>訊息:</translation>
+ <location filename="../forms/qrcodedialog.ui" line="+14"/>
+ <source>QR Code Dialog</source>
+ <translation>QR 條碼對話視窗</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="55"/>
+ <location line="+59"/>
<source>Request Payment</source>
<translation>付款單</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="70"/>
+ <location line="+56"/>
<source>Amount:</source>
<translation>金額:</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>PNG Images (*.png)</source>
- <translation>PNG 圖檔 (*.png)</translation>
+ <location line="-44"/>
+ <source>Label:</source>
+ <translation>標記:</translation>
+ </message>
+ <message>
+ <location line="+19"/>
+ <source>Message:</source>
+ <translation>訊息:</translation>
+ </message>
+ <message>
+ <location line="+71"/>
+ <source>&amp;Save As...</source>
+ <translation>儲存為...</translation>
+ </message>
+ <message>
+ <location filename="../qrcodedialog.cpp" line="+62"/>
+ <source>Error encoding URI into QR Code.</source>
+ <translation>將 URI 編碼成 QR 條碼時發生錯誤</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="105"/>
- <source>BTC</source>
- <translation>BTC</translation>
+ <location line="+40"/>
+ <source>The entered amount is invalid, please check.</source>
+ <translation>輸入的金額無效, 請檢查看看.</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="64"/>
+ <location line="+23"/>
<source>Resulting URI too long, try to reduce the text for label / message.</source>
<translation>造出的網址太長了,請把標籤或訊息的文字縮短再試看看.</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="14"/>
- <source>Dialog</source>
- <translation>對話視窗</translation>
+ <location line="+25"/>
+ <source>Save QR Code</source>
+ <translation>儲存 QR 條碼</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="32"/>
- <source>QR Code</source>
- <translation>QR 條碼</translation>
+ <location line="+0"/>
+ <source>PNG Images (*.png)</source>
+ <translation>PNG 圖檔 (*.png)</translation>
</message>
+</context>
+<context>
+ <name>RPCConsole</name>
<message>
- <location filename="../forms/qrcodedialog.ui" line="121"/>
- <source>Label:</source>
- <translation>標記:</translation>
+ <location filename="../forms/rpcconsole.ui" line="+46"/>
+ <source>Client name</source>
+ <translation>客戶端軟體名稱</translation>
</message>
<message>
- <location filename="../forms/qrcodedialog.ui" line="186"/>
- <source>&amp;Save As...</source>
- <translation>儲存為...</translation>
+ <location line="+10"/>
+ <location line="+23"/>
+ <location line="+26"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location line="+36"/>
+ <location line="+53"/>
+ <location line="+23"/>
+ <location line="+23"/>
+ <location filename="../rpcconsole.cpp" line="+348"/>
+ <source>N/A</source>
+ <translation>無</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="46"/>
- <source>Error encoding URI into QR Code.</source>
- <translation>將 URI 編碼成 QR 條碼時發生錯誤</translation>
+ <location line="-217"/>
+ <source>Client version</source>
+ <translation>客戶端軟體版本</translation>
</message>
<message>
- <location filename="../qrcodedialog.cpp" line="121"/>
- <source>Save Image...</source>
- <translation>儲存圖片...</translation>
+ <location line="-45"/>
+ <source>&amp;Information</source>
+ <translation>資訊</translation>
</message>
-</context>
-<context>
- <name>SendCoinsDialog</name>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="106"/>
- <source>Balance:</source>
- <translation>餘額:</translation>
+ <location line="+68"/>
+ <source>Using OpenSSL version</source>
+ <translation>使用 OpenSSL 版本</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="144"/>
- <source>Confirm the send action</source>
- <translation>確認付款動作</translation>
+ <location line="+49"/>
+ <source>Startup time</source>
+ <translation>啓動時間</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="95"/>
- <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
- <translation>&lt;b&gt;%1&lt;/b&gt; 給 %2 (%3)</translation>
+ <location line="+29"/>
+ <source>Network</source>
+ <translation>網路</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source> and </source>
- <translation>和</translation>
+ <location line="+7"/>
+ <source>Number of connections</source>
+ <translation>連線數</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="129"/>
- <source>The amount to pay must be larger than 0.</source>
- <translation>付款金額必須大於 0.</translation>
+ <location line="+23"/>
+ <source>On testnet</source>
+ <translation>位於測試網路</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="101"/>
- <source>Are you sure you want to send %1?</source>
- <translation>確定要付出 %1 嗎?</translation>
+ <location line="+23"/>
+ <source>Block chain</source>
+ <translation>區塊鎖鏈</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="155"/>
- <source>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.</source>
- <translation>錯誤: 交易被拒絕. 有時候會發生這種錯誤, 是因為你錢包中的一些錢已經被花掉了. 比如說你複製了錢包檔 wallet.dat, 然後用複製的錢包花掉了錢, 你現在所用的原來的錢包中卻沒有該筆交易紀錄.</translation>
+ <location line="+7"/>
+ <source>Current number of blocks</source>
+ <translation>目前區塊數</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="134"/>
- <source>The amount exceeds your balance.</source>
- <translation>金額超過了餘額</translation>
+ <location line="+23"/>
+ <source>Estimated total blocks</source>
+ <translation>估計總區塊數</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="100"/>
- <source>Confirm send coins</source>
- <translation>確認付出金額</translation>
+ <location line="+23"/>
+ <source>Last block time</source>
+ <translation>最近區塊時間</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="139"/>
- <source>The total exceeds your balance when the %1 transaction fee is included.</source>
- <translation>包含 %1 的交易手續費後, 總金額超過了你的餘額</translation>
+ <location line="+52"/>
+ <source>&amp;Open</source>
+ <translation>開啓</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="145"/>
- <source>Duplicate address found, can only send to each address once per send operation.</source>
- <translation>發現有重複的位址. 在一次付款動作中, 只能付給每個位址一次.</translation>
+ <location line="+16"/>
+ <source>Command-line options</source>
+ <translation>命令列選項</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="150"/>
- <source>Error: Transaction creation failed.</source>
- <translation>錯誤: 交易產生失敗.</translation>
+ <location line="+7"/>
+ <source>Show the Bitcoin-Qt help message to get a list with possible Bitcoin command-line options.</source>
+ <translation>顯示位元幣-Qt的求助訊息, 來取得可用的命令列選項列表.</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>&amp;Show</source>
+ <translation>顯示</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>&amp;Console</source>
+ <translation>主控台</translation>
+ </message>
+ <message>
+ <location line="-260"/>
+ <source>Build date</source>
+ <translation>建置日期</translation>
+ </message>
+ <message>
+ <location line="-104"/>
+ <source>Bitcoin - Debug window</source>
+ <translation>位元幣 - 除錯視窗</translation>
+ </message>
+ <message>
+ <location line="+25"/>
+ <source>Bitcoin Core</source>
+ <translation>位元幣核心</translation>
+ </message>
+ <message>
+ <location line="+279"/>
+ <source>Debug log file</source>
+ <translation>除錯紀錄檔</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source>
+ <translation>從目前的資料目錄下開啓位元幣的除錯紀錄檔. 當紀錄檔很大時可能要花好幾秒的時間.</translation>
+ </message>
+ <message>
+ <location line="+102"/>
+ <source>Clear console</source>
+ <translation>清主控台</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="14"/>
- <location filename="../sendcoinsdialog.cpp" line="123"/>
- <location filename="../sendcoinsdialog.cpp" line="128"/>
- <location filename="../sendcoinsdialog.cpp" line="133"/>
- <location filename="../sendcoinsdialog.cpp" line="138"/>
- <location filename="../sendcoinsdialog.cpp" line="144"/>
- <location filename="../sendcoinsdialog.cpp" line="149"/>
- <location filename="../sendcoinsdialog.cpp" line="154"/>
+ <location filename="../rpcconsole.cpp" line="-33"/>
+ <source>Welcome to the Bitcoin RPC console.</source>
+ <translation>歡迎使用位元幣 RPC 主控台.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Use up and down arrows to navigate history, and &lt;b&gt;Ctrl-L&lt;/b&gt; to clear screen.</source>
+ <translation>請用上下游標鍵來瀏覽歷史指令, 且可用 &lt;b&gt;Ctrl-L&lt;/b&gt; 來清理畫面.</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Type &lt;b&gt;help&lt;/b&gt; for an overview of available commands.</source>
+ <translation>請打 &lt;b&gt;help&lt;/b&gt; 來看可用指令的簡介.</translation>
+ </message>
+</context>
+<context>
+ <name>SendCoinsDialog</name>
+ <message>
+ <location filename="../forms/sendcoinsdialog.ui" line="+14"/>
+ <location filename="../sendcoinsdialog.cpp" line="+124"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+5"/>
+ <location line="+6"/>
+ <location line="+5"/>
+ <location line="+5"/>
<source>Send Coins</source>
<translation>付錢</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="84"/>
+ <location line="+50"/>
+ <source>Send to multiple recipients at once</source>
+ <translation>一次付給多個人</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Add &amp;Recipient</source>
+ <translation>加收款人</translation>
+ </message>
+ <message>
+ <location line="+20"/>
<source>Remove all transaction fields</source>
<translation>移除所有交易欄位</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="87"/>
- <source>Clear all</source>
+ <location line="+3"/>
+ <source>Clear &amp;All</source>
<translation>全部清掉</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="113"/>
+ <location line="+22"/>
+ <source>Balance:</source>
+ <translation>餘額:</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>123.456 BTC</source>
<translation>123.456 BTC</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="147"/>
+ <location line="+31"/>
+ <source>Confirm the send action</source>
+ <translation>確認付款動作</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>S&amp;end</source>
<translation>付出</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="64"/>
- <source>Send to multiple recipients at once</source>
- <translation>一次付給多個人</translation>
+ <location filename="../sendcoinsdialog.cpp" line="-59"/>
+ <source>&lt;b&gt;%1&lt;/b&gt; to %2 (%3)</source>
+ <translation>&lt;b&gt;%1&lt;/b&gt; 給 %2 (%3)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsdialog.ui" line="67"/>
- <source>&amp;Add recipient...</source>
- <translation>加收款人...</translation>
+ <location line="+5"/>
+ <source>Confirm send coins</source>
+ <translation>確認付出金額</translation>
</message>
<message>
- <location filename="../sendcoinsdialog.cpp" line="124"/>
+ <location line="+1"/>
+ <source>Are you sure you want to send %1?</source>
+ <translation>確定要付出 %1 嗎?</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source> and </source>
+ <translation>和</translation>
+ </message>
+ <message>
+ <location line="+23"/>
<source>The recipient address is not valid, please recheck.</source>
<translation>無效的收款位址, 請再檢查看看.</translation>
</message>
+ <message>
+ <location line="+5"/>
+ <source>The amount to pay must be larger than 0.</source>
+ <translation>付款金額必須大於 0.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The amount exceeds your balance.</source>
+ <translation>金額超過了餘額</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>The total exceeds your balance when the %1 transaction fee is included.</source>
+ <translation>包含 %1 的交易手續費後, 總金額超過了你的餘額</translation>
+ </message>
+ <message>
+ <location line="+6"/>
+ <source>Duplicate address found, can only send to each address once per send operation.</source>
+ <translation>發現有重複的位址. 在一次付款動作中, 只能付給每個位址一次.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>錯誤: 交易產生失敗.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>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.</source>
+ <translation>錯誤: 交易被拒絕. 有時候會發生這種錯誤, 是因為你錢包中的一些錢已經被花掉了. 比如說你複製了錢包檔 wallet.dat, 然後用複製的錢包花掉了錢, 你現在所用的原來的錢包中卻沒有該筆交易紀錄.</translation>
+ </message>
</context>
<context>
<name>SendCoinsEntry</name>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="14"/>
+ <location filename="../forms/sendcoinsentry.ui" line="+14"/>
<source>Form</source>
<translation>表單</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="29"/>
+ <location line="+15"/>
<source>A&amp;mount:</source>
<translation>金額:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="42"/>
+ <location line="+13"/>
<source>Pay &amp;To:</source>
<translation>付給:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="66"/>
- <location filename="../sendcoinsentry.cpp" line="26"/>
+ <location line="+24"/>
+ <location filename="../sendcoinsentry.cpp" line="+25"/>
<source>Enter a label for this address to add it to your address book</source>
- <translation>給這個位址輸入一個標記, 並加到位址簿中</translation>
+ <translation>輸入一個標記給這個位址, 並加到位址簿中</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="75"/>
+ <location line="+9"/>
<source>&amp;Label:</source>
<translation>標記:</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="93"/>
+ <location line="+18"/>
<source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>付款的目標位址 (比如說 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="113"/>
+ <location line="+10"/>
+ <source>Choose address from address book</source>
+ <translation>從位址簿中選一個位址</translation>
+ </message>
+ <message>
+ <location line="+10"/>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="120"/>
+ <location line="+7"/>
<source>Paste address from clipboard</source>
<translation>從剪貼簿貼上位址</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="130"/>
+ <location line="+10"/>
<source>Alt+P</source>
<translation>Alt+P</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="137"/>
+ <location line="+7"/>
<source>Remove this recipient</source>
<translation>去掉這個收款人</translation>
</message>
<message>
- <location filename="../forms/sendcoinsentry.ui" line="103"/>
- <source>Choose address from address book</source>
- <translation>從位址簿中選一個位址</translation>
+ <location filename="../sendcoinsentry.cpp" line="+1"/>
+ <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>輸入位元幣位址 (比如說 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+</context>
+<context>
+ <name>SignVerifyMessageDialog</name>
+ <message>
+ <location filename="../forms/signverifymessagedialog.ui" line="+14"/>
+ <source>Signatures - Sign / Verify a Message</source>
+ <translation>簽章 - 簽署或驗證訊息</translation>
+ </message>
+ <message>
+ <location line="+13"/>
+ <location line="+124"/>
+ <source>&amp;Sign Message</source>
+ <translation>簽署訊息</translation>
+ </message>
+ <message>
+ <location line="-118"/>
+ <source>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.</source>
+ <translation>你可以用自己的位址來簽署訊息, 以證明你對它的所有權. 但是請小心, 不要簽署語意含糊不清的內容, 因為釣魚式詐騙可能會用騙你簽署的手法來冒充是你. 只有在語句中的細節你都同意時才簽署.</translation>
+ </message>
+ <message>
+ <location line="+18"/>
+ <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>用來簽署訊息的位址 (比如說 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <location line="+203"/>
+ <source>Choose an address from the address book</source>
+ <translation>從位址簿選一個位址</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <location line="+203"/>
+ <source>Alt+A</source>
+ <translation>Alt+A</translation>
+ </message>
+ <message>
+ <location line="-193"/>
+ <source>Paste address from clipboard</source>
+ <translation>從剪貼簿貼上位址</translation>
+ </message>
+ <message>
+ <location line="+10"/>
+ <source>Alt+P</source>
+ <translation>Alt+P</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Enter the message you want to sign here</source>
+ <translation>在這裡輸入你想簽署的訊息</translation>
+ </message>
+ <message>
+ <location line="+24"/>
+ <source>Copy the current signature to the system clipboard</source>
+ <translation>複製目前的簽章到系統剪貼簿</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>Sign the message to prove you own this Bitcoin address</source>
+ <translation>簽署一則訊息來證明一個位元幣位址是你的</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all sign message fields</source>
+ <translation>重置所有訊息簽署欄位</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <location line="+146"/>
+ <source>Clear &amp;All</source>
+ <translation>全部清掉</translation>
+ </message>
+ <message>
+ <location line="-87"/>
+ <location line="+70"/>
+ <source>&amp;Verify Message</source>
+ <translation>驗證訊息</translation>
</message>
<message>
- <location filename="../sendcoinsentry.cpp" line="25"/>
+ <location line="-64"/>
+ <source>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.</source>
+ <translation>請在下面輸入簽署的位址, 訊息(請確認完整複製了所包含的換行, 空格, 跳位符號等等), 與簽章, 以驗證該訊息. 請小心, 除了訊息內容外, 不要對簽章本身過度解讀, 以避免被用&quot;中間人攻擊法&quot;詐騙.</translation>
+ </message>
+ <message>
+ <location line="+21"/>
+ <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
+ <translation>簽署該訊息的位址 (比如說 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
+ </message>
+ <message>
+ <location line="+40"/>
+ <source>Verify the message to ensure it was signed with the specified Bitcoin address</source>
+ <translation>驗證一則訊息來確認它是用指定的位元幣位址簽署的</translation>
+ </message>
+ <message>
+ <location line="+17"/>
+ <source>Reset all verify message fields</source>
+ <translation>重置所有訊息驗證欄位</translation>
+ </message>
+ <message>
+ <location filename="../signverifymessagedialog.cpp" line="+27"/>
+ <location line="+3"/>
<source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source>
<translation>輸入位元幣位址 (比如說 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation>
</message>
+ <message>
+ <location line="-2"/>
+ <source>Click &quot;Sign Message&quot; to generate signature</source>
+ <translation>按&quot;簽署訊息&quot;來產生簽章</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Enter Bitcoin signature</source>
+ <translation>輸入位元幣簽章</translation>
+ </message>
+ <message>
+ <location line="+82"/>
+ <location line="+81"/>
+ <source>The entered address is invalid.</source>
+ <translation>輸入的位址無效.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+8"/>
+ <location line="+73"/>
+ <location line="+8"/>
+ <source>Please check the address and try again.</source>
+ <translation>請檢查位址是否正確後再試一次.</translation>
+ </message>
+ <message>
+ <location line="-81"/>
+ <location line="+81"/>
+ <source>The entered address does not refer to a key.</source>
+ <translation>輸入的位址沒有指到任何密鑰.</translation>
+ </message>
+ <message>
+ <location line="-73"/>
+ <source>Wallet unlock was cancelled.</source>
+ <translation>錢包解鎖已取消.</translation>
+ </message>
+ <message>
+ <location line="+8"/>
+ <source>Private key for the entered address is not available.</source>
+ <translation>沒有所輸入位址的密鑰.</translation>
+ </message>
+ <message>
+ <location line="+12"/>
+ <source>Message signing failed.</source>
+ <translation>訊息簽署失敗.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message signed.</source>
+ <translation>訊息已簽署.</translation>
+ </message>
+ <message>
+ <location line="+59"/>
+ <source>The signature could not be decoded.</source>
+ <translation>無法將這個簽章解碼.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <location line="+13"/>
+ <source>Please check the signature and try again.</source>
+ <translation>請檢查簽章是否正確後再試一次.</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>The signature did not match the message digest.</source>
+ <translation>這個簽章與訊息的數位摘要不符.</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Message verification failed.</source>
+ <translation>訊息驗證失敗.</translation>
+ </message>
+ <message>
+ <location line="+5"/>
+ <source>Message verified.</source>
+ <translation>訊息已驗證.</translation>
+ </message>
</context>
<context>
<name>TransactionDesc</name>
<message>
- <location filename="../transactiondesc.cpp" line="20"/>
- <source>Open for %1 blocks</source>
- <translation>在 %1 個區塊內未定</translation>
+ <location filename="../transactiondesc.cpp" line="+19"/>
+ <source>Open until %1</source>
+ <translation>在 %1 前未定</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-2"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>在 %n 個區塊產出時間內未定</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="28"/>
- <source>%1/offline?</source>
- <translation>%1/離線中?</translation>
+ <location line="+8"/>
+ <source>%1/offline</source>
+ <translation>%1/離線中</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="30"/>
+ <location line="+2"/>
<source>%1/unconfirmed</source>
<translation>%1/未確認</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="50"/>
- <source>&lt;b&gt;Status:&lt;/b&gt; </source>
- <translation>&lt;b&gt;狀態:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>%1 confirmations</source>
+ <translation>經確認 %1 次</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="55"/>
- <source>, has not been successfully broadcast yet</source>
- <translation>, 尚未成功公告出去</translation>
+ <location line="+18"/>
+ <source>Status</source>
+ <translation>狀態</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+7"/>
+ <source>, broadcast through %n node(s)</source>
+ <translation>
+ <numerusform>, 已公告至 %n 個節點</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="57"/>
- <source>, broadcast through %1 node</source>
- <translation>, 已公告至 %1 個節點</translation>
+ <location line="+4"/>
+ <source>Date</source>
+ <translation>日期</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="59"/>
- <source>, broadcast through %1 nodes</source>
- <translation>, 已公告至 %1 個節點</translation>
+ <location line="+7"/>
+ <source>Source</source>
+ <translation>來源</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="63"/>
- <source>&lt;b&gt;Date:&lt;/b&gt; </source>
- <translation>&lt;b&gt;日期:&lt;/b&gt; </translation>
+ <location line="+0"/>
+ <source>Generated</source>
+ <translation>生產出</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="70"/>
- <source>&lt;b&gt;Source:&lt;/b&gt; Generated&lt;br&gt;</source>
- <translation>&lt;b&gt;來源:&lt;/b&gt; 生產所得&lt;br&gt;</translation>
+ <location line="+5"/>
+ <location line="+17"/>
+ <source>From</source>
+ <translation>來處</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="75"/>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>&lt;b&gt;From:&lt;/b&gt; </source>
- <translation>&lt;b&gt;來自:&lt;/b&gt; </translation>
+ <location line="+1"/>
+ <location line="+22"/>
+ <location line="+58"/>
+ <source>To</source>
+ <translation>目的</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="93"/>
- <location filename="../transactiondesc.cpp" line="116"/>
- <location filename="../transactiondesc.cpp" line="175"/>
- <source>&lt;b&gt;To:&lt;/b&gt; </source>
- <translation>&lt;b&gt;目的:&lt;/b&gt; </translation>
+ <location line="-77"/>
+ <location line="+2"/>
+ <source>own address</source>
+ <translation>自己的位址</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="96"/>
- <source> (yours, label: </source>
- <translation> (你的, 標記為: </translation>
+ <location line="-2"/>
+ <source>label</source>
+ <translation>標籤</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="98"/>
- <source> (yours)</source>
- <translation> (你的)</translation>
+ <location line="+37"/>
+ <location line="+12"/>
+ <location line="+45"/>
+ <location line="+17"/>
+ <location line="+30"/>
+ <source>Credit</source>
+ <translation>入帳</translation>
+ </message>
+ <message numerus="yes">
+ <location line="-102"/>
+ <source>matures in %n more block(s)</source>
+ <translation>
+ <numerusform>將在 %n 個區塊產出後熟成</numerusform>
+ </translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="133"/>
- <location filename="../transactiondesc.cpp" line="147"/>
- <location filename="../transactiondesc.cpp" line="192"/>
- <location filename="../transactiondesc.cpp" line="209"/>
- <source>&lt;b&gt;Credit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;入帳:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>not accepted</source>
+ <translation>不被接受</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="135"/>
- <source>(%1 matures in %2 more blocks)</source>
- <translation>(%1 將在 %2 個區塊產出後熟成)</translation>
+ <location line="+44"/>
+ <location line="+8"/>
+ <location line="+15"/>
+ <location line="+30"/>
+ <source>Debit</source>
+ <translation>出帳</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="139"/>
- <source>(not accepted)</source>
- <translation>(不被接受)</translation>
+ <location line="-39"/>
+ <source>Transaction fee</source>
+ <translation>交易手續費</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="183"/>
- <location filename="../transactiondesc.cpp" line="191"/>
- <location filename="../transactiondesc.cpp" line="206"/>
- <source>&lt;b&gt;Debit:&lt;/b&gt; </source>
- <translation>&lt;b&gt;出帳:&lt;/b&gt; </translation>
+ <location line="+16"/>
+ <source>Net amount</source>
+ <translation>淨額</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="197"/>
- <source>&lt;b&gt;Transaction fee:&lt;/b&gt; </source>
- <translation>&lt;b&gt;交易手續費:&lt;/b&gt; </translation>
+ <location line="+6"/>
+ <source>Message</source>
+ <translation>訊息</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="213"/>
- <source>&lt;b&gt;Net amount:&lt;/b&gt; </source>
- <translation>&lt;b&gt;淨額:&lt;/b&gt; </translation>
+ <location line="+2"/>
+ <source>Comment</source>
+ <translation>附註</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="22"/>
- <source>Open until %1</source>
- <translation>在 %1 前未定</translation>
+ <location line="+2"/>
+ <source>Transaction ID</source>
+ <translation>交易識別碼</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="32"/>
- <source>%1 confirmations</source>
- <translation>經確認 %1 次</translation>
+ <location line="+3"/>
+ <source>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 &quot;not accepted&quot; and it won&apos;t be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
+ <translation>生產出來的錢要再等 120 個區塊熟成之後, 才能夠花用. 當你產出區塊時, 它會被公布到網路上, 以被串連至區塊鎖鏈. 如果串連失敗了, 它的狀態就會變成&quot;不被接受&quot;, 且不能被花用. 當你產出區塊的幾秒鐘內, 也有其他節點產出區塊的話, 有時候就會發生這種情形.</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="92"/>
- <source>unknown</source>
- <translation>未知</translation>
+ <location line="+7"/>
+ <source>Debug information</source>
+ <translation>除錯資訊</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="219"/>
- <source>Message:</source>
- <translation>訊息:</translation>
+ <location line="+8"/>
+ <source>Transaction</source>
+ <translation>交易</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="221"/>
- <source>Comment:</source>
- <translation>附註:</translation>
+ <location line="+5"/>
+ <source>Inputs</source>
+ <translation>輸入</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="223"/>
- <source>Transaction ID:</source>
- <translation>交易識別碼:</translation>
+ <location line="+23"/>
+ <source>Amount</source>
+ <translation>金額</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>true</source>
+ <translation>是</translation>
+ </message>
+ <message>
+ <location line="+0"/>
+ <source>false</source>
+ <translation>否</translation>
+ </message>
+ <message>
+ <location line="-211"/>
+ <source>, has not been successfully broadcast yet</source>
+ <translation>, 尚未成功公告出去</translation>
</message>
<message>
- <location filename="../transactiondesc.cpp" line="226"/>
- <source>Generated coins must wait 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, it will change to &quot;not accepted&quot; and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source>
- <translation>生產出來的錢要再等 120 個區塊產出之後, 才能夠花用. 當你產出區塊時, 它會被公布到網路上, 以被串連至區塊鎖鏈. 如果串連失敗了, 它的狀態就會變成&quot;不被接受&quot;, 且不能被花用. 當你產出區塊的幾秒鐘內, 其他節點也產出了區塊的話, 有時候就會發生這種情形.</translation>
+ <location line="+35"/>
+ <source>unknown</source>
+ <translation>未知</translation>
</message>
</context>
<context>
<name>TransactionDescDialog</name>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="14"/>
+ <location filename="../forms/transactiondescdialog.ui" line="+14"/>
<source>Transaction details</source>
<translation>交易明細</translation>
</message>
<message>
- <location filename="../forms/transactiondescdialog.ui" line="20"/>
+ <location line="+6"/>
<source>This pane shows a detailed description of the transaction</source>
<translation>此版面顯示交易的詳細說明</translation>
</message>
@@ -1372,812 +1794,939 @@ Address: %4
<context>
<name>TransactionTableModel</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location filename="../transactiontablemodel.cpp" line="+226"/>
<source>Date</source>
<translation>日期</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Type</source>
<translation>種類</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
+ <location line="+0"/>
<source>Address</source>
<translation>位址</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="289"/>
+ <location line="+0"/>
+ <source>Amount</source>
+ <translation>金額</translation>
+ </message>
+ <message numerus="yes">
+ <location line="+57"/>
+ <source>Open for %n block(s)</source>
+ <translation>
+ <numerusform>在 %n 個區塊內未定</numerusform>
+ </translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Open until %1</source>
+ <translation>在 %1 前未定</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Offline (%1 confirmations)</source>
+ <translation>離線中 (經確認 %1 次)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
+ <source>Unconfirmed (%1 of %2 confirmations)</source>
+ <translation>未確認 (經確認 %1 次, 應確認 %2 次)</translation>
+ </message>
+ <message>
+ <location line="+3"/>
<source>Confirmed (%1 confirmations)</source>
<translation>已確認 (經確認 %1 次)</translation>
</message>
+ <message numerus="yes">
+ <location line="+8"/>
+ <source>Mined balance will be available when it matures in %n more block(s)</source>
+ <translation>
+ <numerusform>開採金額將可在 %n 個區塊熟成後可用</numerusform>
+ </translation>
+ </message>
<message>
- <location filename="../transactiontablemodel.cpp" line="303"/>
+ <location line="+5"/>
<source>This block was not received by any other nodes and will probably not be accepted!</source>
<translation>沒有其他節點收到這個區塊, 也許它不被接受!</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="349"/>
+ <location line="+3"/>
+ <source>Generated but not accepted</source>
+ <translation>生產出但不被接受</translation>
+ </message>
+ <message>
+ <location line="+43"/>
<source>Received with</source>
<translation>收受於</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="351"/>
+ <location line="+2"/>
<source>Received from</source>
<translation>收受自</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="354"/>
+ <location line="+3"/>
<source>Sent to</source>
<translation>付出至</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="356"/>
+ <location line="+2"/>
<source>Payment to yourself</source>
<translation>付給自己</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="595"/>
+ <location line="+2"/>
+ <source>Mined</source>
+ <translation>開採所得</translation>
+ </message>
+ <message>
+ <location line="+38"/>
+ <source>(n/a)</source>
+ <translation>(不適用)</translation>
+ </message>
+ <message>
+ <location line="+199"/>
<source>Transaction status. Hover over this field to show number of confirmations.</source>
<translation>交易狀態. 移動游標至欄位上方來顯示確認次數.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="599"/>
+ <location line="+2"/>
+ <source>Date and time that the transaction was received.</source>
+ <translation>收到交易的日期與時間.</translation>
+ </message>
+ <message>
+ <location line="+2"/>
<source>Type of transaction.</source>
<translation>交易的種類.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="601"/>
+ <location line="+2"/>
<source>Destination address of transaction.</source>
<translation>交易的目標位址.</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="603"/>
+ <location line="+2"/>
<source>Amount removed from or added to balance.</source>
<translation>減去或加入至餘額的金額</translation>
</message>
+</context>
+<context>
+ <name>TransactionView</name>
<message>
- <location filename="../transactiontablemodel.cpp" line="214"/>
- <source>Amount</source>
- <translation>金額</translation>
+ <location filename="../transactionview.cpp" line="+55"/>
+ <location line="+16"/>
+ <source>All</source>
+ <translation>全部</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="277"/>
- <source>Open for %n block(s)</source>
- <translation>
- <numerusform>在 %n 個區塊內未定</numerusform>
- </translation>
+ <message>
+ <location line="-15"/>
+ <source>Today</source>
+ <translation>今天</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="280"/>
- <source>Open until %1</source>
- <translation>在 %1 前未定</translation>
+ <location line="+1"/>
+ <source>This week</source>
+ <translation>這週</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="283"/>
- <source>Offline (%1 confirmations)</source>
- <translation>離線中 (經確認 %1 次)</translation>
+ <location line="+1"/>
+ <source>This month</source>
+ <translation>這個月</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="286"/>
- <source>Unconfirmed (%1 of %2 confirmations)</source>
- <translation>未確認 (經確認 %1 次, 應確認 %2 次)</translation>
+ <location line="+1"/>
+ <source>Last month</source>
+ <translation>上個月</translation>
</message>
- <message numerus="yes">
- <location filename="../transactiontablemodel.cpp" line="297"/>
- <source>Mined balance will be available in %n more blocks</source>
- <translation>
- <numerusform>生產金額將在 %n 個區塊產出後可用</numerusform>
- </translation>
+ <message>
+ <location line="+1"/>
+ <source>This year</source>
+ <translation>今年</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="306"/>
- <source>Generated but not accepted</source>
- <translation>產出但不被接受</translation>
+ <location line="+1"/>
+ <source>Range...</source>
+ <translation>指定範圍...</translation>
+ </message>
+ <message>
+ <location line="+11"/>
+ <source>Received with</source>
+ <translation>收受於</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="358"/>
+ <location line="+2"/>
+ <source>Sent to</source>
+ <translation>付出至</translation>
+ </message>
+ <message>
+ <location line="+2"/>
+ <source>To yourself</source>
+ <translation>給自己</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Mined</source>
<translation>開採所得</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="396"/>
- <source>(n/a)</source>
- <translation>(不適用)</translation>
+ <location line="+1"/>
+ <source>Other</source>
+ <translation>其他</translation>
</message>
<message>
- <location filename="../transactiontablemodel.cpp" line="597"/>
- <source>Date and time that the transaction was received.</source>
- <translation>收到交易的日期與時間.</translation>
+ <location line="+7"/>
+ <source>Enter address or label to search</source>
+ <translation>輸入位址或標記來搜尋</translation>
+ </message>
+ <message>
+ <location line="+7"/>
+ <source>Min amount</source>
+ <translation>最小金額</translation>
+ </message>
+ <message>
+ <location line="+34"/>
+ <source>Copy address</source>
+ <translation>複製位址</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Copy label</source>
+ <translation>複製標記</translation>
</message>
-</context>
-<context>
- <name>TransactionView</name>
<message>
- <location filename="../transactionview.cpp" line="127"/>
+ <location line="+1"/>
+ <source>Copy amount</source>
+ <translation>複製金額</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Edit label</source>
<translation>編輯標記</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="270"/>
+ <location line="+1"/>
+ <source>Show transaction details</source>
+ <translation>顯示交易明細</translation>
+ </message>
+ <message>
+ <location line="+142"/>
<source>Export Transaction Data</source>
<translation>匯出交易資料</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="271"/>
+ <location line="+1"/>
<source>Comma separated file (*.csv)</source>
<translation>逗號分隔資料檔 (*.csv)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="279"/>
+ <location line="+8"/>
<source>Confirmed</source>
<translation>已確認</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="280"/>
+ <location line="+1"/>
<source>Date</source>
<translation>日期</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="284"/>
+ <location line="+1"/>
+ <source>Type</source>
+ <translation>種類</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Label</source>
+ <translation>標記</translation>
+ </message>
+ <message>
+ <location line="+1"/>
+ <source>Address</source>
+ <translation>位址</translation>
+ </message>
+ <message>
+ <location line="+1"/>
<source>Amount</source>
<translation>金額</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="285"/>
+ <location line="+1"/>
<source>ID</source>
<translation>識別碼</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
+ <location line="+4"/>
+ <source>Error exporting</source>
+ <translation>匯出錯誤</translation>
+ </message>
+ <message>
+ <location line="+0"/>
<source>Could not write to file %1.</source>
<translation>無法寫入至 %1 檔案.</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="392"/>
+ <location line="+95"/>
+ <source>Range:</source>
+ <translation>範圍:</translation>
+ </message>
+ <message>
+ <location line="+8"/>
<source>to</source>
<translation>至</translation>
</message>
+</context>
+<context>
+ <name>WalletModel</name>
<message>
- <location filename="../transactionview.cpp" line="56"/>
- <source>Today</source>
- <translation>今天</translation>
+ <location filename="../walletmodel.cpp" line="+192"/>
+ <source>Sending...</source>
+ <translation>付出中...</translation>
</message>
+</context>
+<context>
+ <name>bitcoin-core</name>
<message>
- <location filename="../transactionview.cpp" line="57"/>
- <source>This week</source>
- <translation>這週</translation>
+ <location filename="../bitcoinstrings.cpp" line="+82"/>
+ <source>Bitcoin version</source>
+ <translation>位元幣版本</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="61"/>
- <source>Range...</source>
- <translation>指定範圍...</translation>
+ <location line="+82"/>
+ <source>Usage:</source>
+ <translation>用法:</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="77"/>
- <source>Mined</source>
- <translation>開採所得</translation>
+ <location line="-25"/>
+ <source>Send command to -server or bitcoind</source>
+ <translation>送指令至 -server 或 bitcoind
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="58"/>
- <source>This month</source>
- <translation>這個月</translation>
+ <location line="-19"/>
+ <source>List commands</source>
+ <translation>列出指令
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="124"/>
- <source>Copy address</source>
- <translation>複製位址</translation>
+ <location line="-11"/>
+ <source>Get help for a command</source>
+ <translation>取得指令說明
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="125"/>
- <source>Copy label</source>
- <translation>複製標記</translation>
+ <location line="+20"/>
+ <source>Options:</source>
+ <translation>選項:
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="76"/>
- <source>To yourself</source>
- <translation>給自己</translation>
+ <location line="+23"/>
+ <source>Specify configuration file (default: bitcoin.conf)</source>
+ <translation>指定設定檔 (預設: bitcoin.conf)
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="126"/>
- <source>Copy amount</source>
- <translation>複製金額</translation>
+ <location line="+3"/>
+ <source>Specify pid file (default: bitcoind.pid)</source>
+ <translation>指定行程識別碼檔案 (預設: bitcoind.pid)
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="84"/>
- <source>Enter address or label to search</source>
- <translation>輸入位址或標記來搜尋</translation>
+ <location line="-47"/>
+ <source>Generate coins</source>
+ <translation>生產位元幣
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="90"/>
- <source>Min amount</source>
- <translation>最小金額</translation>
+ <location line="-14"/>
+ <source>Don&apos;t generate coins</source>
+ <translation>不生產位元幣
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="281"/>
- <source>Type</source>
- <translation>種類</translation>
+ <location line="+60"/>
+ <source>Specify data directory</source>
+ <translation>指定資料目錄
+</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="55"/>
- <location filename="../transactionview.cpp" line="71"/>
- <source>All</source>
- <translation>全部</translation>
+ <location line="-8"/>
+ <source>Set database cache size in megabytes (default: 25)</source>
+ <translation>設定資料庫快取大小為多少百萬位元組(MB, 預設: 25)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="59"/>
- <source>Last month</source>
- <translation>上個月</translation>
+ <location line="+1"/>
+ <source>Set database disk log size in megabytes (default: 100)</source>
+ <translation>設定資料庫的磁碟紀錄大小為多少百萬位元組(MB, 預設: 100)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="60"/>
- <source>This year</source>
- <translation>今年</translation>
+ <location line="-26"/>
+ <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
+ <translation>在通訊埠 &lt;port&gt; 聽候連線 (預設: 8333, 或若為測試網路: 18333)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="72"/>
- <source>Received with</source>
- <translation>收受於</translation>
+ <location line="+4"/>
+ <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
+ <translation>維持與節點連線數的上限為 &lt;n&gt; 個 (預設: 125)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="74"/>
- <source>Sent to</source>
- <translation>付出至</translation>
+ <location line="-33"/>
+ <source>Connect to a node to retrieve peer addresses, and disconnect</source>
+ <translation>連線到某個節點以取得其它節點的位址, 然後斷線</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="78"/>
- <source>Other</source>
- <translation>其他</translation>
+ <location line="+64"/>
+ <source>Specify your own public address</source>
+ <translation>指定自己公開的位址</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="128"/>
- <source>Show details...</source>
- <translation>顯示明細...</translation>
+ <location line="-75"/>
+ <source>Bind to given address. Use [host]:port notation for IPv6</source>
+ <translation>與指定的位址繫結. IPv6 要使用 [主機]:通訊埠 的格式</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="283"/>
- <source>Address</source>
- <translation>位址</translation>
+ <location line="+77"/>
+ <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
+ <translation>與亂搞的節點斷線的臨界值 (預設: 100)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="282"/>
- <source>Label</source>
- <translation>標記</translation>
+ <location line="-112"/>
+ <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
+ <translation>避免與亂搞的節點連線的秒數 (預設: 86400)</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="289"/>
- <source>Error exporting</source>
- <translation>匯出錯誤</translation>
+ <location line="-25"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv4: %s</source>
+ <translation>在 IPv4 網路上以通訊埠 %u 聽取 RPC 連線時發生錯誤: %s</translation>
</message>
<message>
- <location filename="../transactionview.cpp" line="384"/>
- <source>Range:</source>
- <translation>範圍:</translation>
+ <location line="+2"/>
+ <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source>
+ <translation>設定在 IPv6 網路的通訊埠 %u 上聽候 RPC 連線失敗, 退而改用 IPv4 網路: %s</translation>
</message>
-</context>
-<context>
- <name>WalletModel</name>
<message>
- <location filename="../walletmodel.cpp" line="142"/>
- <source>Sending...</source>
- <translation>付出中...</translation>
+ <location line="+6"/>
+ <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
+ <translation>卸載區塊與位址的資料庫. 會延長關閉時間 (預設: 0)</translation>
</message>
-</context>
-<context>
- <name>bitcoin-core</name>
<message>
- <location filename="../bitcoinstrings.cpp" line="126"/>
- <source>Done loading</source>
- <translation>載入完成</translation>
+ <location line="+2"/>
+ <source>Error initializing database environment %s! To recover, BACKUP THAT DIRECTORY, then remove everything from it except for wallet.dat.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="118"/>
- <source>Error loading wallet.dat: Wallet corrupted</source>
- <translation>載入檔案 wallet.dat 失敗: 錢包壞掉了</translation>
+ <location line="+3"/>
+ <source>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.</source>
+ <translation>錯誤: 交易被拒絕. 有時候會發生這種錯誤, 是因為你錢包中的一些錢已經被花掉了. 比如說你複製了錢包檔 wallet.dat, 然後用複製的錢包花掉了錢, 你現在所用的原來的錢包中卻沒有該筆交易紀錄.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="122"/>
- <source>Cannot downgrade wallet</source>
- <translation>無法將錢包格式降級</translation>
+ <location line="+4"/>
+ <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
+ <translation>錯誤: 這筆交易需要至少 %s 的手續費, 因為它的金額太大, 或複雜度太高, 或是使用了最近才剛收到的款項 </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="123"/>
- <source>Cannot initialize keypool</source>
- <translation>無法將密鑰池初始化</translation>
+ <location line="+6"/>
+ <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332 or testnet: 18332)</source>
+ <translation>在通訊埠 &lt;port&gt; 聽候 JSON-RPC 連線 (預設: 8332, 或若為測試網路: 18332)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="44"/>
- <source>List commands</source>
- <translation>列出指令
-</translation>
+ <location line="+19"/>
+ <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="45"/>
- <source>Get help for a command</source>
- <translation>取得指令說明
+ <location line="+3"/>
+ <source>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.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location line="+9"/>
+ <source>Accept command line and JSON-RPC commands</source>
+ <translation>接受命令列與 JSON-RPC 指令
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="117"/>
- <source>Loading wallet...</source>
- <translation>載入錢包中...</translation>
+ <location line="+5"/>
+ <source>Attempt to recover private keys from a corrupt wallet.dat</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="46"/>
- <source>Options:</source>
- <translation>選項:
-</translation>
+ <location line="+21"/>
+ <source>Error: Transaction creation failed.</source>
+ <translation>錯誤: 交易產生失敗.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="60"/>
- <source>Maintain at most &lt;n&gt; connections to peers (default: 125)</source>
- <translation>維持與節點連線數的上限為 &lt;n&gt; 個 (預設: 125)</translation>
+ <location line="+1"/>
+ <source>Error: Wallet locked, unable to create transaction.</source>
+ <translation>錯誤: 錢包被上鎖了, 無法產生新的交易 </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="56"/>
- <source>Specify connection timeout (in milliseconds)</source>
- <translation>指定連線逾時時間 (毫秒)
-</translation>
+ <location line="+10"/>
+ <source>Importing blockchain data file.</source>
+ <translation>匯入區塊鎖鏈資料檔.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="61"/>
- <source>Add a node to connect to and attempt to keep the connection open</source>
- <translation>加入一個要連線的節線, 並試著保持對它的連線暢通</translation>
+ <location line="+1"/>
+ <source>Importing bootstrap blockchain data file.</source>
+ <translation>匯入前導的區塊鎖鏈資料檔.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="68"/>
- <source>Number of seconds to keep misbehaving peers from reconnecting (default: 86400)</source>
- <translation>避免與亂搞的節點連線的秒數 (預設: 86400)</translation>
+ <location line="+23"/>
+ <source>Run in the background as a daemon and accept commands</source>
+ <translation>以背景程式執行並接受指令</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="53"/>
- <source>Specify data directory</source>
- <translation>指定資料目錄
+ <location line="+33"/>
+ <source>Use the test network</source>
+ <translation>使用測試網路
</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="54"/>
- <source>Set database cache size in megabytes (default: 25)</source>
- <translation>設定資料庫快取大小為多少百萬位元組(MB, 預設: 25)</translation>
+ <location line="-93"/>
+ <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source>
+ <translation>是否接受外來連線 (預設: 當沒有 -proxy 或 -connect 時預設為 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="78"/>
- <source>Accept command line and JSON-RPC commands</source>
- <translation>接受命令列與 JSON-RPC 指令
-</translation>
+ <location line="-27"/>
+ <source>Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)</source>
+ <translation>設定高優先權或低手續費的交易資料大小上限為多少位元組 (預設: 27000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="79"/>
- <source>Run in the background as a daemon and accept commands</source>
- <translation>以背景程式執行並接受指令</translation>
+ <location line="+5"/>
+ <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source>
+ <translation>警告: -paytxfee 設定了很高的金額! 這可是你交易付款所要付的手續費.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="83"/>
- <source>Send trace/debug info to console instead of debug.log file</source>
- <translation>輸出追蹤或除錯資訊至終端機, 而非 debug.log 檔案</translation>
+ <location line="+3"/>
+ <source>Warning: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.</source>
+ <translation>警告: 顯示的交易可能不正確! 你可能需要升級, 或者需要等其它的節點升級.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="82"/>
- <source>Prepend debug output with timestamp</source>
- <translation>在除錯輸出內容前附加時間</translation>
+ <location line="+3"/>
+ <source>Warning: Please check that your computer&apos;s date and time are correct! If your clock is wrong Bitcoin will not work properly.</source>
+ <translation>警告: 請檢查電腦時間與日期是否正確! 位元幣無法在時鐘不準的情況下正常運作.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="84"/>
- <source>Send trace/debug info to debugger</source>
- <translation>輸出追蹤或除錯資訊給除錯器</translation>
+ <location line="+24"/>
+ <source>Block creation options:</source>
+ <translation>區塊產生選項:</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="86"/>
- <source>Password for JSON-RPC connections</source>
- <translation>JSON-RPC 連線密碼</translation>
+ <location line="+6"/>
+ <source>Connect only to the specified node(s)</source>
+ <translation>只連線至指定節點(可多個)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="93"/>
- <source>Upgrade wallet to latest format</source>
- <translation>將錢包升級成最新的格式</translation>
+ <location line="+3"/>
+ <source>Discover own IP address (default: 1 when listening and no -externalip)</source>
+ <translation>找出自己的網際網路位址 (預設: 當有聽候連線且沒有 -externalip 時為 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="95"/>
- <source>Rescan the block chain for missing wallet transactions</source>
- <translation>重新掃描區塊鎖鏈, 以尋找錢包所遺漏的交易.</translation>
+ <location line="+11"/>
+ <source>Failed to listen on any port. Use -listen=0 if you want this.</source>
+ <translation>在任意的通訊埠聽候失敗. 如果你想的話可以用 -listen=0.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="94"/>
- <source>Set key pool size to &lt;n&gt; (default: 100)</source>
- <translation>設定密鑰池大小為 &lt;n&gt; (預設: 100)
-</translation>
+ <location line="+2"/>
+ <source>Find peers using DNS lookup (default: 1 unless -connect)</source>
+ <translation>是否允許在找節點時使用域名查詢 (預設: 當沒用 -connect 時為 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="96"/>
- <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
- <translation>啓動時檢查多少區塊 (預設: 2500, 0 表示全部)</translation>
+ <location line="+11"/>
+ <source>Invalid -tor address: &apos;%s&apos;</source>
+ <translation>無效的 -tor 位址: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="97"/>
- <source>How thorough the block verification is (0-6, default: 1)</source>
- <translation>區塊檢查的仔細程度 (0 至 6, 預設: 1)</translation>
+ <location line="+9"/>
+ <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 5000)</source>
+ <translation>每個連線的接收緩衝區大小上限為 &lt;n&gt;*1000 個位元組 (預設: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="85"/>
- <source>Username for JSON-RPC connections</source>
- <translation>JSON-RPC 連線使用者名稱</translation>
+ <location line="+1"/>
+ <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 1000)</source>
+ <translation>每個連線的傳送緩衝區大小上限為 &lt;n&gt;*1000 位元組 (預設: 1000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="87"/>
- <source>Listen for JSON-RPC connections on &lt;port&gt; (default: 8332)</source>
- <translation>在通訊埠 &lt;port&gt; 聽候 JSON-RPC 連線 (預設: 8332)</translation>
+ <location line="+1"/>
+ <source>Only connect to nodes in network &lt;net&gt; (IPv4, IPv6 or Tor)</source>
+ <translation>只和 &lt;net&gt; 網路上的節點連線 (IPv4, IPv6, 或 Tor)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="104"/>
- <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
- <translation>可以接受的加密法 (預設: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
-</translation>
+ <location line="+2"/>
+ <source>Output extra debugging information. Implies all other -debug* options</source>
+ <translation>輸出額外的除錯資訊. 包含了其它所有的 -debug* 選項</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="48"/>
- <source>Specify pid file (default: bitcoind.pid)</source>
- <translation>指定行程識別碼檔案 (預設: bitcoind.pid)
-</translation>
+ <location line="+1"/>
+ <source>Output extra network debugging information</source>
+ <translation>輸出額外的網路除錯資訊</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="101"/>
- <source>Use OpenSSL (https) for JSON-RPC connections</source>
- <translation>使用 OpenSSL (https) 於JSON-RPC 連線
-</translation>
+ <location line="+2"/>
+ <source>Prepend debug output with timestamp</source>
+ <translation>在除錯輸出內容前附加時間</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="102"/>
- <source>Server certificate file (default: server.cert)</source>
- <translation>伺服器憑證檔 (預設: server.cert)
-</translation>
+ <location line="+4"/>
+ <source>SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
+ <translation>SSL 選項: (SSL 設定程序請見 Bitcoin Wiki)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="103"/>
- <source>Server private key (default: server.pem)</source>
- <translation>伺服器密鑰檔 (預設: server.pem)
-</translation>
+ <location line="+1"/>
+ <source>Select the version of socks proxy to use (4-5, default: 5)</source>
+ <translation>選擇 SOCKS 代理伺服器的協定版本(4 或 5, 預設: 5)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="71"/>
- <source>Maximum per-connection receive buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>每個連線的接收緩衝區大小上限為 &lt;n&gt;*1000 位元組 (預設: 10000)</translation>
+ <location line="+3"/>
+ <source>Send trace/debug info to console instead of debug.log file</source>
+ <translation>輸出追蹤或除錯資訊至終端機, 而非 debug.log 檔案</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="107"/>
- <source>This help message</source>
- <translation>此協助訊息
-</translation>
+ <location line="+1"/>
+ <source>Send trace/debug info to debugger</source>
+ <translation>輸出追蹤或除錯資訊給除錯器</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="72"/>
- <source>Maximum per-connection send buffer, &lt;n&gt;*1000 bytes (default: 10000)</source>
- <translation>每個連線的傳送緩衝區大小上限為 &lt;n&gt;*1000 位元組 (預設: 10000)</translation>
+ <location line="+7"/>
+ <source>Set maximum block size in bytes (default: 250000)</source>
+ <translation>設定區塊大小上限為多少位元組 (預設: 250000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="98"/>
- <source>
-SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source>
- <translation>
-SSL 選項: (SSL 設定程序請見 Bitcoin Wiki)
-</translation>
+ <location line="+1"/>
+ <source>Set minimum block size in bytes (default: 0)</source>
+ <translation>設定區塊大小下限為多少位元組 (預設: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="13"/>
- <source>Sending...</source>
- <translation>付出中...</translation>
+ <location line="+1"/>
+ <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source>
+ <translation>客戶端軟體啓動時將 debug.log 檔縮小 (預設: 當沒有 -debug 時為 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="18"/>
- <source>Invalid amount</source>
- <translation>無效的金額</translation>
+ <location line="+2"/>
+ <source>Specify connection timeout in milliseconds (default: 5000)</source>
+ <translation>指定連線在幾毫秒後逾時 (預設: 5000)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="19"/>
- <source>Insufficient funds</source>
- <translation>累積金額不足</translation>
+ <location line="+13"/>
+ <source>Use UPnP to map the listening port (default: 0)</source>
+ <translation>是否使用通用即插即用(UPnP)協定來設定聽候連線的通訊埠 (預設: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="22"/>
- <source>%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)
-If the file does not exist, create it with owner-readable-only file permissions.
-</source>
- <translation>%s, 你必須在下列設定檔中設定 RPC 密碼(rpcpassword):
-%s
-建議你使用下列的隨機產生密碼:
-rpcuser=bitcoinrpc
-rpcpassword=%s
-(你不用記住這個密碼)
-如果這個檔案還不存在, 請在新增時, 設定檔案權限為&quot;只有主人才能讀取&quot;.
-</translation>
+ <location line="+1"/>
+ <source>Use UPnP to map the listening port (default: 1 when listening)</source>
+ <translation>是否使用通用即插即用(UPnP)協定來設定聽候連線的通訊埠 (預設: 當有聽候連線為 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="21"/>
- <source>To use the %s option</source>
- <translation>為了要使用 %s 選項</translation>
+ <location line="+1"/>
+ <source>Use proxy to reach tor hidden services (default: same as -proxy)</source>
+ <translation>透過代理伺服器來使用 Tor 隱藏服務 (預設: 同 -proxy)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="31"/>
- <source>Error</source>
- <translation>錯誤</translation>
+ <location line="+2"/>
+ <source>Username for JSON-RPC connections</source>
+ <translation>JSON-RPC 連線使用者名稱</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="33"/>
- <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
-%s
-If the file does not exist, create it with owner-readable-only file permissions.</source>
- <translation>你必須在下列設定檔中設定 RPC 密碼(rpcpassword=&lt;password&gt;):
-%s
-如果這個檔案還不存在, 請在新增時, 設定檔案權限為&quot;只有主人才能讀取&quot;.</translation>
+ <location line="+1"/>
+ <source>Verifying database integrity...</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="41"/>
- <source>Bitcoin version</source>
- <translation>位元幣版本</translation>
+ <location line="+2"/>
+ <source>Warning: Disk space is low!</source>
+ <translation>警告: 磁碟空間很少!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="20"/>
- <source>Warning: Disk space is low</source>
- <translation>警告: 磁碟空間很少</translation>
+ <location line="+1"/>
+ <source>Warning: This version is obsolete, upgrade required!</source>
+ <translation>警告: 這個版本已經被淘汰掉了, 必須要升級!</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="47"/>
- <source>Specify configuration file (default: bitcoin.conf)</source>
- <translation>指定設定檔 (預設: bitcoin.conf)
-</translation>
+ <location line="+1"/>
+ <source>wallet.dat corrupt, salvage failed</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="67"/>
- <source>Threshold for disconnecting misbehaving peers (default: 100)</source>
- <translation>與亂搞的節點斷線的臨界值 (預設: 100)</translation>
+ <location line="-43"/>
+ <source>Password for JSON-RPC connections</source>
+ <translation>JSON-RPC 連線密碼</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="42"/>
- <source>Usage:</source>
- <translation>用法:</translation>
+ <location line="-53"/>
+ <source>Allow JSON-RPC connections from specified IP address</source>
+ <translation>只允許從指定網路位址來的 JSON-RPC 連線</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="120"/>
- <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
- <translation>錢包需要重寫: 請重啟位元幣來完成</translation>
+ <location line="+61"/>
+ <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
+ <translation>送指令給在 &lt;ip&gt; 的節點 (預設: 127.0.0.1)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="121"/>
- <source>Error loading wallet.dat</source>
- <translation>載入檔案 wallet.dat 失敗</translation>
+ <location line="-99"/>
+ <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
+ <translation>當最新區塊改變時所要執行的指令 (指令中的 %s 會被取代為區塊的雜湊值)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="124"/>
- <source>Cannot write default address</source>
- <translation>無法寫入預設位址</translation>
+ <location line="+122"/>
+ <source>Upgrade wallet to latest format</source>
+ <translation>將錢包升級成最新的格式</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="125"/>
- <source>Rescanning...</source>
- <translation>重新掃描中...</translation>
+ <location line="-15"/>
+ <source>Set key pool size to &lt;n&gt; (default: 100)</source>
+ <translation>設定密鑰池大小為 &lt;n&gt; (預設: 100)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="132"/>
- <source>Error: CreateThread(StartNode) failed</source>
- <translation>錯誤: CreateThread(StartNode) 失敗</translation>
+ <location line="-14"/>
+ <source>Rescan the block chain for missing wallet transactions</source>
+ <translation>重新掃描區塊鎖鏈, 以尋找錢包所遺漏的交易.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="133"/>
- <source>Unable to bind to port %d on this computer. Bitcoin is probably already running.</source>
- <translation>無法與這台電腦上的通訊埠 %d 連結. 也許 Bitcoin 已經在執行了.</translation>
+ <location line="-24"/>
+ <source>How many blocks to check at startup (default: 2500, 0 = all)</source>
+ <translation>啓動時檢查多少區塊 (預設: 2500, 0 表示全部)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="55"/>
- <source>Set database disk log size in megabytes (default: 100)</source>
- <translation>設定資料庫的磁碟紀錄大小為多少百萬位元組(MB, 預設: 100)</translation>
+ <location line="+1"/>
+ <source>How thorough the block verification is (0-6, default: 1)</source>
+ <translation>區塊檢查的仔細程度 (0 至 6, 預設: 1)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="109"/>
- <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
- <translation>無法鎖定資料目錄 %s. 也許位元幣已經在執行了.</translation>
+ <location line="+3"/>
+ <source>Imports blocks from external blk000?.dat file</source>
+ <translation>從外來的區塊檔 blk000?.dat 匯入區塊</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="115"/>
- <source>Loading block index...</source>
- <translation>載入區塊索引中...</translation>
+ <location line="+51"/>
+ <source>Use OpenSSL (https) for JSON-RPC connections</source>
+ <translation>於 JSON-RPC 連線使用 OpenSSL (https)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="75"/>
- <source>Detach block and address databases. Increases shutdown time (default: 0)</source>
- <translation>卸載區塊與位址的資料庫. 會延長關閉時間 (預設: 0)</translation>
+ <location line="-21"/>
+ <source>Server certificate file (default: server.cert)</source>
+ <translation>伺服器憑證檔 (預設: server.cert)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="127"/>
- <source>Invalid -proxy address</source>
- <translation>無效的 -proxy 位址</translation>
+ <location line="+1"/>
+ <source>Server private key (default: server.pem)</source>
+ <translation>伺服器密鑰檔 (預設: server.pem)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="128"/>
- <source>Invalid amount for -paytxfee=&lt;amount&gt;</source>
- <translation>-paytxfee=&lt;金額&gt; 中的金額無效</translation>
+ <location line="-127"/>
+ <source>Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)</source>
+ <translation>可以接受的加密法 (預設: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="116"/>
- <source>Error loading blkindex.dat</source>
- <translation>載入 blkindex.dat 失敗</translation>
+ <location line="+139"/>
+ <source>This help message</source>
+ <translation>此協助訊息
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="38"/>
- <source>Warning: Please check that your computer&apos;s date and time are correct. If your clock is wrong Bitcoin will not work properly.</source>
- <translation>警告: 請檢查電腦時間日期是否正確. 位元幣無法在時鐘不準的情況下正常運作.</translation>
+ <location line="-131"/>
+ <source>Cannot obtain a lock on data directory %s. Bitcoin is probably already running.</source>
+ <translation>無法鎖定資料目錄 %s. 也許位元幣已經在執行了.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="112"/>
+ <location line="+57"/>
<source>Bitcoin</source>
<translation>位元幣</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="119"/>
- <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
- <translation>載入檔案 wallet.dat 失敗: 此錢包需要新版的 Bitcoin</translation>
+ <location line="+77"/>
+ <source>Unable to bind to %s on this computer (bind returned error %d, %s)</source>
+ <translation>無法和這台電腦上的 %s 繫結 (繫結回傳錯誤 %d, %s)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="32"/>
- <source>An error occurred while setting up the RPC port %u for listening: %s</source>
- <translation>設定聽候 RPC 連線的通訊埠 %u 時發生錯誤: %s</translation>
+ <location line="-69"/>
+ <source>Connect through socks proxy</source>
+ <translation>透過 SOCKS 代理伺服器連線</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="43"/>
- <source>Send command to -server or bitcoind</source>
- <translation>送指令至 -server 或 bitcoind
-</translation>
+ <location line="-13"/>
+ <source>Allow DNS lookups for -addnode, -seednode and -connect</source>
+ <translation>允許對 -addnode, -seednode, -connect 的參數使用域名查詢 </translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="49"/>
- <source>Generate coins</source>
- <translation>生產位元幣
-</translation>
+ <location line="+44"/>
+ <source>Loading addresses...</source>
+ <translation>載入位址中...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="50"/>
- <source>Don&apos;t generate coins</source>
- <translation>不生產位元幣
-</translation>
+ <location line="-26"/>
+ <source>Error loading blkindex.dat</source>
+ <translation>載入 blkindex.dat 失敗</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="51"/>
- <source>Start minimized</source>
- <translation>啓動時最小化
-</translation>
+ <location line="+2"/>
+ <source>Error loading wallet.dat: Wallet corrupted</source>
+ <translation>載入檔案 wallet.dat 失敗: 錢包壞掉了</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="52"/>
- <source>Show splash screen on startup (default: 1)</source>
- <translation>顯示啓動畫面 (預設: 1)</translation>
+ <location line="+1"/>
+ <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin</source>
+ <translation>載入檔案 wallet.dat 失敗: 此錢包需要新版的 Bitcoin</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="57"/>
- <source>Connect through socks4 proxy</source>
- <translation>透過 socks4 代理伺服器連線
-</translation>
+ <location line="+73"/>
+ <source>Wallet needed to be rewritten: restart Bitcoin to complete</source>
+ <translation>錢包需要重寫: 請重啟位元幣來完成</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="58"/>
- <source>Allow DNS lookups for addnode and connect</source>
- <translation>允許 addnode 和 connect 時做域名解析
-</translation>
+ <location line="-75"/>
+ <source>Error loading wallet.dat</source>
+ <translation>載入檔案 wallet.dat 失敗</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="59"/>
- <source>Listen for connections on &lt;port&gt; (default: 8333 or testnet: 18333)</source>
- <translation>在通訊埠 &lt;port&gt; 聽候連線 (預設: 8333, 或若為測試網路: 18333)</translation>
+ <location line="+19"/>
+ <source>Invalid -proxy address: &apos;%s&apos;</source>
+ <translation>無效的 -proxy 位址: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="62"/>
- <source>Connect only to the specified node</source>
- <translation>只連線至指定節點
-</translation>
+ <location line="+46"/>
+ <source>Unknown network specified in -onlynet: &apos;%s&apos;</source>
+ <translation>在 -onlynet 指定了不明的網路別: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="63"/>
- <source>Find peers using internet relay chat (default: 0)</source>
- <translation>是否使用網際網路中繼聊天(IRC)來找節點 (預設: 0)</translation>
+ <location line="-1"/>
+ <source>Unknown -socks proxy version requested: %i</source>
+ <translation>在 -socks 指定了不明的代理協定版本: %i</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="64"/>
- <source>Accept connections from outside (default: 1)</source>
- <translation type="unfinished">是否接受外來連線 (預設: 1)</translation>
+ <location line="-74"/>
+ <source>Cannot resolve -bind address: &apos;%s&apos;</source>
+ <translation>無法解析 -bind 位址: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="65"/>
- <source>Set language, for example &quot;de_DE&quot; (default: system locale)</source>
- <translation>設定語言, 比如說 &quot;de_DE&quot; (預設: 系統語系)</translation>
+ <location line="+1"/>
+ <source>Cannot resolve -externalip address: &apos;%s&apos;</source>
+ <translation>無法解析 -externalip 位址: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="66"/>
- <source>Find peers using DNS lookup (default: 1)</source>
- <translation>是否允許在找節點時使用域名查詢 (預設: 1)</translation>
+ <location line="+30"/>
+ <source>Invalid amount for -paytxfee=&lt;amount&gt;: &apos;%s&apos;</source>
+ <translation>設定 -paytxfee=&lt;金額&gt; 的金額無效: &apos;%s&apos;</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="90"/>
- <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source>
- <translation>當最新區塊改變時所要執行的指令 (指令中的 %s 會被取代為區塊的雜湊值)</translation>
+ <location line="-15"/>
+ <source>Error: could not start node</source>
+ <translation>錯誤: 無法啓動節點</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="73"/>
- <source>Use Universal Plug and Play to map the listening port (default: 1)</source>
- <translation type="unfinished">是否使用通用即插即用(UPnP)協定來設定聽候連線的通訊埠 (預設: 1)</translation>
+ <location line="+40"/>
+ <source>Sending...</source>
+ <translation>付出中...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="8"/>
- <source>Error: Wallet locked, unable to create transaction.</source>
- <translation>錯誤: 錢包被上鎖了, 無法產生新的交易 </translation>
+ <location line="-24"/>
+ <source>Invalid amount</source>
+ <translation>無效的金額</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="9"/>
- <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds.</source>
- <translation>錯誤: 這筆交易需要至少 %s 的手續費, 因為它的金額太大, 或複雜度太高, 或是使用了最近才剛收到的款項 </translation>
+ <location line="-4"/>
+ <source>Insufficient funds</source>
+ <translation>累積金額不足</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="12"/>
- <source>Error: Transaction creation failed.</source>
- <translation>錯誤: 交易產生失敗.</translation>
+ <location line="+8"/>
+ <source>Loading block index...</source>
+ <translation>載入區塊索引中...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="14"/>
- <source>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.</source>
- <translation>錯誤: 交易被拒絕. 有時候會發生這種錯誤, 是因為你錢包中的一些錢已經被花掉了. 比如說你複製了錢包檔 wallet.dat, 然後用複製的錢包花掉了錢, 你現在所用的原來的錢包中卻沒有該筆交易紀錄.</translation>
+ <location line="-46"/>
+ <source>Add a node to connect to and attempt to keep the connection open</source>
+ <translation>加入一個要連線的節線, 並試著保持對它的連線暢通</translation>
+ </message>
+ <message>
+ <location line="-25"/>
+ <source>Unable to bind to %s on this computer. Bitcoin is probably already running.</source>
+ <translation>無法和這台電腦上的 %s 繫結. 也許位元幣已經在執行了.</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="74"/>
- <source>Use Universal Plug and Play to map the listening port (default: 0)</source>
- <translation type="unfinished">是否使用通用即插即用(UPnP)協定來設定聽候連線的通訊埠 (預設: 0)</translation>
+ <location line="+55"/>
+ <source>Find peers using internet relay chat (default: 0)</source>
+ <translation>是否使用網際網路中繼聊天(IRC)來找節點 (預設: 0)</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="77"/>
+ <location line="-2"/>
<source>Fee per KB to add to transactions you send</source>
<translation>交易付款時每 KB 的交易手續費</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="80"/>
- <source>Use the test network</source>
- <translation>使用測試網路
-</translation>
+ <location line="+19"/>
+ <source>Loading wallet...</source>
+ <translation>載入錢包中...</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="81"/>
- <source>Output extra debugging information</source>
- <translation>輸出額外的除錯資訊</translation>
+ <location line="-39"/>
+ <source>Cannot downgrade wallet</source>
+ <translation>無法將錢包格式降級</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="88"/>
- <source>Allow JSON-RPC connections from specified IP address</source>
- <translation>只允許從指定網路位址來的 JSON-RPC 連線</translation>
+ <location line="+1"/>
+ <source>Cannot initialize keypool</source>
+ <translation>無法將密鑰池初始化</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="89"/>
- <source>Send commands to node running on &lt;ip&gt; (default: 127.0.0.1)</source>
- <translation>送指令給在 &lt;ip&gt; 的節點 (預設: 127.0.0.1)
-</translation>
+ <location line="+3"/>
+ <source>Cannot write default address</source>
+ <translation>無法寫入預設位址</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="113"/>
- <source>Loading addresses...</source>
- <translation>載入位址中...</translation>
+ <location line="+46"/>
+ <source>Rescanning...</source>
+ <translation>重新掃描中...</translation>
+ </message>
+ <message>
+ <location line="-40"/>
+ <source>Done loading</source>
+ <translation>載入完成</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="108"/>
- <source>Usage</source>
- <translation>用法</translation>
+ <location line="+64"/>
+ <source>To use the %s option</source>
+ <translation>為了要使用 %s 選項</translation>
+ </message>
+ <message>
+ <location line="-150"/>
+ <source>%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)
+If the file does not exist, create it with owner-readable-only file permissions.
+</source>
+ <translation>%s, 你必須在下列設定檔中設定 RPC 密碼(rpcpassword):
+%s
+建議你使用下列的隨機產生密碼:
+rpcuser=bitcoinrpc
+rpcpassword=%s
+(你不用記住這個密碼)
+如果這個檔案還不存在, 請在新增時, 設定檔案權限為&quot;只有主人才能讀取&quot;.
+</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="114"/>
- <source>Error loading addr.dat</source>
- <translation>載入 addr.dat 失敗</translation>
+ <location line="+91"/>
+ <source>Error</source>
+ <translation>錯誤</translation>
</message>
<message>
- <location filename="../bitcoinstrings.cpp" line="129"/>
- <source>Warning: -paytxfee is set very high. This is the transaction fee you will pay if you send a transaction.</source>
- <translation>警告: -paytxfee 設定得很高. 這是當你交易付款時所要支付的手續費.</translation>
+ <location line="-30"/>
+ <source>You must set rpcpassword=&lt;password&gt; in the configuration file:
+%s
+If the file does not exist, create it with owner-readable-only file permissions.</source>
+ <translation>你必須在下列設定檔中設定 RPC 密碼(rpcpassword=&lt;password&gt;):
+%s
+如果這個檔案還不存在, 請在新增時, 設定檔案權限為&quot;只有主人才能讀取&quot;.</translation>
</message>
</context>
</TS>
diff --git a/src/qt/macdockiconhandler.h b/src/qt/macdockiconhandler.h
index d39c780233..dd85e0c33d 100644
--- a/src/qt/macdockiconhandler.h
+++ b/src/qt/macdockiconhandler.h
@@ -6,7 +6,12 @@
class QMenu;
class QIcon;
class QWidget;
-class objc_object;
+
+#ifdef __OBJC__
+@class DockIconClickEventHandler;
+#else
+class DockIconClickEventHandler;
+#endif
/** Macintosh-specific dock icon handler.
*/
@@ -31,7 +36,7 @@ public slots:
private:
MacDockIconHandler();
- objc_object *m_dockIconClickEventHandler;
+ DockIconClickEventHandler *m_dockIconClickEventHandler;
QWidget *m_dummyWidget;
QMenu *m_dockMenu;
};
diff --git a/src/qt/macdockiconhandler.mm b/src/qt/macdockiconhandler.mm
index df56e6949d..75684403eb 100644
--- a/src/qt/macdockiconhandler.mm
+++ b/src/qt/macdockiconhandler.mm
@@ -1,8 +1,8 @@
#include "macdockiconhandler.h"
-#include <QtGui/QMenu>
-#include <QtGui/QWidget>
+#include <QMenu>
+#include <QWidget>
extern void qt_mac_set_dock_menu(QMenu*);
diff --git a/src/qt/messagepage.cpp b/src/qt/messagepage.cpp
deleted file mode 100644
index 18bb64fe6c..0000000000
--- a/src/qt/messagepage.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-#include <string>
-#include <vector>
-
-#include <QClipboard>
-#include <QInputDialog>
-#include <QList>
-#include <QListWidgetItem>
-#include <QMessageBox>
-
-#include "main.h"
-#include "wallet.h"
-#include "init.h"
-#include "util.h"
-
-#include "messagepage.h"
-#include "ui_messagepage.h"
-
-#include "addressbookpage.h"
-#include "guiutil.h"
-#include "walletmodel.h"
-
-MessagePage::MessagePage(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::MessagePage)
-{
- ui->setupUi(this);
-
- GUIUtil::setupAddressWidget(ui->signFrom, this);
-}
-
-MessagePage::~MessagePage()
-{
- delete ui;
-}
-
-void MessagePage::setModel(WalletModel *model)
-{
- this->model = model;
-}
-
-void MessagePage::setAddress(QString addr)
-{
- ui->signFrom->setText(addr);
- ui->message->setFocus();
-}
-
-void MessagePage::on_pasteButton_clicked()
-{
- setAddress(QApplication::clipboard()->text());
-}
-
-void MessagePage::on_addressBookButton_clicked()
-{
- AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this);
- dlg.setModel(model->getAddressTableModel());
- if(dlg.exec())
- {
- setAddress(dlg.getReturnValue());
- }
-}
-
-void MessagePage::on_copyToClipboard_clicked()
-{
- QApplication::clipboard()->setText(ui->signature->text());
-}
-
-void MessagePage::on_signMessage_clicked()
-{
- QString address = ui->signFrom->text();
-
- CBitcoinAddress addr(address.toStdString());
- if (!addr.IsValid())
- {
- QMessageBox::critical(this, tr("Error signing"), tr("%1 is not a valid address.").arg(address),
- QMessageBox::Abort, QMessageBox::Abort);
- return;
- }
-
- WalletModel::UnlockContext ctx(model->requestUnlock());
- if(!ctx.isValid())
- {
- // Unlock wallet was cancelled
- return;
- }
-
- CKey key;
- if (!pwalletMain->GetKey(addr, key))
- {
- QMessageBox::critical(this, tr("Error signing"), tr("Private key for %1 is not available.").arg(address),
- QMessageBox::Abort, QMessageBox::Abort);
- return;
- }
-
- CDataStream ss(SER_GETHASH, 0);
- ss << strMessageMagic;
- ss << ui->message->document()->toPlainText().toStdString();
-
- std::vector<unsigned char> vchSig;
- if (!key.SignCompact(Hash(ss.begin(), ss.end()), vchSig))
- {
- QMessageBox::critical(this, tr("Error signing"), tr("Sign failed"),
- QMessageBox::Abort, QMessageBox::Abort);
- }
-
- ui->signature->setText(QString::fromStdString(EncodeBase64(&vchSig[0], vchSig.size())));
- ui->signature->setFont(GUIUtil::bitcoinAddressFont());
-}
diff --git a/src/qt/messagepage.h b/src/qt/messagepage.h
deleted file mode 100644
index 55e6228124..0000000000
--- a/src/qt/messagepage.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef MESSAGEPAGE_H
-#define MESSAGEPAGE_H
-
-#include <QDialog>
-
-namespace Ui {
- class MessagePage;
-}
-class WalletModel;
-
-QT_BEGIN_NAMESPACE
-QT_END_NAMESPACE
-
-class MessagePage : public QDialog
-{
- Q_OBJECT
-
-public:
- explicit MessagePage(QWidget *parent = 0);
- ~MessagePage();
-
- void setModel(WalletModel *model);
-
- void setAddress(QString);
-
-private:
- Ui::MessagePage *ui;
- WalletModel *model;
-
-private slots:
- void on_pasteButton_clicked();
- void on_addressBookButton_clicked();
-
- void on_signMessage_clicked();
- void on_copyToClipboard_clicked();
-};
-
-#endif // MESSAGEPAGE_H
diff --git a/src/qt/notificator.cpp b/src/qt/notificator.cpp
index c1c177dbfe..8028190b82 100644
--- a/src/qt/notificator.cpp
+++ b/src/qt/notificator.cpp
@@ -16,7 +16,7 @@
#include <stdint.h>
#endif
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
#include <ApplicationServices/ApplicationServices.h>
extern bool qt_mac_execute_apple_script(const QString &script, AEDesc *ret);
#endif
@@ -46,7 +46,7 @@ Notificator::Notificator(const QString &programName, QSystemTrayIcon *trayicon,
mode = Freedesktop;
}
#endif
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
// Check if Growl is installed (based on Qt's tray icon implementation)
CFURLRef cfurl;
OSStatus status = LSGetApplicationForInfo(kLSUnknownType, kLSUnknownCreator, CFSTR("growlTicket"), kLSRolesAll, 0, &cfurl);
@@ -225,7 +225,7 @@ void Notificator::notifySystray(Class cls, const QString &title, const QString &
}
// Based on Qt's tray icon implementation
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
void Notificator::notifyGrowl(Class cls, const QString &title, const QString &text, const QIcon &icon)
{
const QString script(
@@ -285,7 +285,7 @@ void Notificator::notify(Class cls, const QString &title, const QString &text, c
case QSystemTray:
notifySystray(cls, title, text, icon, millisTimeout);
break;
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
case Growl12:
case Growl13:
notifyGrowl(cls, title, text, icon);
diff --git a/src/qt/notificator.h b/src/qt/notificator.h
index 8abc0b2ec2..abb47109b3 100644
--- a/src/qt/notificator.h
+++ b/src/qt/notificator.h
@@ -61,7 +61,7 @@ private:
void notifyDBus(Class cls, const QString &title, const QString &text, const QIcon &icon, int millisTimeout);
#endif
void notifySystray(Class cls, const QString &title, const QString &text, const QIcon &icon, int millisTimeout);
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
void notifyGrowl(Class cls, const QString &title, const QString &text, const QIcon &icon);
#endif
};
diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp
index 8a25a16e24..3fb30a9518 100644
--- a/src/qt/optionsdialog.cpp
+++ b/src/qt/optionsdialog.cpp
@@ -1,297 +1,256 @@
#include "optionsdialog.h"
-#include "optionsmodel.h"
-#include "bitcoinamountfield.h"
-#include "monitoreddatamapper.h"
-#include "guiutil.h"
-#include "bitcoinunits.h"
-#include "qvaluecombobox.h"
+#include "ui_optionsdialog.h"
-#include <QHBoxLayout>
-#include <QVBoxLayout>
-#include <QPushButton>
-#include <QListWidget>
-#include <QStackedWidget>
+#include "bitcoinunits.h"
+#include "monitoreddatamapper.h"
+#include "netbase.h"
+#include "optionsmodel.h"
-#include <QCheckBox>
-#include <QLabel>
-#include <QLineEdit>
+#include <QDir>
#include <QIntValidator>
-#include <QDoubleValidator>
+#include <QLocale>
+#include <QMessageBox>
+#include <QRegExp>
#include <QRegExpValidator>
-#include <QDialogButtonBox>
-
-/* First page of options */
-class MainOptionsPage : public QWidget
-{
- Q_OBJECT
-public:
- explicit MainOptionsPage(QWidget *parent=0);
-
- void setMapper(MonitoredDataMapper *mapper);
-private:
- QCheckBox *bitcoin_at_startup;
-#ifndef Q_WS_MAC
- QCheckBox *minimize_to_tray;
-#endif
- QCheckBox *map_port_upnp;
-#ifndef Q_WS_MAC
- QCheckBox *minimize_on_close;
-#endif
- QCheckBox *connect_socks4;
- QCheckBox *detach_database;
- QLineEdit *proxy_ip;
- QLineEdit *proxy_port;
- BitcoinAmountField *fee_edit;
-
-signals:
-
-public slots:
-
-};
-
-class DisplayOptionsPage : public QWidget
-{
- Q_OBJECT
-public:
- explicit DisplayOptionsPage(QWidget *parent=0);
- void setMapper(MonitoredDataMapper *mapper);
-private:
- QValueComboBox *unit;
- QCheckBox *display_addresses;
-signals:
-
-public slots:
-
-};
-
-#include "optionsdialog.moc"
-
-OptionsDialog::OptionsDialog(QWidget *parent):
- QDialog(parent), contents_widget(0), pages_widget(0),
- model(0), main_page(0), display_page(0)
+OptionsDialog::OptionsDialog(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::OptionsDialog),
+ model(0),
+ mapper(0),
+ fRestartWarningDisplayed_Proxy(false),
+ fRestartWarningDisplayed_Lang(false),
+ fProxyIpValid(true)
{
- contents_widget = new QListWidget();
- contents_widget->setMaximumWidth(128);
+ ui->setupUi(this);
- pages_widget = new QStackedWidget();
- pages_widget->setMinimumWidth(300);
+ /* Network elements init */
+#ifndef USE_UPNP
+ ui->mapPortUpnp->setEnabled(false);
+#endif
- QListWidgetItem *item_main = new QListWidgetItem(tr("Main"));
- contents_widget->addItem(item_main);
- main_page = new MainOptionsPage(this);
- pages_widget->addWidget(main_page);
+ ui->proxyIp->setEnabled(false);
+ ui->proxyPort->setEnabled(false);
+ ui->proxyPort->setValidator(new QIntValidator(1, 65535, this));
- QListWidgetItem *item_display = new QListWidgetItem(tr("Display"));
- contents_widget->addItem(item_display);
- display_page = new DisplayOptionsPage(this);
- pages_widget->addWidget(display_page);
+ ui->socksVersion->setEnabled(false);
+ ui->socksVersion->addItem("5", 5);
+ ui->socksVersion->addItem("4", 4);
+ ui->socksVersion->setCurrentIndex(0);
- contents_widget->setCurrentRow(0);
+ connect(ui->connectSocks, SIGNAL(toggled(bool)), ui->proxyIp, SLOT(setEnabled(bool)));
+ connect(ui->connectSocks, SIGNAL(toggled(bool)), ui->proxyPort, SLOT(setEnabled(bool)));
+ connect(ui->connectSocks, SIGNAL(toggled(bool)), ui->socksVersion, SLOT(setEnabled(bool)));
+ connect(ui->connectSocks, SIGNAL(clicked(bool)), this, SLOT(showRestartWarning_Proxy()));
- QHBoxLayout *main_layout = new QHBoxLayout();
- main_layout->addWidget(contents_widget);
- main_layout->addWidget(pages_widget, 1);
+ ui->proxyIp->installEventFilter(this);
- QVBoxLayout *layout = new QVBoxLayout();
- layout->addLayout(main_layout);
+ /* Window elements init */
+#ifdef Q_OS_MAC
+ ui->tabWindow->setVisible(false);
+#endif
- QDialogButtonBox *buttonbox = new QDialogButtonBox();
- buttonbox->setStandardButtons(QDialogButtonBox::Apply|QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
- apply_button = buttonbox->button(QDialogButtonBox::Apply);
- layout->addWidget(buttonbox);
+ /* Display elements init */
+ QDir translations(":translations");
+ ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
+ foreach(const QString &langStr, translations.entryList())
+ {
+ QLocale locale(langStr);
+
+ /** check if the locale name consists of 2 parts (language_country) */
+ if(langStr.contains("_"))
+ {
+#if QT_VERSION >= 0x040800
+ /** display language strings as "native language - native country (locale name)", e.g. "Deutsch - Deutschland (de)" */
+ ui->lang->addItem(locale.nativeLanguageName() + QString(" - ") + locale.nativeCountryName() + QString(" (") + langStr + QString(")"), QVariant(langStr));
+#else
+ /** display language strings as "language - country (locale name)", e.g. "German - Germany (de)" */
+ ui->lang->addItem(QLocale::languageToString(locale.language()) + QString(" - ") + QLocale::countryToString(locale.country()) + QString(" (") + langStr + QString(")"), QVariant(langStr));
+#endif
+ }
+ else
+ {
+#if QT_VERSION >= 0x040800
+ /** display language strings as "native language (locale name)", e.g. "Deutsch (de)" */
+ ui->lang->addItem(locale.nativeLanguageName() + QString(" (") + langStr + QString(")"), QVariant(langStr));
+#else
+ /** display language strings as "language (locale name)", e.g. "German (de)" */
+ ui->lang->addItem(QLocale::languageToString(locale.language()) + QString(" (") + langStr + QString(")"), QVariant(langStr));
+#endif
+ }
+ }
- setLayout(layout);
- setWindowTitle(tr("Options"));
+ ui->unit->setModel(new BitcoinUnits(this));
/* Widget-to-option mapper */
mapper = new MonitoredDataMapper(this);
mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
mapper->setOrientation(Qt::Vertical);
+
/* enable apply button when data modified */
- connect(mapper, SIGNAL(viewModified()), this, SLOT(enableApply()));
+ connect(mapper, SIGNAL(viewModified()), this, SLOT(enableApplyButton()));
/* disable apply button when new data loaded */
- connect(mapper, SIGNAL(currentIndexChanged(int)), this, SLOT(disableApply()));
+ connect(mapper, SIGNAL(currentIndexChanged(int)), this, SLOT(disableApplyButton()));
+ /* setup/change UI elements when proxy IP is invalid/valid */
+ connect(this, SIGNAL(proxyIpValid(QValidatedLineEdit *, bool)), this, SLOT(handleProxyIpValid(QValidatedLineEdit *, bool)));
+}
- /* Event bindings */
- connect(contents_widget, SIGNAL(currentRowChanged(int)), this, SLOT(changePage(int)));
- connect(buttonbox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), this, SLOT(okClicked()));
- connect(buttonbox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(cancelClicked()));
- connect(buttonbox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(applyClicked()));
+OptionsDialog::~OptionsDialog()
+{
+ delete ui;
}
void OptionsDialog::setModel(OptionsModel *model)
{
this->model = model;
- mapper->setModel(model);
- main_page->setMapper(mapper);
- display_page->setMapper(mapper);
+ if(model)
+ {
+ connect(model, SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
+
+ mapper->setModel(model);
+ setMapper();
+ mapper->toFirst();
+ }
+
+ /* update the display unit, to not use the default ("BTC") */
+ updateDisplayUnit();
+
+ /* warn only when language selection changes by user action (placed here so init via mapper doesn't trigger this) */
+ connect(ui->lang, SIGNAL(valueChanged()), this, SLOT(showRestartWarning_Lang()));
- mapper->toFirst();
+ /* disable apply button after settings are loaded as there is nothing to save */
+ disableApplyButton();
}
-void OptionsDialog::changePage(int index)
+void OptionsDialog::setMapper()
{
- pages_widget->setCurrentIndex(index);
+ /* Main */
+ mapper->addMapping(ui->transactionFee, OptionsModel::Fee);
+ mapper->addMapping(ui->bitcoinAtStartup, OptionsModel::StartAtStartup);
+ mapper->addMapping(ui->detachDatabases, OptionsModel::DetachDatabases);
+
+ /* Network */
+ mapper->addMapping(ui->mapPortUpnp, OptionsModel::MapPortUPnP);
+
+ mapper->addMapping(ui->connectSocks, OptionsModel::ProxyUse);
+ mapper->addMapping(ui->proxyIp, OptionsModel::ProxyIP);
+ mapper->addMapping(ui->proxyPort, OptionsModel::ProxyPort);
+ mapper->addMapping(ui->socksVersion, OptionsModel::ProxySocksVersion);
+
+ /* Window */
+#ifndef Q_OS_MAC
+ mapper->addMapping(ui->minimizeToTray, OptionsModel::MinimizeToTray);
+ mapper->addMapping(ui->minimizeOnClose, OptionsModel::MinimizeOnClose);
+#endif
+
+ /* Display */
+ mapper->addMapping(ui->lang, OptionsModel::Language);
+ mapper->addMapping(ui->unit, OptionsModel::DisplayUnit);
+ mapper->addMapping(ui->displayAddresses, OptionsModel::DisplayAddresses);
}
-void OptionsDialog::okClicked()
+void OptionsDialog::enableApplyButton()
{
- mapper->submit();
- accept();
+ ui->applyButton->setEnabled(true);
}
-void OptionsDialog::cancelClicked()
+void OptionsDialog::disableApplyButton()
{
- reject();
+ ui->applyButton->setEnabled(false);
}
-void OptionsDialog::applyClicked()
+void OptionsDialog::enableSaveButtons()
{
- mapper->submit();
- apply_button->setEnabled(false);
+ /* prevent enabling of the save buttons when data modified, if there is an invalid proxy address present */
+ if(fProxyIpValid)
+ setSaveButtonState(true);
}
-void OptionsDialog::enableApply()
+void OptionsDialog::disableSaveButtons()
{
- apply_button->setEnabled(true);
+ setSaveButtonState(false);
}
-void OptionsDialog::disableApply()
+void OptionsDialog::setSaveButtonState(bool fState)
{
- apply_button->setEnabled(false);
+ ui->applyButton->setEnabled(fState);
+ ui->okButton->setEnabled(fState);
}
-MainOptionsPage::MainOptionsPage(QWidget *parent):
- QWidget(parent)
+void OptionsDialog::on_okButton_clicked()
{
- QVBoxLayout *layout = new QVBoxLayout();
-
- bitcoin_at_startup = new QCheckBox(tr("&Start Bitcoin on window system startup"));
- bitcoin_at_startup->setToolTip(tr("Automatically start Bitcoin after the computer is turned on"));
- layout->addWidget(bitcoin_at_startup);
-
-#ifndef Q_WS_MAC
- minimize_to_tray = new QCheckBox(tr("&Minimize to the tray instead of the taskbar"));
- minimize_to_tray->setToolTip(tr("Show only a tray icon after minimizing the window"));
- layout->addWidget(minimize_to_tray);
-
- minimize_on_close = new QCheckBox(tr("M&inimize on close"));
- minimize_on_close->setToolTip(tr("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."));
- layout->addWidget(minimize_on_close);
-#endif
-
- map_port_upnp = new QCheckBox(tr("Map port using &UPnP"));
- map_port_upnp->setToolTip(tr("Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled."));
- layout->addWidget(map_port_upnp);
-
- connect_socks4 = new QCheckBox(tr("&Connect through SOCKS4 proxy:"));
- connect_socks4->setToolTip(tr("Connect to the Bitcoin network through a SOCKS4 proxy (e.g. when connecting through Tor)"));
- layout->addWidget(connect_socks4);
-
- QHBoxLayout *proxy_hbox = new QHBoxLayout();
- proxy_hbox->addSpacing(18);
- QLabel *proxy_ip_label = new QLabel(tr("Proxy &IP: "));
- proxy_hbox->addWidget(proxy_ip_label);
- proxy_ip = new QLineEdit();
- proxy_ip->setMaximumWidth(140);
- proxy_ip->setEnabled(false);
- proxy_ip->setValidator(new QRegExpValidator(QRegExp("[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"), this));
- proxy_ip->setToolTip(tr("IP address of the proxy (e.g. 127.0.0.1)"));
- proxy_ip_label->setBuddy(proxy_ip);
- proxy_hbox->addWidget(proxy_ip);
- QLabel *proxy_port_label = new QLabel(tr("&Port: "));
- proxy_hbox->addWidget(proxy_port_label);
- proxy_port = new QLineEdit();
- proxy_port->setMaximumWidth(55);
- proxy_port->setValidator(new QIntValidator(0, 65535, this));
- proxy_port->setEnabled(false);
- proxy_port->setToolTip(tr("Port of the proxy (e.g. 1234)"));
- proxy_port_label->setBuddy(proxy_port);
- proxy_hbox->addWidget(proxy_port);
- proxy_hbox->addStretch(1);
-
- layout->addLayout(proxy_hbox);
- QLabel *fee_help = new QLabel(tr("Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB. Fee 0.01 recommended."));
- fee_help->setWordWrap(true);
- layout->addWidget(fee_help);
-
- QHBoxLayout *fee_hbox = new QHBoxLayout();
- fee_hbox->addSpacing(18);
- QLabel *fee_label = new QLabel(tr("Pay transaction &fee"));
- fee_hbox->addWidget(fee_label);
- fee_edit = new BitcoinAmountField();
-
- fee_label->setBuddy(fee_edit);
- fee_hbox->addWidget(fee_edit);
- fee_hbox->addStretch(1);
-
- layout->addLayout(fee_hbox);
-
- detach_database = new QCheckBox(tr("Detach databases at shutdown"));
- detach_database->setToolTip(tr("Detach block and address databases at shutdown. This means they can be moved to another data directory, but it slows down shutdown. The wallet is always detached."));
- layout->addWidget(detach_database);
-
- layout->addStretch(1); // Extra space at bottom
-
- setLayout(layout);
-
- connect(connect_socks4, SIGNAL(toggled(bool)), proxy_ip, SLOT(setEnabled(bool)));
- connect(connect_socks4, SIGNAL(toggled(bool)), proxy_port, SLOT(setEnabled(bool)));
-
-#ifndef USE_UPNP
- map_port_upnp->setDisabled(true);
-#endif
+ mapper->submit();
+ accept();
}
-void MainOptionsPage::setMapper(MonitoredDataMapper *mapper)
+void OptionsDialog::on_cancelButton_clicked()
{
- // Map model to widgets
- mapper->addMapping(bitcoin_at_startup, OptionsModel::StartAtStartup);
-#ifndef Q_WS_MAC
- mapper->addMapping(minimize_to_tray, OptionsModel::MinimizeToTray);
-#endif
- mapper->addMapping(map_port_upnp, OptionsModel::MapPortUPnP);
-#ifndef Q_WS_MAC
- mapper->addMapping(minimize_on_close, OptionsModel::MinimizeOnClose);
-#endif
- mapper->addMapping(connect_socks4, OptionsModel::ConnectSOCKS4);
- mapper->addMapping(proxy_ip, OptionsModel::ProxyIP);
- mapper->addMapping(proxy_port, OptionsModel::ProxyPort);
- mapper->addMapping(fee_edit, OptionsModel::Fee);
- mapper->addMapping(detach_database, OptionsModel::DetachDatabases);
+ reject();
}
-DisplayOptionsPage::DisplayOptionsPage(QWidget *parent):
- QWidget(parent)
+void OptionsDialog::on_applyButton_clicked()
{
- QVBoxLayout *layout = new QVBoxLayout();
-
- QHBoxLayout *unit_hbox = new QHBoxLayout();
- unit_hbox->addSpacing(18);
- QLabel *unit_label = new QLabel(tr("&Unit to show amounts in: "));
- unit_hbox->addWidget(unit_label);
- unit = new QValueComboBox(this);
- unit->setModel(new BitcoinUnits(this));
- unit->setToolTip(tr("Choose the default subdivision unit to show in the interface, and when sending coins"));
-
- unit_label->setBuddy(unit);
- unit_hbox->addWidget(unit);
+ mapper->submit();
+ disableApplyButton();
+}
- layout->addLayout(unit_hbox);
+void OptionsDialog::showRestartWarning_Proxy()
+{
+ if(!fRestartWarningDisplayed_Proxy)
+ {
+ QMessageBox::warning(this, tr("Warning"), tr("This setting will take effect after restarting Bitcoin."), QMessageBox::Ok);
+ fRestartWarningDisplayed_Proxy = true;
+ }
+}
- display_addresses = new QCheckBox(tr("&Display addresses in transaction list"), this);
- display_addresses->setToolTip(tr("Whether to show Bitcoin addresses in the transaction list"));
- layout->addWidget(display_addresses);
+void OptionsDialog::showRestartWarning_Lang()
+{
+ if(!fRestartWarningDisplayed_Lang)
+ {
+ QMessageBox::warning(this, tr("Warning"), tr("This setting will take effect after restarting Bitcoin."), QMessageBox::Ok);
+ fRestartWarningDisplayed_Lang = true;
+ }
+}
- layout->addStretch();
+void OptionsDialog::updateDisplayUnit()
+{
+ if(model)
+ {
+ /* Update transactionFee with the current unit */
+ ui->transactionFee->setDisplayUnit(model->getDisplayUnit());
+ }
+}
- setLayout(layout);
+void OptionsDialog::handleProxyIpValid(QValidatedLineEdit *object, bool fState)
+{
+ // this is used in a check before re-enabling the save buttons
+ fProxyIpValid = fState;
+
+ if(fProxyIpValid)
+ {
+ enableSaveButtons();
+ ui->statusLabel->clear();
+ }
+ else
+ {
+ disableSaveButtons();
+ object->setValid(fProxyIpValid);
+ ui->statusLabel->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel->setText(tr("The supplied proxy address is invalid."));
+ }
}
-void DisplayOptionsPage::setMapper(MonitoredDataMapper *mapper)
+bool OptionsDialog::eventFilter(QObject *object, QEvent *event)
{
- mapper->addMapping(unit, OptionsModel::DisplayUnit);
- mapper->addMapping(display_addresses, OptionsModel::DisplayAddresses);
+ if(event->type() == QEvent::FocusOut)
+ {
+ if(object == ui->proxyIp)
+ {
+ CService addr;
+ /* Check proxyIp for a valid IPv4/IPv6 address and emit the proxyIpValid signal */
+ emit proxyIpValid(ui->proxyIp, LookupNumeric(ui->proxyIp->text().toStdString().c_str(), addr));
+ }
+ }
+ return QDialog::eventFilter(object, event);
}
diff --git a/src/qt/optionsdialog.h b/src/qt/optionsdialog.h
index 9e1f87c646..18469f509d 100644
--- a/src/qt/optionsdialog.h
+++ b/src/qt/optionsdialog.h
@@ -3,51 +3,58 @@
#include <QDialog>
-QT_BEGIN_NAMESPACE
-class QStackedWidget;
-class QListWidget;
-class QListWidgetItem;
-class QPushButton;
-QT_END_NAMESPACE
+namespace Ui {
+class OptionsDialog;
+}
class OptionsModel;
-class MainOptionsPage;
-class DisplayOptionsPage;
class MonitoredDataMapper;
+class QValidatedLineEdit;
/** Preferences dialog. */
class OptionsDialog : public QDialog
{
Q_OBJECT
+
public:
- explicit OptionsDialog(QWidget *parent=0);
+ explicit OptionsDialog(QWidget *parent = 0);
+ ~OptionsDialog();
void setModel(OptionsModel *model);
+ void setMapper();
-signals:
-
-public slots:
- /** Change the current page to \a index. */
- void changePage(int index);
+protected:
+ bool eventFilter(QObject *object, QEvent *event);
private slots:
- void okClicked();
- void cancelClicked();
- void applyClicked();
- void enableApply();
- void disableApply();
+ /* enable only apply button */
+ void enableApplyButton();
+ /* disable only apply button */
+ void disableApplyButton();
+ /* enable apply button and OK button */
+ void enableSaveButtons();
+ /* disable apply button and OK button */
+ void disableSaveButtons();
+ /* set apply button and OK button state (enabled / disabled) */
+ void setSaveButtonState(bool fState);
+ void on_okButton_clicked();
+ void on_cancelButton_clicked();
+ void on_applyButton_clicked();
+
+ void showRestartWarning_Proxy();
+ void showRestartWarning_Lang();
+ void updateDisplayUnit();
+ void handleProxyIpValid(QValidatedLineEdit *object, bool fState);
+
+signals:
+ void proxyIpValid(QValidatedLineEdit *object, bool fValid);
private:
- QListWidget *contents_widget;
- QStackedWidget *pages_widget;
+ Ui::OptionsDialog *ui;
OptionsModel *model;
MonitoredDataMapper *mapper;
- QPushButton *apply_button;
-
- // Pages
- MainOptionsPage *main_page;
- DisplayOptionsPage *display_page;
-
- void setupMainPage();
+ bool fRestartWarningDisplayed_Proxy;
+ bool fRestartWarningDisplayed_Lang;
+ bool fProxyIpValid;
};
#endif // OPTIONSDIALOG_H
diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp
index 9297e2b15a..756fe61ecd 100644
--- a/src/qt/optionsmodel.cpp
+++ b/src/qt/optionsmodel.cpp
@@ -4,6 +4,7 @@
#include "init.h"
#include "walletdb.h"
+#include "guiutil.h"
OptionsModel::OptionsModel(QObject *parent) :
QAbstractListModel(parent)
@@ -11,6 +12,30 @@ OptionsModel::OptionsModel(QObject *parent) :
Init();
}
+bool static ApplyProxySettings()
+{
+ QSettings settings;
+ CService addrProxy(settings.value("addrProxy", "127.0.0.1:9050").toString().toStdString());
+ int nSocksVersion(settings.value("nSocksVersion", 5).toInt());
+ if (!settings.value("fUseProxy", false).toBool()) {
+ addrProxy = CService();
+ nSocksVersion = 0;
+ return false;
+ }
+ if (nSocksVersion && !addrProxy.IsValid())
+ return false;
+ if (!IsLimited(NET_IPV4))
+ SetProxy(NET_IPV4, addrProxy, nSocksVersion);
+ if (nSocksVersion > 4) {
+#ifdef USE_IPV6
+ if (!IsLimited(NET_IPV6))
+ SetProxy(NET_IPV6, addrProxy, nSocksVersion);
+#endif
+ SetNameProxy(addrProxy, nSocksVersion);
+ }
+ return true;
+}
+
void OptionsModel::Init()
{
QSettings settings;
@@ -21,15 +46,20 @@ void OptionsModel::Init()
fMinimizeToTray = settings.value("fMinimizeToTray", false).toBool();
fMinimizeOnClose = settings.value("fMinimizeOnClose", false).toBool();
nTransactionFee = settings.value("nTransactionFee").toLongLong();
+ language = settings.value("language", "").toString();
- // These are shared with core bitcoin; we want
+ // These are shared with core Bitcoin; we want
// command-line options to override the GUI settings:
if (settings.contains("fUseUPnP"))
SoftSetBoolArg("-upnp", settings.value("fUseUPnP").toBool());
if (settings.contains("addrProxy") && settings.value("fUseProxy").toBool())
SoftSetArg("-proxy", settings.value("addrProxy").toString().toStdString());
+ if (settings.contains("nSocksVersion") && settings.value("fUseProxy").toBool())
+ SoftSetArg("-socks", settings.value("nSocksVersion").toString().toStdString());
if (settings.contains("detachDB"))
SoftSetBoolArg("-detachdb", settings.value("detachDB").toBool());
+ if (!language.isEmpty())
+ SoftSetArg("-lang", language.toStdString());
}
bool OptionsModel::Upgrade()
@@ -71,20 +101,21 @@ bool OptionsModel::Upgrade()
CAddress addrProxyAddress;
if (walletdb.ReadSetting("addrProxy", addrProxyAddress))
{
- addrProxy = addrProxyAddress;
- settings.setValue("addrProxy", addrProxy.ToStringIPPort().c_str());
+ settings.setValue("addrProxy", addrProxyAddress.ToStringIPPort().c_str());
walletdb.EraseSetting("addrProxy");
}
}
catch (std::ios_base::failure &e)
{
// 0.6.0rc1 saved this as a CService, which causes failure when parsing as a CAddress
+ CService addrProxy;
if (walletdb.ReadSetting("addrProxy", addrProxy))
{
settings.setValue("addrProxy", addrProxy.ToStringIPPort().c_str());
walletdb.EraseSetting("addrProxy");
}
}
+ ApplyProxySettings();
Init();
return true;
@@ -104,19 +135,31 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
switch(index.row())
{
case StartAtStartup:
- return QVariant(GetStartOnSystemStartup());
+ return QVariant(GUIUtil::GetStartOnSystemStartup());
case MinimizeToTray:
return QVariant(fMinimizeToTray);
case MapPortUPnP:
return settings.value("fUseUPnP", GetBoolArg("-upnp", true));
case MinimizeOnClose:
return QVariant(fMinimizeOnClose);
- case ConnectSOCKS4:
+ case ProxyUse:
return settings.value("fUseProxy", false);
- case ProxyIP:
- return QVariant(QString::fromStdString(addrProxy.ToStringIP()));
- case ProxyPort:
- return QVariant(addrProxy.GetPort());
+ case ProxyIP: {
+ proxyType proxy;
+ if (GetProxy(NET_IPV4, proxy))
+ return QVariant(QString::fromStdString(proxy.first.ToStringIP()));
+ else
+ return QVariant(QString::fromStdString("127.0.0.1"));
+ }
+ case ProxyPort: {
+ proxyType proxy;
+ if (GetProxy(NET_IPV4, proxy))
+ return QVariant(proxy.first.GetPort());
+ else
+ return QVariant(9050);
+ }
+ case ProxySocksVersion:
+ return settings.value("nSocksVersion", 5);
case Fee:
return QVariant(nTransactionFee);
case DisplayUnit:
@@ -124,7 +167,9 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
case DisplayAddresses:
return QVariant(bDisplayAddresses);
case DetachDatabases:
- return QVariant(fDetachDB);
+ return QVariant(bitdb.GetDetach());
+ case Language:
+ return settings.value("language", "");
default:
return QVariant();
}
@@ -141,78 +186,78 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
switch(index.row())
{
case StartAtStartup:
- successful = SetStartOnSystemStartup(value.toBool());
+ successful = GUIUtil::SetStartOnSystemStartup(value.toBool());
break;
case MinimizeToTray:
fMinimizeToTray = value.toBool();
settings.setValue("fMinimizeToTray", fMinimizeToTray);
break;
case MapPortUPnP:
- {
- bool bUseUPnP = value.toBool();
- settings.setValue("fUseUPnP", bUseUPnP);
- MapPort(bUseUPnP);
- }
+ fUseUPnP = value.toBool();
+ settings.setValue("fUseUPnP", fUseUPnP);
+ MapPort();
break;
case MinimizeOnClose:
fMinimizeOnClose = value.toBool();
settings.setValue("fMinimizeOnClose", fMinimizeOnClose);
break;
- case ConnectSOCKS4:
- fUseProxy = value.toBool();
- settings.setValue("fUseProxy", fUseProxy);
- break;
- case ProxyIP:
- {
- // Use CAddress to parse and check IP
- CNetAddr addr(value.toString().toStdString());
- if (addr.IsValid())
- {
- addrProxy.SetIP(addr);
- settings.setValue("addrProxy", addrProxy.ToStringIPPort().c_str());
- }
- else
- {
- successful = false;
- }
- }
- break;
- case ProxyPort:
- {
- int nPort = atoi(value.toString().toAscii().data());
- if (nPort > 0 && nPort < std::numeric_limits<unsigned short>::max())
- {
- addrProxy.SetPort(nPort);
- settings.setValue("addrProxy", addrProxy.ToStringIPPort().c_str());
- }
- else
- {
- successful = false;
- }
- }
+ case ProxyUse:
+ settings.setValue("fUseProxy", value.toBool());
+ ApplyProxySettings();
break;
- case Fee: {
+ case ProxyIP: {
+ proxyType proxy;
+ proxy.first = CService("127.0.0.1", 9050);
+ GetProxy(NET_IPV4, proxy);
+
+ CNetAddr addr(value.toString().toStdString());
+ proxy.first.SetIP(addr);
+ settings.setValue("addrProxy", proxy.first.ToStringIPPort().c_str());
+ successful = ApplyProxySettings();
+ }
+ break;
+ case ProxyPort: {
+ proxyType proxy;
+ proxy.first = CService("127.0.0.1", 9050);
+ GetProxy(NET_IPV4, proxy);
+
+ proxy.first.SetPort(value.toInt());
+ settings.setValue("addrProxy", proxy.first.ToStringIPPort().c_str());
+ successful = ApplyProxySettings();
+ }
+ break;
+ case ProxySocksVersion: {
+ proxyType proxy;
+ proxy.second = 5;
+ GetProxy(NET_IPV4, proxy);
+
+ proxy.second = value.toInt();
+ settings.setValue("nSocksVersion", proxy.second);
+ successful = ApplyProxySettings();
+ }
+ break;
+ case Fee:
nTransactionFee = value.toLongLong();
settings.setValue("nTransactionFee", nTransactionFee);
- }
break;
- case DisplayUnit: {
- int unit = value.toInt();
- nDisplayUnit = unit;
+ case DisplayUnit:
+ nDisplayUnit = value.toInt();
settings.setValue("nDisplayUnit", nDisplayUnit);
- emit displayUnitChanged(unit);
- }
+ emit displayUnitChanged(nDisplayUnit);
break;
- case DisplayAddresses: {
+ case DisplayAddresses:
bDisplayAddresses = value.toBool();
settings.setValue("bDisplayAddresses", bDisplayAddresses);
- }
break;
case DetachDatabases: {
- fDetachDB = value.toBool();
+ bool fDetachDB = value.toBool();
+ bitdb.SetDetach(fDetachDB);
settings.setValue("detachDB", fDetachDB);
}
break;
+ case Language:
+ settings.setValue("language", value);
+ break;
default:
break;
}
diff --git a/src/qt/optionsmodel.h b/src/qt/optionsmodel.h
index e5b3b31aa5..34724ad032 100644
--- a/src/qt/optionsmodel.h
+++ b/src/qt/optionsmodel.h
@@ -3,8 +3,8 @@
#include <QAbstractListModel>
-/** Interface from QT to configuration data structure for bitcoin client.
- To QT, the options are presented as a list with the different options
+/** Interface from Qt to configuration data structure for Bitcoin client.
+ To Qt, the options are presented as a list with the different options
laid out vertically.
This can be changed to a tree once the settings become sufficiently
complex.
@@ -12,21 +12,24 @@
class OptionsModel : public QAbstractListModel
{
Q_OBJECT
+
public:
explicit OptionsModel(QObject *parent = 0);
enum OptionID {
- StartAtStartup, // bool
- MinimizeToTray, // bool
- MapPortUPnP, // bool
- MinimizeOnClose, // bool
- ConnectSOCKS4, // bool
- ProxyIP, // QString
- ProxyPort, // int
- Fee, // qint64
- DisplayUnit, // BitcoinUnits::Unit
- DisplayAddresses, // bool
- DetachDatabases, // bool
+ StartAtStartup, // bool
+ MinimizeToTray, // bool
+ MapPortUPnP, // bool
+ MinimizeOnClose, // bool
+ ProxyUse, // bool
+ ProxyIP, // QString
+ ProxyPort, // int
+ ProxySocksVersion, // int
+ Fee, // qint64
+ DisplayUnit, // BitcoinUnits::Unit
+ DisplayAddresses, // bool
+ DetachDatabases, // bool
+ Language, // QString
OptionIDRowCount,
};
@@ -45,16 +48,17 @@ public:
bool getMinimizeOnClose();
int getDisplayUnit();
bool getDisplayAddresses();
+ QString getLanguage() { return language; }
+
private:
int nDisplayUnit;
bool bDisplayAddresses;
bool fMinimizeToTray;
bool fMinimizeOnClose;
+ QString language;
+
signals:
void displayUnitChanged(int unit);
-
-public slots:
-
};
#endif // OPTIONSMODEL_H
diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp
index 2c3d8a49e3..07be9c520a 100644
--- a/src/qt/overviewpage.cpp
+++ b/src/qt/overviewpage.cpp
@@ -94,31 +94,32 @@ OverviewPage::OverviewPage(QWidget *parent) :
ui(new Ui::OverviewPage),
currentBalance(-1),
currentUnconfirmedBalance(-1),
- txdelegate(new TxViewDelegate())
+ currentImmatureBalance(-1),
+ txdelegate(new TxViewDelegate()),
+ filter(0)
{
ui->setupUi(this);
- // Balance: <balance>
- ui->labelBalance->setFont(QFont("Monospace", -1, QFont::Bold));
- ui->labelBalance->setToolTip(tr("Your current balance"));
- ui->labelBalance->setTextInteractionFlags(Qt::TextSelectableByMouse|Qt::TextSelectableByKeyboard);
-
- // Unconfirmed balance: <balance>
- ui->labelUnconfirmed->setFont(QFont("Monospace", -1, QFont::Bold));
- ui->labelUnconfirmed->setToolTip(tr("Total of transactions that have yet to be confirmed, and do not yet count toward the current balance"));
- ui->labelUnconfirmed->setTextInteractionFlags(Qt::TextSelectableByMouse|Qt::TextSelectableByKeyboard);
-
- ui->labelNumTransactions->setToolTip(tr("Total number of transactions in wallet"));
-
// Recent transactions
- ui->listTransactions->setStyleSheet("QListView { background:transparent }");
ui->listTransactions->setItemDelegate(txdelegate);
ui->listTransactions->setIconSize(QSize(DECORATION_SIZE, DECORATION_SIZE));
- ui->listTransactions->setSelectionMode(QAbstractItemView::NoSelection);
ui->listTransactions->setMinimumHeight(NUM_ITEMS * (DECORATION_SIZE + 2));
ui->listTransactions->setAttribute(Qt::WA_MacShowFocusRect, false);
- connect(ui->listTransactions, SIGNAL(clicked(QModelIndex)), this, SIGNAL(transactionClicked(QModelIndex)));
+ connect(ui->listTransactions, SIGNAL(clicked(QModelIndex)), this, SLOT(handleTransactionClicked(QModelIndex)));
+
+ // init "out of sync" warning labels
+ ui->labelWalletStatus->setText("(" + tr("out of sync") + ")");
+ ui->labelTransactionsStatus->setText("(" + tr("out of sync") + ")");
+
+ // start with displaying the "out of sync" warnings
+ showOutOfSyncWarning(true);
+}
+
+void OverviewPage::handleTransactionClicked(const QModelIndex &index)
+{
+ if(filter)
+ emit transactionClicked(filter->mapToSource(index));
}
OverviewPage::~OverviewPage()
@@ -126,13 +127,21 @@ OverviewPage::~OverviewPage()
delete ui;
}
-void OverviewPage::setBalance(qint64 balance, qint64 unconfirmedBalance)
+void OverviewPage::setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance)
{
int unit = model->getOptionsModel()->getDisplayUnit();
currentBalance = balance;
currentUnconfirmedBalance = unconfirmedBalance;
+ currentImmatureBalance = immatureBalance;
ui->labelBalance->setText(BitcoinUnits::formatWithUnit(unit, balance));
ui->labelUnconfirmed->setText(BitcoinUnits::formatWithUnit(unit, unconfirmedBalance));
+ ui->labelImmature->setText(BitcoinUnits::formatWithUnit(unit, immatureBalance));
+
+ // only show immature (newly mined) balance if it's non-zero, so as not to complicate things
+ // for the non-mining users
+ bool showImmature = immatureBalance != 0;
+ ui->labelImmature->setVisible(showImmature);
+ ui->labelImmatureText->setVisible(showImmature);
}
void OverviewPage::setNumTransactions(int count)
@@ -146,7 +155,7 @@ void OverviewPage::setModel(WalletModel *model)
if(model && model->getOptionsModel())
{
// Set up transaction list
- TransactionFilterProxy *filter = new TransactionFilterProxy();
+ filter = new TransactionFilterProxy();
filter->setSourceModel(model->getTransactionTableModel());
filter->setLimit(NUM_ITEMS);
filter->setDynamicSortFilter(true);
@@ -157,8 +166,8 @@ void OverviewPage::setModel(WalletModel *model)
ui->listTransactions->setModelColumn(TransactionTableModel::ToAddress);
// Keep up to date with wallet
- setBalance(model->getBalance(), model->getUnconfirmedBalance());
- connect(model, SIGNAL(balanceChanged(qint64, qint64)), this, SLOT(setBalance(qint64, qint64)));
+ 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)));
@@ -175,7 +184,7 @@ void OverviewPage::updateDisplayUnit()
if(model && model->getOptionsModel())
{
if(currentBalance != -1)
- setBalance(currentBalance, currentUnconfirmedBalance);
+ setBalance(currentBalance, currentUnconfirmedBalance, currentImmatureBalance);
// Update txdelegate->unit with the current unit
txdelegate->unit = model->getOptionsModel()->getDisplayUnit();
@@ -183,3 +192,9 @@ void OverviewPage::updateDisplayUnit()
ui->listTransactions->update();
}
}
+
+void OverviewPage::showOutOfSyncWarning(bool fShow)
+{
+ ui->labelWalletStatus->setVisible(fShow);
+ ui->labelTransactionsStatus->setVisible(fShow);
+}
diff --git a/src/qt/overviewpage.h b/src/qt/overviewpage.h
index 99fe486494..00048cc8f8 100644
--- a/src/qt/overviewpage.h
+++ b/src/qt/overviewpage.h
@@ -12,6 +12,7 @@ namespace Ui {
}
class WalletModel;
class TxViewDelegate;
+class TransactionFilterProxy;
/** Overview ("home") page widget */
class OverviewPage : public QWidget
@@ -23,9 +24,10 @@ public:
~OverviewPage();
void setModel(WalletModel *model);
+ void showOutOfSyncWarning(bool fShow);
public slots:
- void setBalance(qint64 balance, qint64 unconfirmedBalance);
+ void setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance);
void setNumTransactions(int count);
signals:
@@ -36,11 +38,14 @@ private:
WalletModel *model;
qint64 currentBalance;
qint64 currentUnconfirmedBalance;
+ qint64 currentImmatureBalance;
TxViewDelegate *txdelegate;
+ TransactionFilterProxy *filter;
private slots:
void updateDisplayUnit();
+ void handleTransactionClicked(const QModelIndex &index);
};
#endif // OVERVIEWPAGE_H
diff --git a/src/qt/qrcodedialog.cpp b/src/qt/qrcodedialog.cpp
index 2a428fb79e..ca94975128 100644
--- a/src/qt/qrcodedialog.cpp
+++ b/src/qt/qrcodedialog.cpp
@@ -1,29 +1,34 @@
#include "qrcodedialog.h"
#include "ui_qrcodedialog.h"
+
+#include "bitcoinunits.h"
+#include "guiconstants.h"
#include "guiutil.h"
+#include "optionsmodel.h"
#include <QPixmap>
#include <QUrl>
-#include <QDebug>
#include <qrencode.h>
-#define EXPORT_IMAGE_SIZE 256
-
QRCodeDialog::QRCodeDialog(const QString &addr, const QString &label, bool enableReq, QWidget *parent) :
- QDialog(parent), ui(new Ui::QRCodeDialog), address(addr)
+ QDialog(parent),
+ ui(new Ui::QRCodeDialog),
+ model(0),
+ address(addr)
{
ui->setupUi(this);
+
setWindowTitle(QString("%1").arg(address));
- setAttribute(Qt::WA_DeleteOnClose);
ui->chkReqPayment->setVisible(enableReq);
- ui->lnReqAmount->setVisible(enableReq);
ui->lblAmount->setVisible(enableReq);
- ui->lblBTC->setVisible(enableReq);
+ ui->lnReqAmount->setVisible(enableReq);
ui->lnLabel->setText(label);
+ ui->btnSaveAs->setEnabled(false);
+
genCode();
}
@@ -32,6 +37,17 @@ QRCodeDialog::~QRCodeDialog()
delete ui;
}
+void QRCodeDialog::setModel(OptionsModel *model)
+{
+ this->model = model;
+
+ if (model)
+ connect(model, SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
+
+ // update the display unit, to not use the default ("BTC")
+ updateDisplayUnit();
+}
+
void QRCodeDialog::genCode()
{
QString uri = getURI();
@@ -58,26 +74,34 @@ void QRCodeDialog::genCode()
}
}
QRcode_free(code);
+
ui->lblQRCode->setPixmap(QPixmap::fromImage(myImage).scaled(300, 300));
+
+ ui->outUri->setPlainText(uri);
}
- else
- ui->lblQRCode->setText(tr("Resulting URI too long, try to reduce the text for label / message."));
}
QString QRCodeDialog::getURI()
{
QString ret = QString("bitcoin:%1").arg(address);
-
int paramCount = 0;
- if (ui->chkReqPayment->isChecked() && !ui->lnReqAmount->text().isEmpty())
+
+ ui->outUri->clear();
+
+ if (ui->chkReqPayment->isChecked())
{
- bool ok = false;
- ui->lnReqAmount->text().toDouble(&ok);
- if (ok)
+ if (ui->lnReqAmount->validate())
{
- ret += QString("?amount=%1").arg(ui->lnReqAmount->text());
+ // even if we allow a non BTC unit input in lnReqAmount, we generate the URI with BTC as unit (as defined in BIP21)
+ ret += QString("?amount=%1").arg(BitcoinUnits::format(BitcoinUnits::BTC, ui->lnReqAmount->value()));
paramCount++;
}
+ else
+ {
+ ui->btnSaveAs->setEnabled(false);
+ ui->lblQRCode->setText(tr("The entered amount is invalid, please check."));
+ return QString("");
+ }
}
if (!ui->lnLabel->text().isEmpty())
@@ -94,36 +118,54 @@ QString QRCodeDialog::getURI()
paramCount++;
}
- // limit URI length to 255 chars, to prevent a DoS against the QR-Code dialog
- if (ret.length() < 256)
- return ret;
- else
+ // limit URI length to prevent a DoS against the QR-Code dialog
+ if (ret.length() > MAX_URI_LENGTH)
+ {
+ ui->btnSaveAs->setEnabled(false);
+ ui->lblQRCode->setText(tr("Resulting URI too long, try to reduce the text for label / message."));
return QString("");
+ }
+
+ ui->btnSaveAs->setEnabled(true);
+ return ret;
}
-void QRCodeDialog::on_lnReqAmount_textChanged(const QString &arg1)
+void QRCodeDialog::on_lnReqAmount_textChanged()
{
genCode();
}
-void QRCodeDialog::on_lnLabel_textChanged(const QString &arg1)
+void QRCodeDialog::on_lnLabel_textChanged()
{
genCode();
}
-void QRCodeDialog::on_lnMessage_textChanged(const QString &arg1)
+void QRCodeDialog::on_lnMessage_textChanged()
{
genCode();
}
void QRCodeDialog::on_btnSaveAs_clicked()
{
- QString fn = GUIUtil::getSaveFileName(this, tr("Save Image..."), QString(), tr("PNG Images (*.png)"));
+ QString fn = GUIUtil::getSaveFileName(this, tr("Save QR Code"), QString(), tr("PNG Images (*.png)"));
if (!fn.isEmpty())
myImage.scaled(EXPORT_IMAGE_SIZE, EXPORT_IMAGE_SIZE).save(fn);
}
-void QRCodeDialog::on_chkReqPayment_toggled(bool)
+void QRCodeDialog::on_chkReqPayment_toggled(bool fChecked)
{
+ if (!fChecked)
+ // if chkReqPayment is not active, don't display lnReqAmount as invalid
+ ui->lnReqAmount->setValid(true);
+
genCode();
}
+
+void QRCodeDialog::updateDisplayUnit()
+{
+ if (model)
+ {
+ // Update lnReqAmount with the current unit
+ ui->lnReqAmount->setDisplayUnit(model->getDisplayUnit());
+ }
+}
diff --git a/src/qt/qrcodedialog.h b/src/qt/qrcodedialog.h
index ad0611605b..c55c34bce6 100644
--- a/src/qt/qrcodedialog.h
+++ b/src/qt/qrcodedialog.h
@@ -7,6 +7,7 @@
namespace Ui {
class QRCodeDialog;
}
+class OptionsModel;
class QRCodeDialog : public QDialog
{
@@ -16,22 +17,25 @@ public:
explicit QRCodeDialog(const QString &addr, const QString &label, bool enableReq, QWidget *parent = 0);
~QRCodeDialog();
+ void setModel(OptionsModel *model);
+
private slots:
- void on_lnReqAmount_textChanged(const QString &arg1);
- void on_lnLabel_textChanged(const QString &arg1);
- void on_lnMessage_textChanged(const QString &arg1);
+ void on_lnReqAmount_textChanged();
+ void on_lnLabel_textChanged();
+ void on_lnMessage_textChanged();
void on_btnSaveAs_clicked();
+ void on_chkReqPayment_toggled(bool fChecked);
- void on_chkReqPayment_toggled(bool checked);
+ void updateDisplayUnit();
private:
Ui::QRCodeDialog *ui;
- QImage myImage;
-
- QString getURI();
+ OptionsModel *model;
QString address;
+ QImage myImage;
void genCode();
+ QString getURI();
};
#endif // QRCODEDIALOG_H
diff --git a/src/qt/qtipcserver.cpp b/src/qt/qtipcserver.cpp
index 8a7bdabbfc..b26c37581c 100644
--- a/src/qt/qtipcserver.cpp
+++ b/src/qt/qtipcserver.cpp
@@ -1,76 +1,139 @@
// Copyright (c) 2009-2012 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
-// file license.txt or http://www.opensource.org/licenses/mit-license.php.
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#include <boost/algorithm/string.hpp>
-#include <boost/interprocess/ipc/message_queue.hpp>
-#include <boost/tokenizer.hpp>
-#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/version.hpp>
+#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 "qtipcserver.h"
+#include <boost/algorithm/string/predicate.hpp>
+#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/interprocess/ipc/message_queue.hpp>
+#include <boost/version.hpp>
+
+#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;
-using namespace boost;
-using namespace std;
-void ipcShutdown()
+#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)
{
- message_queue::remove(BITCOINURI_QUEUE_NAME);
+ // 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, BITCOINURI_QUEUE_NAME);
+ 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");
}
-void ipcThread(void* parg)
+static void ipcThread2(void* pArg)
{
- message_queue* mq = (message_queue*)parg;
- char strBuf[257];
- size_t nSize;
- unsigned int nPriority;
+ 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(&strBuf, sizeof(strBuf), nSize, nPriority, d))
+ if (mq->timed_receive(&buffer, sizeof(buffer), nSize, nPriority, d))
{
- ThreadSafeHandleURI(std::string(strBuf, nSize));
+ uiInterface.ThreadSafeHandleURI(std::string(buffer, nSize));
Sleep(1000);
}
+
if (fShutdown)
- {
- ipcShutdown();
break;
- }
}
- ipcShutdown();
+
+ // Remove message queue
+ message_queue::remove(BITCOINURI_QUEUE_NAME);
+ // Cleanup allocated memory
+ delete mq;
}
-void ipcInit()
+void ipcInit(int argc, char *argv[])
{
-#if defined(MAC_OSX) || defined(__FreeBSD__)
- // TODO: implement bitcoin: URI handling the Mac Way
- return;
-#endif
-#ifdef WIN32
- // TODO: THOROUGHLY test boost::interprocess fix,
- // and make sure there are no Windows argument-handling exploitable
- // problems.
- return;
-#endif
+ message_queue* mq = NULL;
+ char buffer[MAX_URI_LENGTH + 1] = "";
+ size_t nSize = 0;
+ unsigned int nPriority = 0;
- message_queue* mq;
- char strBuf[257];
- size_t nSize;
- unsigned int nPriority;
try {
- mq = new message_queue(open_or_create, BITCOINURI_QUEUE_NAME, 2, 256);
+ mq = new message_queue(open_or_create, BITCOINURI_QUEUE_NAME, 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(&strBuf, sizeof(strBuf), nSize, nPriority, d))
+ if (mq->timed_receive(&buffer, sizeof(buffer), nSize, nPriority, d))
{
- ThreadSafeHandleURI(std::string(strBuf, nSize));
+ uiInterface.ThreadSafeHandleURI(std::string(buffer, nSize));
}
else
break;
@@ -78,13 +141,22 @@ void ipcInit()
// Make sure only one bitcoin instance is listening
message_queue::remove(BITCOINURI_QUEUE_NAME);
- mq = new message_queue(open_or_create, BITCOINURI_QUEUE_NAME, 2, 256);
+ delete mq;
+
+ mq = new message_queue(open_or_create, BITCOINURI_QUEUE_NAME, 2, MAX_URI_LENGTH);
}
catch (interprocess_exception &ex) {
+ printf("ipcInit() - boost interprocess exception #%d: %s\n", ex.get_error_code(), ex.what());
return;
}
- if (!CreateThread(ipcThread, mq))
+
+ if (!NewThread(ipcThread, mq))
{
delete mq;
+ return;
}
+
+ ipcScanCmd(argc, argv, false);
}
+
+#endif
diff --git a/src/qt/qtipcserver.h b/src/qt/qtipcserver.h
index fcff10d8da..cccf200b2d 100644
--- a/src/qt/qtipcserver.h
+++ b/src/qt/qtipcserver.h
@@ -1,4 +1,10 @@
+#ifndef QTIPCSERVER_H
+#define QTIPCSERVER_H
+
+// Define Bitcoin-Qt message queue name
#define BITCOINURI_QUEUE_NAME "BitcoinURI"
-void ipcInit();
-void ipcShutdown();
+void ipcScanRelay(int argc, char *argv[]);
+void ipcInit(int argc, char *argv[]);
+
+#endif // QTIPCSERVER_H
diff --git a/src/qt/qvaluecombobox.cpp b/src/qt/qvaluecombobox.cpp
index c0ad8c12e5..d7ce3d0130 100644
--- a/src/qt/qvaluecombobox.cpp
+++ b/src/qt/qvaluecombobox.cpp
@@ -6,12 +6,12 @@ QValueComboBox::QValueComboBox(QWidget *parent) :
connect(this, SIGNAL(currentIndexChanged(int)), this, SLOT(handleSelectionChanged(int)));
}
-int QValueComboBox::value() const
+QVariant QValueComboBox::value() const
{
- return itemData(currentIndex(), role).toInt();
+ return itemData(currentIndex(), role);
}
-void QValueComboBox::setValue(int value)
+void QValueComboBox::setValue(const QVariant &value)
{
setCurrentIndex(findData(value, role));
}
diff --git a/src/qt/qvaluecombobox.h b/src/qt/qvaluecombobox.h
index 11f342d71c..1a47bb6565 100644
--- a/src/qt/qvaluecombobox.h
+++ b/src/qt/qvaluecombobox.h
@@ -2,19 +2,20 @@
#define QVALUECOMBOBOX_H
#include <QComboBox>
+#include <QVariant>
/* QComboBox that can be used with QDataWidgetMapper to select ordinal values from a model. */
class QValueComboBox : public QComboBox
{
Q_OBJECT
- Q_PROPERTY(int value READ value WRITE setValue NOTIFY valueChanged USER true)
+ Q_PROPERTY(QVariant value READ value WRITE setValue NOTIFY valueChanged USER true)
public:
explicit QValueComboBox(QWidget *parent = 0);
- int value() const;
- void setValue(int value);
+ QVariant value() const;
+ void setValue(const QVariant &value);
- /** Specify model role to use as ordinal value */
+ /** Specify model role to use as ordinal value (defaults to Qt::UserRole) */
void setRole(int role);
signals:
diff --git a/src/qt/res/bitcoin-qt.rc b/src/qt/res/bitcoin-qt.rc
index 1a1ab53be4..834001c0c6 100644
--- a/src/qt/res/bitcoin-qt.rc
+++ b/src/qt/res/bitcoin-qt.rc
@@ -1 +1,37 @@
IDI_ICON1 ICON DISCARDABLE "icons/bitcoin.ico"
+
+#include <windows.h> // needed for VERSIONINFO
+#include "../../clientversion.h" // holds the needed client version information
+
+#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD
+#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
+
+VS_VERSION_INFO VERSIONINFO
+FILEVERSION VER_FILEVERSION
+PRODUCTVERSION VER_PRODUCTVERSION
+FILEOS VOS_NT_WINDOWS32
+FILETYPE VFT_APP
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904E4" // U.S. English - multilingual (hex)
+ BEGIN
+ VALUE "CompanyName", "Bitcoin"
+ 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 "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"
+ VALUE "ProductVersion", VER_PRODUCTVERSION_STR
+ END
+ END
+
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1252 // language neutral - multilingual (decimal)
+ END
+END
diff --git a/src/qt/res/icons/debugwindow.png b/src/qt/res/icons/debugwindow.png
new file mode 100644
index 0000000000..1712adf0e7
--- /dev/null
+++ b/src/qt/res/icons/debugwindow.png
Binary files differ
diff --git a/src/qt/res/icons/qrcode.png b/src/qt/res/icons/qrcode.png
new file mode 100644
index 0000000000..a8d97174b3
--- /dev/null
+++ b/src/qt/res/icons/qrcode.png
Binary files differ
diff --git a/src/qt/res/images/qrcode.png b/src/qt/res/images/qrcode.png
deleted file mode 100644
index c89a49bbce..0000000000
--- a/src/qt/res/images/qrcode.png
+++ /dev/null
Binary files differ
diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp
new file mode 100644
index 0000000000..2b8a0c049b
--- /dev/null
+++ b/src/qt/rpcconsole.cpp
@@ -0,0 +1,437 @@
+#include "rpcconsole.h"
+#include "ui_rpcconsole.h"
+
+#include "clientmodel.h"
+#include "bitcoinrpc.h"
+#include "guiutil.h"
+
+#include <QTime>
+#include <QTimer>
+#include <QThread>
+#include <QTextEdit>
+#include <QKeyEvent>
+#include <QUrl>
+#include <QScrollBar>
+
+#include <openssl/crypto.h>
+
+// TODO: make it possible to filter out categories (esp debug messages when implemented)
+// TODO: receive errors and debug messages through ClientModel
+
+const int CONSOLE_SCROLLBACK = 50;
+const int CONSOLE_HISTORY = 50;
+
+const QSize ICON_SIZE(24, 24);
+
+const struct {
+ const char *url;
+ const char *source;
+} ICON_MAPPING[] = {
+ {"cmd-request", ":/icons/tx_input"},
+ {"cmd-reply", ":/icons/tx_output"},
+ {"cmd-error", ":/icons/tx_output"},
+ {"misc", ":/icons/tx_inout"},
+ {NULL, NULL}
+};
+
+/* Object for executing console RPC commands in a separate thread.
+*/
+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.
+ *
+ * - Arguments are delimited with whitespace
+ * - Extra whitespace at the beginning and end and between arguments will be ignored
+ * - Text can be "double" or 'single' quoted
+ * - The backslash \c \ is used as escape character
+ * - Outside quotes, any character can be escaped
+ * - Within double quotes, only escape \c " and backslashes before a \c " or another backslash
+ * - Within single quotes, no escaping is possible and no special interpretation takes place
+ *
+ * @param[out] args Parsed arguments will be appended to this list
+ * @param[in] strCommand Command line to split
+ */
+bool parseCommandLine(std::vector<std::string> &args, const std::string &strCommand)
+{
+ enum CmdParseState
+ {
+ STATE_EATING_SPACES,
+ STATE_ARGUMENT,
+ STATE_SINGLEQUOTED,
+ STATE_DOUBLEQUOTED,
+ STATE_ESCAPE_OUTER,
+ STATE_ESCAPE_DOUBLEQUOTED
+ } state = STATE_EATING_SPACES;
+ std::string curarg;
+ foreach(char ch, strCommand)
+ {
+ switch(state)
+ {
+ case STATE_ARGUMENT: // In or after argument
+ case STATE_EATING_SPACES: // Handle runs of whitespace
+ switch(ch)
+ {
+ case '"': state = STATE_DOUBLEQUOTED; break;
+ case '\'': state = STATE_SINGLEQUOTED; break;
+ case '\\': state = STATE_ESCAPE_OUTER; break;
+ case ' ': case '\n': case '\t':
+ if(state == STATE_ARGUMENT) // Space ends argument
+ {
+ args.push_back(curarg);
+ curarg.clear();
+ }
+ state = STATE_EATING_SPACES;
+ break;
+ default: curarg += ch; state = STATE_ARGUMENT;
+ }
+ break;
+ case STATE_SINGLEQUOTED: // Single-quoted string
+ switch(ch)
+ {
+ case '\'': state = STATE_ARGUMENT; break;
+ default: curarg += ch;
+ }
+ break;
+ case STATE_DOUBLEQUOTED: // Double-quoted string
+ switch(ch)
+ {
+ case '"': state = STATE_ARGUMENT; break;
+ case '\\': state = STATE_ESCAPE_DOUBLEQUOTED; break;
+ default: curarg += ch;
+ }
+ break;
+ case STATE_ESCAPE_OUTER: // '\' outside quotes
+ curarg += ch; state = STATE_ARGUMENT;
+ break;
+ case STATE_ESCAPE_DOUBLEQUOTED: // '\' in double-quoted text
+ if(ch != '"' && ch != '\\') curarg += '\\'; // keep '\' for everything but the quote and '\' itself
+ curarg += ch; state = STATE_DOUBLEQUOTED;
+ break;
+ }
+ }
+ switch(state) // final state
+ {
+ case STATE_EATING_SPACES:
+ return true;
+ case STATE_ARGUMENT:
+ args.push_back(curarg);
+ return true;
+ default: // ERROR to end in one of the other states
+ return false;
+ }
+}
+
+void RPCExecutor::request(const QString &command)
+{
+ std::vector<std::string> args;
+ if(!parseCommandLine(args, command.toStdString()))
+ {
+ emit reply(RPCConsole::CMD_ERROR, QString("Parse error: unbalanced ' or \""));
+ return;
+ }
+ if(args.empty())
+ return; // Nothing to do
+ try
+ {
+ std::string strPrint;
+ // Convert argument list to JSON objects in method-dependent way,
+ // and pass it along with the method name to the dispatcher.
+ json_spirit::Value result = tableRPC.execute(
+ args[0],
+ RPCConvertValues(args[0], std::vector<std::string>(args.begin() + 1, args.end())));
+
+ // Format result reply
+ if (result.type() == json_spirit::null_type)
+ strPrint = "";
+ else if (result.type() == json_spirit::str_type)
+ strPrint = result.get_str();
+ else
+ strPrint = write_string(result, true);
+
+ emit reply(RPCConsole::CMD_REPLY, QString::fromStdString(strPrint));
+ }
+ catch (json_spirit::Object& objError)
+ {
+ try // Nice formatting for standard-format error
+ {
+ int code = find_value(objError, "code").get_int();
+ std::string message = find_value(objError, "message").get_str();
+ emit reply(RPCConsole::CMD_ERROR, QString::fromStdString(message) + " (code " + QString::number(code) + ")");
+ }
+ catch(std::runtime_error &) // raised when converting to invalid type, i.e. missing code or message
+ { // Show raw JSON object
+ emit reply(RPCConsole::CMD_ERROR, QString::fromStdString(write_string(json_spirit::Value(objError), false)));
+ }
+ }
+ catch (std::exception& e)
+ {
+ emit reply(RPCConsole::CMD_ERROR, QString("Error: ") + QString::fromStdString(e.what()));
+ }
+}
+
+RPCConsole::RPCConsole(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::RPCConsole),
+ historyPtr(0)
+{
+ ui->setupUi(this);
+
+#ifndef Q_OS_MAC
+ ui->openDebugLogfileButton->setIcon(QIcon(":/icons/export"));
+ ui->showCLOptionsButton->setIcon(QIcon(":/icons/options"));
+#endif
+
+ // Install event filter for up and down arrow
+ ui->lineEdit->installEventFilter(this);
+ ui->messagesWidget->installEventFilter(this);
+
+ connect(ui->clearButton, SIGNAL(clicked()), this, SLOT(clear()));
+
+ // set OpenSSL version label
+ ui->openSSLVersion->setText(SSLeay_version(SSLEAY_VERSION));
+
+ startExecutor();
+
+ clear();
+}
+
+RPCConsole::~RPCConsole()
+{
+ emit stopExecutor();
+ delete ui;
+}
+
+bool RPCConsole::eventFilter(QObject* obj, QEvent *event)
+{
+ if(event->type() == QEvent::KeyPress) // Special key handling
+ {
+ QKeyEvent *keyevt = static_cast<QKeyEvent*>(event);
+ int key = keyevt->key();
+ Qt::KeyboardModifiers mod = keyevt->modifiers();
+ switch(key)
+ {
+ case Qt::Key_Up: if(obj == ui->lineEdit) { browseHistory(-1); return true; } break;
+ case Qt::Key_Down: if(obj == ui->lineEdit) { browseHistory(1); return true; } break;
+ case Qt::Key_PageUp: /* pass paging keys to messages widget */
+ case Qt::Key_PageDown:
+ if(obj == ui->lineEdit)
+ {
+ QApplication::postEvent(ui->messagesWidget, new QKeyEvent(*keyevt));
+ return true;
+ }
+ break;
+ default:
+ // Typing in messages widget brings focus to line edit, and redirects key there
+ // Exclude most combinations and keys that emit no text, except paste shortcuts
+ if(obj == ui->messagesWidget && (
+ (!mod && !keyevt->text().isEmpty() && key != Qt::Key_Tab) ||
+ ((mod & Qt::ControlModifier) && key == Qt::Key_V) ||
+ ((mod & Qt::ShiftModifier) && key == Qt::Key_Insert)))
+ {
+ ui->lineEdit->setFocus();
+ QApplication::postEvent(ui->lineEdit, new QKeyEvent(*keyevt));
+ return true;
+ }
+ }
+ }
+ return QDialog::eventFilter(obj, event);
+}
+
+void RPCConsole::setClientModel(ClientModel *model)
+{
+ this->clientModel = model;
+ if(model)
+ {
+ // Subscribe to information, replies, messages, errors
+ connect(model, SIGNAL(numConnectionsChanged(int)), this, SLOT(setNumConnections(int)));
+ connect(model, SIGNAL(numBlocksChanged(int,int)), this, SLOT(setNumBlocks(int,int)));
+
+ // Provide initial values
+ ui->clientVersion->setText(model->formatFullVersion());
+ ui->clientName->setText(model->clientName());
+ ui->buildDate->setText(model->formatBuildDate());
+ ui->startupTime->setText(model->formatClientStartupTime());
+
+ setNumConnections(model->getNumConnections());
+ ui->isTestNet->setChecked(model->isTestNet());
+
+ setNumBlocks(model->getNumBlocks(), model->getNumBlocksOfPeers());
+ }
+}
+
+static QString categoryClass(int category)
+{
+ switch(category)
+ {
+ case RPCConsole::CMD_REQUEST: return "cmd-request"; break;
+ case RPCConsole::CMD_REPLY: return "cmd-reply"; break;
+ case RPCConsole::CMD_ERROR: return "cmd-error"; break;
+ default: return "misc";
+ }
+}
+
+void RPCConsole::clear()
+{
+ ui->messagesWidget->clear();
+ ui->lineEdit->clear();
+ ui->lineEdit->setFocus();
+
+ // Add smoothly scaled icon images.
+ // (when using width/height on an img, Qt uses nearest instead of linear interpolation)
+ for(int i=0; ICON_MAPPING[i].url; ++i)
+ {
+ ui->messagesWidget->document()->addResource(
+ QTextDocument::ImageResource,
+ QUrl(ICON_MAPPING[i].url),
+ QImage(ICON_MAPPING[i].source).scaled(ICON_SIZE, Qt::IgnoreAspectRatio, Qt::SmoothTransformation));
+ }
+
+ // Set default style sheet
+ ui->messagesWidget->document()->setDefaultStyleSheet(
+ "table { }"
+ "td.time { color: #808080; padding-top: 3px; } "
+ "td.message { font-family: Monospace; font-size: 12px; } "
+ "td.cmd-request { color: #006060; } "
+ "td.cmd-error { color: red; } "
+ "b { color: #006060; } "
+ );
+
+ message(CMD_REPLY, (tr("Welcome to the Bitcoin RPC console.") + "<br>" +
+ tr("Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen.") + "<br>" +
+ tr("Type <b>help</b> for an overview of available commands.")), true);
+}
+
+void RPCConsole::message(int category, const QString &message, bool html)
+{
+ QTime time = QTime::currentTime();
+ QString timeString = time.toString();
+ QString out;
+ out += "<table><tr><td class=\"time\" width=\"65\">" + timeString + "</td>";
+ out += "<td class=\"icon\" width=\"32\"><img src=\"" + categoryClass(category) + "\"></td>";
+ out += "<td class=\"message " + categoryClass(category) + "\" valign=\"middle\">";
+ if(html)
+ out += message;
+ else
+ out += GUIUtil::HtmlEscape(message, true);
+ out += "</td></tr></table>";
+ ui->messagesWidget->append(out);
+}
+
+void RPCConsole::setNumConnections(int count)
+{
+ ui->numberOfConnections->setText(QString::number(count));
+}
+
+void RPCConsole::setNumBlocks(int count, int countOfPeers)
+{
+ ui->numberOfBlocks->setText(QString::number(count));
+ ui->totalBlocks->setText(QString::number(countOfPeers));
+ if(clientModel)
+ {
+ // If there is no current number available display N/A instead of 0, which can't ever be true
+ ui->totalBlocks->setText(clientModel->getNumBlocksOfPeers() == 0 ? tr("N/A") : QString::number(clientModel->getNumBlocksOfPeers()));
+ ui->lastBlockTime->setText(clientModel->getLastBlockDate().toString());
+ }
+}
+
+void RPCConsole::on_lineEdit_returnPressed()
+{
+ QString cmd = ui->lineEdit->text();
+ ui->lineEdit->clear();
+
+ if(!cmd.isEmpty())
+ {
+ message(CMD_REQUEST, cmd);
+ emit cmdRequest(cmd);
+ // Truncate history from current position
+ history.erase(history.begin() + historyPtr, history.end());
+ // Append command to history
+ history.append(cmd);
+ // Enforce maximum history size
+ while(history.size() > CONSOLE_HISTORY)
+ history.removeFirst();
+ // Set pointer to end of history
+ historyPtr = history.size();
+ // Scroll console view to end
+ scrollToEnd();
+ }
+}
+
+void RPCConsole::browseHistory(int offset)
+{
+ historyPtr += offset;
+ if(historyPtr < 0)
+ historyPtr = 0;
+ if(historyPtr > history.size())
+ historyPtr = history.size();
+ QString cmd;
+ if(historyPtr < history.size())
+ cmd = history.at(historyPtr);
+ ui->lineEdit->setText(cmd);
+}
+
+void RPCConsole::startExecutor()
+{
+ 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
+ connect(this, SIGNAL(stopExecutor()), executor, SLOT(deleteLater()));
+ connect(this, SIGNAL(stopExecutor()), thread, SLOT(quit()));
+ // Queue the thread for deletion (in this thread) when it is finished
+ connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));
+
+ // Default implementation of QThread::run() simply spins up an event loop in the thread,
+ // which is what we want.
+ thread->start();
+}
+
+void RPCConsole::on_tabWidget_currentChanged(int index)
+{
+ if(ui->tabWidget->widget(index) == ui->tab_console)
+ {
+ ui->lineEdit->setFocus();
+ }
+}
+
+void RPCConsole::on_openDebugLogfileButton_clicked()
+{
+ GUIUtil::openDebugLogfile();
+}
+
+void RPCConsole::scrollToEnd()
+{
+ QScrollBar *scrollbar = ui->messagesWidget->verticalScrollBar();
+ scrollbar->setValue(scrollbar->maximum());
+}
+
+void RPCConsole::on_showCLOptionsButton_clicked()
+{
+ GUIUtil::HelpMessageBox help;
+ help.exec();
+}
diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h
new file mode 100644
index 0000000000..3c38b4b8de
--- /dev/null
+++ b/src/qt/rpcconsole.h
@@ -0,0 +1,66 @@
+#ifndef RPCCONSOLE_H
+#define RPCCONSOLE_H
+
+#include <QDialog>
+
+namespace Ui {
+ class RPCConsole;
+}
+class ClientModel;
+
+/** Local Bitcoin RPC console. */
+class RPCConsole: public QDialog
+{
+ Q_OBJECT
+
+public:
+ explicit RPCConsole(QWidget *parent = 0);
+ ~RPCConsole();
+
+ void setClientModel(ClientModel *model);
+
+ enum MessageClass {
+ MC_ERROR,
+ MC_DEBUG,
+ CMD_REQUEST,
+ CMD_REPLY,
+ CMD_ERROR
+ };
+
+protected:
+ virtual bool eventFilter(QObject* obj, QEvent *event);
+
+private slots:
+ void on_lineEdit_returnPressed();
+ void on_tabWidget_currentChanged(int index);
+ /** open the debug.log from the current datadir */
+ void on_openDebugLogfileButton_clicked();
+ /** display messagebox with program parameters (same as bitcoin-qt --help) */
+ void on_showCLOptionsButton_clicked();
+
+public slots:
+ void clear();
+ void message(int category, const QString &message, bool html = false);
+ /** Set number of connections shown in the UI */
+ void setNumConnections(int count);
+ /** Set number of blocks shown in the UI */
+ void setNumBlocks(int count, int countOfPeers);
+ /** Go forward or back in history */
+ void browseHistory(int offset);
+ /** Scroll console view to end */
+ void scrollToEnd();
+signals:
+ // For RPC command executor
+ void stopExecutor();
+ void cmdRequest(const QString &command);
+
+private:
+ Ui::RPCConsole *ui;
+ ClientModel *clientModel;
+ QStringList history;
+ int historyPtr;
+
+ void startExecutor();
+};
+
+#endif // RPCCONSOLE_H
diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp
index 9b70afaefa..ca2c615333 100644
--- a/src/qt/sendcoinsdialog.cpp
+++ b/src/qt/sendcoinsdialog.cpp
@@ -7,6 +7,7 @@
#include "sendcoinsentry.h"
#include "guiutil.h"
#include "askpassphrasedialog.h"
+#include "base58.h"
#include <QMessageBox>
#include <QLocale>
@@ -20,7 +21,7 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) :
{
ui->setupUi(this);
-#ifdef Q_WS_MAC // Icons on push buttons are very uncommon on Mac
+#ifdef Q_OS_MAC // Icons on push buttons are very uncommon on Mac
ui->addButton->setIcon(QIcon());
ui->clearButton->setIcon(QIcon());
ui->sendButton->setIcon(QIcon());
@@ -48,8 +49,8 @@ void SendCoinsDialog::setModel(WalletModel *model)
}
if(model && model->getOptionsModel())
{
- setBalance(model->getBalance(), model->getUnconfirmedBalance());
- connect(model, SIGNAL(balanceChanged(qint64, qint64)), this, SLOT(setBalance(qint64, qint64)));
+ setBalance(model->getBalance(), model->getUnconfirmedBalance(), model->getImmatureBalance());
+ connect(model, SIGNAL(balanceChanged(qint64, qint64, qint64)), this, SLOT(setBalance(qint64, qint64, qint64)));
connect(model->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
}
}
@@ -246,7 +247,7 @@ QWidget *SendCoinsDialog::setupTabChain(QWidget *prev)
void SendCoinsDialog::pasteEntry(const SendCoinsRecipient &rv)
{
- if (!fNewRecipientAllowed)
+ if(!fNewRecipientAllowed)
return;
SendCoinsEntry *entry = 0;
@@ -267,20 +268,26 @@ void SendCoinsDialog::pasteEntry(const SendCoinsRecipient &rv)
entry->setValue(rv);
}
-
-void SendCoinsDialog::handleURI(const QString &uri)
+bool SendCoinsDialog::handleURI(const QString &uri)
{
SendCoinsRecipient rv;
- if(!GUIUtil::parseBitcoinURI(uri, &rv))
+ // URI has to be valid
+ if (GUIUtil::parseBitcoinURI(uri, &rv))
{
- return;
+ CBitcoinAddress address(rv.address.toStdString());
+ if (!address.IsValid())
+ return false;
+ pasteEntry(rv);
+ return true;
}
- pasteEntry(rv);
+
+ return false;
}
-void SendCoinsDialog::setBalance(qint64 balance, qint64 unconfirmedBalance)
+void SendCoinsDialog::setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance)
{
Q_UNUSED(unconfirmedBalance);
+ Q_UNUSED(immatureBalance);
if(!model || !model->getOptionsModel())
return;
diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h
index 94fa97d201..8a6e050c11 100644
--- a/src/qt/sendcoinsdialog.h
+++ b/src/qt/sendcoinsdialog.h
@@ -30,7 +30,7 @@ public:
QWidget *setupTabChain(QWidget *prev);
void pasteEntry(const SendCoinsRecipient &rv);
- void handleURI(const QString &uri);
+ bool handleURI(const QString &uri);
public slots:
void clear();
@@ -38,7 +38,7 @@ public slots:
void accept();
SendCoinsEntry *addEntry();
void updateRemoveEnabled();
- void setBalance(qint64 balance, qint64 unconfirmedBalance);
+ void setBalance(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance);
private:
Ui::SendCoinsDialog *ui;
diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp
index 599a804c46..c4d84c388c 100644
--- a/src/qt/sendcoinsentry.cpp
+++ b/src/qt/sendcoinsentry.cpp
@@ -17,13 +17,13 @@ SendCoinsEntry::SendCoinsEntry(QWidget *parent) :
{
ui->setupUi(this);
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
ui->payToLayout->setSpacing(4);
#endif
-
#if QT_VERSION >= 0x040700
- ui->payTo->setPlaceholderText(tr("Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"));
+ /* Do not move this to the XML file, Qt before 4.7 will choke on it */
ui->addAsLabel->setPlaceholderText(tr("Enter a label for this address to add it to your address book"));
+ ui->payTo->setPlaceholderText(tr("Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"));
#endif
setFocusPolicy(Qt::TabFocus);
setFocusProxy(ui->payTo);
diff --git a/src/qt/signverifymessagedialog.cpp b/src/qt/signverifymessagedialog.cpp
new file mode 100644
index 0000000000..b3fc69ef0f
--- /dev/null
+++ b/src/qt/signverifymessagedialog.cpp
@@ -0,0 +1,274 @@
+#include "signverifymessagedialog.h"
+#include "ui_signverifymessagedialog.h"
+
+#include "addressbookpage.h"
+#include "base58.h"
+#include "guiutil.h"
+#include "init.h"
+#include "main.h"
+#include "optionsmodel.h"
+#include "walletmodel.h"
+#include "wallet.h"
+
+#include <string>
+#include <vector>
+
+#include <QClipboard>
+
+SignVerifyMessageDialog::SignVerifyMessageDialog(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::SignVerifyMessageDialog),
+ model(0)
+{
+ ui->setupUi(this);
+
+#if (QT_VERSION >= 0x040700)
+ /* Do not move this to the XML file, Qt before 4.7 will choke on it */
+ ui->addressIn_SM->setPlaceholderText(tr("Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"));
+ ui->signatureOut_SM->setPlaceholderText(tr("Click \"Sign Message\" to generate signature"));
+
+ ui->addressIn_VM->setPlaceholderText(tr("Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)"));
+ ui->signatureIn_VM->setPlaceholderText(tr("Enter Bitcoin signature"));
+#endif
+
+ GUIUtil::setupAddressWidget(ui->addressIn_SM, this);
+ GUIUtil::setupAddressWidget(ui->addressIn_VM, this);
+
+ ui->addressIn_SM->installEventFilter(this);
+ ui->messageIn_SM->installEventFilter(this);
+ ui->signatureOut_SM->installEventFilter(this);
+ ui->addressIn_VM->installEventFilter(this);
+ ui->messageIn_VM->installEventFilter(this);
+ ui->signatureIn_VM->installEventFilter(this);
+
+ ui->signatureOut_SM->setFont(GUIUtil::bitcoinAddressFont());
+ ui->signatureIn_VM->setFont(GUIUtil::bitcoinAddressFont());
+}
+
+SignVerifyMessageDialog::~SignVerifyMessageDialog()
+{
+ delete ui;
+}
+
+void SignVerifyMessageDialog::setModel(WalletModel *model)
+{
+ this->model = model;
+}
+
+void SignVerifyMessageDialog::setAddress_SM(QString address)
+{
+ ui->addressIn_SM->setText(address);
+ ui->messageIn_SM->setFocus();
+}
+
+void SignVerifyMessageDialog::setAddress_VM(QString address)
+{
+ ui->addressIn_VM->setText(address);
+ ui->messageIn_VM->setFocus();
+}
+
+void SignVerifyMessageDialog::showTab_SM(bool fShow)
+{
+ ui->tabWidget->setCurrentIndex(0);
+
+ if (fShow)
+ this->show();
+}
+
+void SignVerifyMessageDialog::showTab_VM(bool fShow)
+{
+ ui->tabWidget->setCurrentIndex(1);
+ if (fShow)
+ this->show();
+}
+
+void SignVerifyMessageDialog::on_addressBookButton_SM_clicked()
+{
+ if (model && model->getAddressTableModel())
+ {
+ AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this);
+ dlg.setModel(model->getAddressTableModel());
+ if (dlg.exec())
+ {
+ setAddress_SM(dlg.getReturnValue());
+ }
+ }
+}
+
+void SignVerifyMessageDialog::on_pasteButton_SM_clicked()
+{
+ setAddress_SM(QApplication::clipboard()->text());
+}
+
+void SignVerifyMessageDialog::on_signMessageButton_SM_clicked()
+{
+ /* Clear old signature to ensure users don't get confused on error with an old signature displayed */
+ ui->signatureOut_SM->clear();
+
+ CBitcoinAddress addr(ui->addressIn_SM->text().toStdString());
+ if (!addr.IsValid())
+ {
+ ui->addressIn_SM->setValid(false);
+ ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_SM->setText(tr("The entered address is invalid.") + QString(" ") + tr("Please check the address and try again."));
+ return;
+ }
+ CKeyID keyID;
+ if (!addr.GetKeyID(keyID))
+ {
+ ui->addressIn_SM->setValid(false);
+ ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_SM->setText(tr("The entered address does not refer to a key.") + QString(" ") + tr("Please check the address and try again."));
+ return;
+ }
+
+ WalletModel::UnlockContext ctx(model->requestUnlock());
+ if (!ctx.isValid())
+ {
+ ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_SM->setText(tr("Wallet unlock was cancelled."));
+ return;
+ }
+
+ CKey key;
+ if (!pwalletMain->GetKey(keyID, key))
+ {
+ ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_SM->setText(tr("Private key for the entered address is not available."));
+ return;
+ }
+
+ CDataStream ss(SER_GETHASH, 0);
+ ss << strMessageMagic;
+ ss << ui->messageIn_SM->document()->toPlainText().toStdString();
+
+ std::vector<unsigned char> vchSig;
+ if (!key.SignCompact(Hash(ss.begin(), ss.end()), vchSig))
+ {
+ ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_SM->setText(QString("<nobr>") + tr("Message signing failed.") + QString("</nobr>"));
+ return;
+ }
+
+ ui->statusLabel_SM->setStyleSheet("QLabel { color: green; }");
+ ui->statusLabel_SM->setText(QString("<nobr>") + tr("Message signed.") + QString("</nobr>"));
+
+ ui->signatureOut_SM->setText(QString::fromStdString(EncodeBase64(&vchSig[0], vchSig.size())));
+}
+
+void SignVerifyMessageDialog::on_copySignatureButton_SM_clicked()
+{
+ QApplication::clipboard()->setText(ui->signatureOut_SM->text());
+}
+
+void SignVerifyMessageDialog::on_clearButton_SM_clicked()
+{
+ ui->addressIn_SM->clear();
+ ui->messageIn_SM->clear();
+ ui->signatureOut_SM->clear();
+ ui->statusLabel_SM->clear();
+
+ ui->addressIn_SM->setFocus();
+}
+
+void SignVerifyMessageDialog::on_addressBookButton_VM_clicked()
+{
+ if (model && model->getAddressTableModel())
+ {
+ AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this);
+ dlg.setModel(model->getAddressTableModel());
+ if (dlg.exec())
+ {
+ setAddress_VM(dlg.getReturnValue());
+ }
+ }
+}
+
+void SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked()
+{
+ CBitcoinAddress addr(ui->addressIn_VM->text().toStdString());
+ if (!addr.IsValid())
+ {
+ ui->addressIn_VM->setValid(false);
+ ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_VM->setText(tr("The entered address is invalid.") + QString(" ") + tr("Please check the address and try again."));
+ return;
+ }
+ CKeyID keyID;
+ if (!addr.GetKeyID(keyID))
+ {
+ ui->addressIn_VM->setValid(false);
+ ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_VM->setText(tr("The entered address does not refer to a key.") + QString(" ") + tr("Please check the address and try again."));
+ return;
+ }
+
+ bool fInvalid = false;
+ std::vector<unsigned char> vchSig = DecodeBase64(ui->signatureIn_VM->text().toStdString().c_str(), &fInvalid);
+
+ if (fInvalid)
+ {
+ ui->signatureIn_VM->setValid(false);
+ ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_VM->setText(tr("The signature could not be decoded.") + QString(" ") + tr("Please check the signature and try again."));
+ return;
+ }
+
+ CDataStream ss(SER_GETHASH, 0);
+ ss << strMessageMagic;
+ ss << ui->messageIn_VM->document()->toPlainText().toStdString();
+
+ CKey key;
+ if (!key.SetCompactSignature(Hash(ss.begin(), ss.end()), vchSig))
+ {
+ ui->signatureIn_VM->setValid(false);
+ ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_VM->setText(tr("The signature did not match the message digest.") + QString(" ") + tr("Please check the signature and try again."));
+ return;
+ }
+
+ if (!(CBitcoinAddress(key.GetPubKey().GetID()) == addr))
+ {
+ ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }");
+ ui->statusLabel_VM->setText(QString("<nobr>") + tr("Message verification failed.") + QString("</nobr>"));
+ return;
+ }
+
+ ui->statusLabel_VM->setStyleSheet("QLabel { color: green; }");
+ ui->statusLabel_VM->setText(QString("<nobr>") + tr("Message verified.") + QString("</nobr>"));
+}
+
+void SignVerifyMessageDialog::on_clearButton_VM_clicked()
+{
+ ui->addressIn_VM->clear();
+ ui->signatureIn_VM->clear();
+ ui->messageIn_VM->clear();
+ ui->statusLabel_VM->clear();
+
+ ui->addressIn_VM->setFocus();
+}
+
+bool SignVerifyMessageDialog::eventFilter(QObject *object, QEvent *event)
+{
+ if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::FocusIn)
+ {
+ if (ui->tabWidget->currentIndex() == 0)
+ {
+ /* Clear status message on focus change */
+ ui->statusLabel_SM->clear();
+
+ /* Select generated signature */
+ if (object == ui->signatureOut_SM)
+ {
+ ui->signatureOut_SM->selectAll();
+ return true;
+ }
+ }
+ else if (ui->tabWidget->currentIndex() == 1)
+ {
+ /* Clear status message on focus change */
+ ui->statusLabel_VM->clear();
+ }
+ }
+ return QDialog::eventFilter(object, event);
+}
diff --git a/src/qt/signverifymessagedialog.h b/src/qt/signverifymessagedialog.h
new file mode 100644
index 0000000000..5569c8bf33
--- /dev/null
+++ b/src/qt/signverifymessagedialog.h
@@ -0,0 +1,49 @@
+#ifndef SIGNVERIFYMESSAGEDIALOG_H
+#define SIGNVERIFYMESSAGEDIALOG_H
+
+#include <QDialog>
+
+namespace Ui {
+ class SignVerifyMessageDialog;
+}
+class WalletModel;
+
+QT_BEGIN_NAMESPACE
+QT_END_NAMESPACE
+
+class SignVerifyMessageDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ explicit SignVerifyMessageDialog(QWidget *parent = 0);
+ ~SignVerifyMessageDialog();
+
+ void setModel(WalletModel *model);
+ void setAddress_SM(QString address);
+ void setAddress_VM(QString address);
+
+ void showTab_SM(bool fShow);
+ void showTab_VM(bool fShow);
+
+protected:
+ bool eventFilter(QObject *object, QEvent *event);
+
+private:
+ Ui::SignVerifyMessageDialog *ui;
+ WalletModel *model;
+
+private slots:
+ /* sign message */
+ void on_addressBookButton_SM_clicked();
+ void on_pasteButton_SM_clicked();
+ void on_signMessageButton_SM_clicked();
+ void on_copySignatureButton_SM_clicked();
+ void on_clearButton_SM_clicked();
+ /* verify message */
+ void on_addressBookButton_VM_clicked();
+ void on_verifyMessageButton_VM_clicked();
+ void on_clearButton_VM_clicked();
+};
+
+#endif // SIGNVERIFYMESSAGEDIALOG_H
diff --git a/src/qt/transactiondesc.cpp b/src/qt/transactiondesc.cpp
index c6c9a08f04..efc77e190e 100644
--- a/src/qt/transactiondesc.cpp
+++ b/src/qt/transactiondesc.cpp
@@ -7,17 +7,14 @@
#include "wallet.h"
#include "db.h"
#include "ui_interface.h"
-
-#include <QString>
-
-using namespace std;
+#include "base58.h"
QString TransactionDesc::FormatTxStatus(const CWalletTx& wtx)
{
if (!wtx.IsFinal())
{
if (wtx.nLockTime < LOCKTIME_THRESHOLD)
- return tr("Open for %1 blocks").arg(nBestHeight - wtx.nLockTime);
+ return tr("Open for %n block(s)", "", nBestHeight - wtx.nLockTime);
else
return tr("Open until %1").arg(GUIUtil::dateTimeStr(wtx.nLockTime));
}
@@ -25,7 +22,7 @@ QString TransactionDesc::FormatTxStatus(const CWalletTx& wtx)
{
int nDepth = wtx.GetDepthInMainChain();
if (GetAdjustedTime() - wtx.nTimeReceived > 2 * 60 && wtx.GetRequestCount() == 0)
- return tr("%1/offline?").arg(nDepth);
+ return tr("%1/offline").arg(nDepth);
else if (nDepth < 6)
return tr("%1/unconfirmed").arg(nDepth);
else
@@ -47,32 +44,30 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
int64 nDebit = wtx.GetDebit();
int64 nNet = nCredit - nDebit;
- strHTML += tr("<b>Status:</b> ") + FormatTxStatus(wtx);
+ strHTML += "<b>" + tr("Status") + ":</b> " + FormatTxStatus(wtx);
int nRequests = wtx.GetRequestCount();
if (nRequests != -1)
{
if (nRequests == 0)
strHTML += tr(", has not been successfully broadcast yet");
- else if (nRequests == 1)
- strHTML += tr(", broadcast through %1 node").arg(nRequests);
- else
- strHTML += tr(", broadcast through %1 nodes").arg(nRequests);
+ else if (nRequests > 0)
+ strHTML += tr(", broadcast through %n node(s)", "", nRequests);
}
strHTML += "<br>";
- strHTML += tr("<b>Date:</b> ") + (nTime ? GUIUtil::dateTimeStr(nTime) : QString("")) + "<br>";
+ strHTML += "<b>" + tr("Date") + ":</b> " + (nTime ? GUIUtil::dateTimeStr(nTime) : "") + "<br>";
//
// From
//
if (wtx.IsCoinBase())
{
- strHTML += tr("<b>Source:</b> Generated<br>");
+ strHTML += "<b>" + tr("Source") + ":</b> " + tr("Generated") + "<br>";
}
else if (wtx.mapValue.count("from") && !wtx.mapValue["from"].empty())
{
// Online transaction
- strHTML += tr("<b>From:</b> ") + GUIUtil::HtmlEscape(wtx.mapValue["from"]) + "<br>";
+ strHTML += "<b>" + tr("From") + ":</b> " + GUIUtil::HtmlEscape(wtx.mapValue["from"]) + "<br>";
}
else
{
@@ -84,18 +79,18 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
{
if (wallet->IsMine(txout))
{
- CBitcoinAddress address;
- if (ExtractAddress(txout.scriptPubKey, address) && wallet->HaveKey(address))
+ CTxDestination address;
+ if (ExtractDestination(txout.scriptPubKey, address) && IsMine(*wallet, address))
{
if (wallet->mapAddressBook.count(address))
{
- strHTML += tr("<b>From:</b> ") + tr("unknown") + "<br>";
- strHTML += tr("<b>To:</b> ");
- strHTML += GUIUtil::HtmlEscape(address.ToString());
+ strHTML += "<b>" + tr("From") + ":</b> " + tr("unknown") + "<br>";
+ strHTML += "<b>" + tr("To") + ":</b> ";
+ strHTML += GUIUtil::HtmlEscape(CBitcoinAddress(address).ToString());
if (!wallet->mapAddressBook[address].empty())
- strHTML += tr(" (yours, label: ") + GUIUtil::HtmlEscape(wallet->mapAddressBook[address]) + ")";
+ strHTML += " (" + tr("own address") + ", " + tr("label") + ": " + GUIUtil::HtmlEscape(wallet->mapAddressBook[address]) + ")";
else
- strHTML += tr(" (yours)");
+ strHTML += " (" + tr("own address") + ")";
strHTML += "<br>";
}
}
@@ -108,14 +103,14 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
//
// To
//
- string strAddress;
if (wtx.mapValue.count("to") && !wtx.mapValue["to"].empty())
{
// Online transaction
- strAddress = wtx.mapValue["to"];
- strHTML += tr("<b>To:</b> ");
- if (wallet->mapAddressBook.count(strAddress) && !wallet->mapAddressBook[strAddress].empty())
- strHTML += GUIUtil::HtmlEscape(wallet->mapAddressBook[strAddress]) + " ";
+ std::string strAddress = wtx.mapValue["to"];
+ strHTML += "<b>" + tr("To") + ":</b> ";
+ CTxDestination dest = CBitcoinAddress(strAddress).Get();
+ if (wallet->mapAddressBook.count(dest) && !wallet->mapAddressBook[dest].empty())
+ strHTML += GUIUtil::HtmlEscape(wallet->mapAddressBook[dest]) + " ";
strHTML += GUIUtil::HtmlEscape(strAddress) + "<br>";
}
@@ -130,13 +125,11 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
int64 nUnmatured = 0;
BOOST_FOREACH(const CTxOut& txout, wtx.vout)
nUnmatured += wallet->GetCredit(txout);
- strHTML += tr("<b>Credit:</b> ");
+ strHTML += "<b>" + tr("Credit") + ":</b> ";
if (wtx.IsInMainChain())
- strHTML += tr("(%1 matures in %2 more blocks)")
- .arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, nUnmatured))
- .arg(wtx.GetBlocksToMaturity());
+ strHTML += BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, nUnmatured)+ " (" + tr("matures in %n more block(s)", "", wtx.GetBlocksToMaturity()) + ")";
else
- strHTML += tr("(not accepted)");
+ strHTML += "(" + tr("not accepted") + ")";
strHTML += "<br>";
}
else if (nNet > 0)
@@ -144,7 +137,7 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
//
// Credit
//
- strHTML += tr("<b>Credit:</b> ") + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, nNet) + "<br>";
+ strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, nNet) + "<br>";
}
else
{
@@ -169,18 +162,18 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
if (!wtx.mapValue.count("to") || wtx.mapValue["to"].empty())
{
// Offline transaction
- CBitcoinAddress address;
- if (ExtractAddress(txout.scriptPubKey, address))
+ CTxDestination address;
+ if (ExtractDestination(txout.scriptPubKey, address))
{
- strHTML += tr("<b>To:</b> ");
+ strHTML += "<b>" + tr("To") + ":</b> ";
if (wallet->mapAddressBook.count(address) && !wallet->mapAddressBook[address].empty())
strHTML += GUIUtil::HtmlEscape(wallet->mapAddressBook[address]) + " ";
- strHTML += GUIUtil::HtmlEscape(address.ToString());
+ strHTML += GUIUtil::HtmlEscape(CBitcoinAddress(address).ToString());
strHTML += "<br>";
}
}
- strHTML += tr("<b>Debit:</b> ") + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -txout.nValue) + "<br>";
+ strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -txout.nValue) + "<br>";
}
if (fAllToMe)
@@ -188,13 +181,13 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
// Payment to self
int64 nChange = wtx.GetChange();
int64 nValue = nCredit - nChange;
- strHTML += tr("<b>Debit:</b> ") + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -nValue) + "<br>";
- strHTML += tr("<b>Credit:</b> ") + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, nValue) + "<br>";
+ strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -nValue) + "<br>";
+ strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, nValue) + "<br>";
}
int64 nTxFee = nDebit - wtx.GetValueOut();
if (nTxFee > 0)
- strHTML += tr("<b>Transaction fee:</b> ") + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC,-nTxFee) + "<br>";
+ strHTML += "<b>" + tr("Transaction fee") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -nTxFee) + "<br>";
}
else
{
@@ -203,47 +196,47 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
//
BOOST_FOREACH(const CTxIn& txin, wtx.vin)
if (wallet->IsMine(txin))
- strHTML += tr("<b>Debit:</b> ") + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC,-wallet->GetDebit(txin)) + "<br>";
+ strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -wallet->GetDebit(txin)) + "<br>";
BOOST_FOREACH(const CTxOut& txout, wtx.vout)
if (wallet->IsMine(txout))
- strHTML += tr("<b>Credit:</b> ") + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC,wallet->GetCredit(txout)) + "<br>";
+ strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, wallet->GetCredit(txout)) + "<br>";
}
}
- strHTML += tr("<b>Net amount:</b> ") + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC,nNet, true) + "<br>";
+ strHTML += "<b>" + tr("Net amount") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, nNet, true) + "<br>";
//
// Message
//
if (wtx.mapValue.count("message") && !wtx.mapValue["message"].empty())
- strHTML += QString("<br><b>") + tr("Message:") + "</b><br>" + GUIUtil::HtmlEscape(wtx.mapValue["message"], true) + "<br>";
+ strHTML += "<br><b>" + tr("Message") + ":</b><br>" + GUIUtil::HtmlEscape(wtx.mapValue["message"], true) + "<br>";
if (wtx.mapValue.count("comment") && !wtx.mapValue["comment"].empty())
- strHTML += QString("<br><b>") + tr("Comment:") + "</b><br>" + GUIUtil::HtmlEscape(wtx.mapValue["comment"], true) + "<br>";
+ strHTML += "<br><b>" + tr("Comment") + ":</b><br>" + GUIUtil::HtmlEscape(wtx.mapValue["comment"], true) + "<br>";
- strHTML += QString("<b>") + tr("Transaction ID:") + "</b> " + wtx.GetHash().ToString().c_str() + "<br>";
+ strHTML += "<b>" + tr("Transaction ID") + ":</b> " + wtx.GetHash().ToString().c_str() + "<br>";
if (wtx.IsCoinBase())
- strHTML += QString("<br>") + tr("Generated coins must wait 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, it will change to \"not accepted\" and not be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.") + "<br>";
+ strHTML += "<br>" + tr("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.") + "<br>";
//
// Debug view
//
if (fDebug)
{
- strHTML += "<hr><br>Debug information<br><br>";
+ strHTML += "<hr><br>" + tr("Debug information") + "<br><br>";
BOOST_FOREACH(const CTxIn& txin, wtx.vin)
if(wallet->IsMine(txin))
- strHTML += "<b>Debit:</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC,-wallet->GetDebit(txin)) + "<br>";
+ strHTML += "<b>" + tr("Debit") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, -wallet->GetDebit(txin)) + "<br>";
BOOST_FOREACH(const CTxOut& txout, wtx.vout)
if(wallet->IsMine(txout))
- strHTML += "<b>Credit:</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC,wallet->GetCredit(txout)) + "<br>";
+ strHTML += "<b>" + tr("Credit") + ":</b> " + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, wallet->GetCredit(txout)) + "<br>";
- strHTML += "<br><b>Transaction:</b><br>";
+ strHTML += "<br><b>" + tr("Transaction") + ":</b><br>";
strHTML += GUIUtil::HtmlEscape(wtx.ToString(), true);
CTxDB txdb("r"); // To fetch source txouts
- strHTML += "<br><b>Inputs:</b>";
+ strHTML += "<br><b>" + tr("Inputs") + ":</b>";
strHTML += "<ul>";
{
@@ -259,19 +252,20 @@ QString TransactionDesc::toHTML(CWallet *wallet, CWalletTx &wtx)
{
strHTML += "<li>";
const CTxOut &vout = prev.vout[prevout.n];
- CBitcoinAddress address;
- if (ExtractAddress(vout.scriptPubKey, address))
+ CTxDestination address;
+ if (ExtractDestination(vout.scriptPubKey, address))
{
if (wallet->mapAddressBook.count(address) && !wallet->mapAddressBook[address].empty())
strHTML += GUIUtil::HtmlEscape(wallet->mapAddressBook[address]) + " ";
- strHTML += QString::fromStdString(address.ToString());
+ strHTML += QString::fromStdString(CBitcoinAddress(address).ToString());
}
- strHTML = strHTML + " Amount=" + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC,vout.nValue);
- strHTML = strHTML + " IsMine=" + (wallet->IsMine(vout) ? "true" : "false") + "</li>";
+ strHTML = strHTML + " " + tr("Amount") + "=" + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, vout.nValue);
+ strHTML = strHTML + " IsMine=" + (wallet->IsMine(vout) ? tr("true") : tr("false")) + "</li>";
}
}
}
}
+
strHTML += "</ul>";
}
diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp
index 90fc5b7da3..4c3071984f 100644
--- a/src/qt/transactionrecord.cpp
+++ b/src/qt/transactionrecord.cpp
@@ -1,6 +1,7 @@
#include "transactionrecord.h"
#include "wallet.h"
+#include "base58.h"
/* Return positive answer if transaction should be shown in list.
*/
@@ -8,18 +9,8 @@ bool TransactionRecord::showTransaction(const CWalletTx &wtx)
{
if (wtx.IsCoinBase())
{
- // Don't show generated coin until confirmed by at least one block after it
- // so we don't get the user's hopes up until it looks like it's probably accepted.
- //
- // It is not an error when generated blocks are not accepted. By design,
- // some percentage of blocks, like 10% or more, will end up not accepted.
- // This is the normal mechanism by which the network copes with latency.
- //
- // We display regular transactions right away before any confirmation
- // because they can always get into some block eventually. Generated coins
- // are special because if their block is not accepted, they are not valid.
- //
- if (wtx.GetDepthInMainChain() < 2)
+ // Ensures we show generated coins / mined transactions at depth 1
+ if (!wtx.IsInMainChain())
{
return false;
}
@@ -40,114 +31,111 @@ QList<TransactionRecord> TransactionRecord::decomposeTransaction(const CWallet *
uint256 hash = wtx.GetHash();
std::map<std::string, std::string> mapValue = wtx.mapValue;
- if (showTransaction(wtx))
+ if (nNet > 0 || wtx.IsCoinBase())
{
- if (nNet > 0 || wtx.IsCoinBase())
+ //
+ // Credit
+ //
+ BOOST_FOREACH(const CTxOut& txout, wtx.vout)
{
- //
- // Credit
- //
- BOOST_FOREACH(const CTxOut& txout, wtx.vout)
+ if(wallet->IsMine(txout))
{
- if(wallet->IsMine(txout))
+ TransactionRecord sub(hash, nTime);
+ CTxDestination address;
+ sub.idx = parts.size(); // sequence number
+ sub.credit = txout.nValue;
+ if (ExtractDestination(txout.scriptPubKey, address) && IsMine(*wallet, address))
{
- TransactionRecord sub(hash, nTime);
- CBitcoinAddress address;
- sub.idx = parts.size(); // sequence number
- sub.credit = txout.nValue;
- if (wtx.IsCoinBase())
- {
- // Generated
- sub.type = TransactionRecord::Generated;
- }
- else if (ExtractAddress(txout.scriptPubKey, address) && wallet->HaveKey(address))
- {
- // Received by Bitcoin Address
- sub.type = TransactionRecord::RecvWithAddress;
- sub.address = address.ToString();
- }
- else
- {
- // Received by IP connection (deprecated features), or a multisignature or other non-simple transaction
- sub.type = TransactionRecord::RecvFromOther;
- sub.address = mapValue["from"];
- }
-
- parts.append(sub);
+ // Received by Bitcoin Address
+ sub.type = TransactionRecord::RecvWithAddress;
+ sub.address = CBitcoinAddress(address).ToString();
}
+ else
+ {
+ // Received by IP connection (deprecated features), or a multisignature or other non-simple transaction
+ sub.type = TransactionRecord::RecvFromOther;
+ sub.address = mapValue["from"];
+ }
+ if (wtx.IsCoinBase())
+ {
+ // Generated
+ sub.type = TransactionRecord::Generated;
+ }
+
+ parts.append(sub);
}
}
- else
+ }
+ else
+ {
+ bool fAllFromMe = true;
+ BOOST_FOREACH(const CTxIn& txin, wtx.vin)
+ fAllFromMe = fAllFromMe && wallet->IsMine(txin);
+
+ bool fAllToMe = true;
+ BOOST_FOREACH(const CTxOut& txout, wtx.vout)
+ fAllToMe = fAllToMe && wallet->IsMine(txout);
+
+ if (fAllFromMe && fAllToMe)
{
- bool fAllFromMe = true;
- BOOST_FOREACH(const CTxIn& txin, wtx.vin)
- fAllFromMe = fAllFromMe && wallet->IsMine(txin);
+ // Payment to self
+ int64 nChange = wtx.GetChange();
- bool fAllToMe = true;
- BOOST_FOREACH(const CTxOut& txout, wtx.vout)
- fAllToMe = fAllToMe && wallet->IsMine(txout);
+ parts.append(TransactionRecord(hash, nTime, TransactionRecord::SendToSelf, "",
+ -(nDebit - nChange), nCredit - nChange));
+ }
+ else if (fAllFromMe)
+ {
+ //
+ // Debit
+ //
+ int64 nTxFee = nDebit - wtx.GetValueOut();
- if (fAllFromMe && fAllToMe)
+ for (unsigned int nOut = 0; nOut < wtx.vout.size(); nOut++)
{
- // Payment to self
- int64 nChange = wtx.GetChange();
+ const CTxOut& txout = wtx.vout[nOut];
+ TransactionRecord sub(hash, nTime);
+ sub.idx = parts.size();
- parts.append(TransactionRecord(hash, nTime, TransactionRecord::SendToSelf, "",
- -(nDebit - nChange), nCredit - nChange));
- }
- else if (fAllFromMe)
- {
- //
- // Debit
- //
- int64 nTxFee = nDebit - wtx.GetValueOut();
+ if(wallet->IsMine(txout))
+ {
+ // Ignore parts sent to self, as this is usually the change
+ // from a transaction sent back to our own address.
+ continue;
+ }
- for (int nOut = 0; nOut < wtx.vout.size(); nOut++)
+ CTxDestination address;
+ if (ExtractDestination(txout.scriptPubKey, address))
{
- const CTxOut& txout = wtx.vout[nOut];
- TransactionRecord sub(hash, nTime);
- sub.idx = parts.size();
-
- if(wallet->IsMine(txout))
- {
- // Ignore parts sent to self, as this is usually the change
- // from a transaction sent back to our own address.
- continue;
- }
-
- CBitcoinAddress address;
- if (ExtractAddress(txout.scriptPubKey, address))
- {
- // Sent to Bitcoin Address
- sub.type = TransactionRecord::SendToAddress;
- sub.address = address.ToString();
- }
- else
- {
- // Sent to IP, or other non-address transaction like OP_EVAL
- sub.type = TransactionRecord::SendToOther;
- sub.address = mapValue["to"];
- }
-
- int64 nValue = txout.nValue;
- /* Add fee to first output */
- if (nTxFee > 0)
- {
- nValue += nTxFee;
- nTxFee = 0;
- }
- sub.debit = -nValue;
-
- parts.append(sub);
+ // Sent to Bitcoin Address
+ sub.type = TransactionRecord::SendToAddress;
+ sub.address = CBitcoinAddress(address).ToString();
}
+ else
+ {
+ // Sent to IP, or other non-address transaction like OP_EVAL
+ sub.type = TransactionRecord::SendToOther;
+ sub.address = mapValue["to"];
+ }
+
+ int64 nValue = txout.nValue;
+ /* Add fee to first output */
+ if (nTxFee > 0)
+ {
+ nValue += nTxFee;
+ nTxFee = 0;
+ }
+ sub.debit = -nValue;
+
+ parts.append(sub);
}
- else
- {
- //
- // Mixed debit transaction, can't break down payees
- //
- parts.append(TransactionRecord(hash, nTime, TransactionRecord::Other, "", nNet, 0));
- }
+ }
+ else
+ {
+ //
+ // Mixed debit transaction, can't break down payees
+ //
+ parts.append(TransactionRecord(hash, nTime, TransactionRecord::Other, "", nNet, 0));
}
}
diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp
index fb009387bb..847c9e9733 100644
--- a/src/qt/transactiontablemodel.cpp
+++ b/src/qt/transactiontablemodel.cpp
@@ -9,6 +9,7 @@
#include "bitcoinunits.h"
#include "wallet.h"
+#include "ui_interface.h"
#include <QLocale>
#include <QList>
@@ -66,15 +67,14 @@ public:
*/
void refreshWallet()
{
-#ifdef WALLET_UPDATE_DEBUG
- qDebug() << "refreshWallet";
-#endif
+ OutputDebugStringF("refreshWallet\n");
cachedWallet.clear();
{
LOCK(wallet->cs_wallet);
for(std::map<uint256, CWalletTx>::iterator it = wallet->mapWallet.begin(); it != wallet->mapWallet.end(); ++it)
{
- cachedWallet.append(TransactionRecord::decomposeTransaction(wallet, it->second));
+ if(TransactionRecord::showTransaction(it->second))
+ cachedWallet.append(TransactionRecord::decomposeTransaction(wallet, it->second));
}
}
}
@@ -82,49 +82,55 @@ public:
/* Update our model of the wallet incrementally, to synchronize our model of the wallet
with that of the core.
- Call with list of hashes of transactions that were added, removed or changed.
+ Call with transaction that was added, removed or changed.
*/
- void updateWallet(const QList<uint256> &updated)
+ void updateWallet(const uint256 &hash, int status)
{
- // Walk through updated transactions, update model as needed.
-#ifdef WALLET_UPDATE_DEBUG
- qDebug() << "updateWallet";
-#endif
- // Sort update list, and iterate through it in reverse, so that model updates
- // can be emitted from end to beginning (so that earlier updates will not influence
- // the indices of latter ones).
- QList<uint256> updated_sorted = updated;
- qSort(updated_sorted);
-
+ OutputDebugStringF("updateWallet %s %i\n", hash.ToString().c_str(), status);
{
LOCK(wallet->cs_wallet);
- for(int update_idx = updated_sorted.size()-1; update_idx >= 0; --update_idx)
+
+ // Find transaction in wallet
+ std::map<uint256, CWalletTx>::iterator mi = wallet->mapWallet.find(hash);
+ bool inWallet = mi != wallet->mapWallet.end();
+
+ // Find bounds of this transaction in model
+ QList<TransactionRecord>::iterator lower = qLowerBound(
+ cachedWallet.begin(), cachedWallet.end(), hash, TxLessThan());
+ QList<TransactionRecord>::iterator upper = qUpperBound(
+ cachedWallet.begin(), cachedWallet.end(), hash, TxLessThan());
+ int lowerIndex = (lower - cachedWallet.begin());
+ int upperIndex = (upper - cachedWallet.begin());
+ bool inModel = (lower != upper);
+
+ // Determine whether to show transaction or not
+ bool showTransaction = (inWallet && TransactionRecord::showTransaction(mi->second));
+
+ if(status == CT_UPDATED)
{
- const uint256 &hash = updated_sorted.at(update_idx);
- // Find transaction in wallet
- std::map<uint256, CWalletTx>::iterator mi = wallet->mapWallet.find(hash);
- bool inWallet = mi != wallet->mapWallet.end();
- // Find bounds of this transaction in model
- QList<TransactionRecord>::iterator lower = qLowerBound(
- cachedWallet.begin(), cachedWallet.end(), hash, TxLessThan());
- QList<TransactionRecord>::iterator upper = qUpperBound(
- cachedWallet.begin(), cachedWallet.end(), hash, TxLessThan());
- int lowerIndex = (lower - cachedWallet.begin());
- int upperIndex = (upper - cachedWallet.begin());
-
- // Determine if transaction is in model already
- bool inModel = false;
- if(lower != upper)
- {
- inModel = true;
- }
+ if(showTransaction && !inModel)
+ status = CT_NEW; /* Not in model, but want to show, treat as new */
+ if(!showTransaction && inModel)
+ status = CT_DELETED; /* In model, but want to hide, treat as deleted */
+ }
-#ifdef WALLET_UPDATE_DEBUG
- qDebug() << " " << QString::fromStdString(hash.ToString()) << inWallet << " " << inModel
- << lowerIndex << "-" << upperIndex;
-#endif
+ OutputDebugStringF(" inWallet=%i inModel=%i Index=%i-%i showTransaction=%i derivedStatus=%i\n",
+ inWallet, inModel, lowerIndex, upperIndex, showTransaction, status);
- if(inWallet && !inModel)
+ switch(status)
+ {
+ case CT_NEW:
+ if(inModel)
+ {
+ OutputDebugStringF("Warning: updateWallet: Got CT_NEW, but transaction is already in model\n");
+ break;
+ }
+ if(!inWallet)
+ {
+ OutputDebugStringF("Warning: updateWallet: Got CT_NEW, but transaction is not in wallet\n");
+ break;
+ }
+ if(showTransaction)
{
// Added -- insert at the right position
QList<TransactionRecord> toInsert =
@@ -141,17 +147,22 @@ public:
parent->endInsertRows();
}
}
- else if(!inWallet && inModel)
- {
- // Removed -- remove entire transaction from table
- parent->beginRemoveRows(QModelIndex(), lowerIndex, upperIndex-1);
- cachedWallet.erase(lower, upper);
- parent->endRemoveRows();
- }
- else if(inWallet && inModel)
+ break;
+ case CT_DELETED:
+ if(!inModel)
{
- // Updated -- nothing to do, status update will take care of this
+ OutputDebugStringF("Warning: updateWallet: Got CT_DELETED, but transaction is not in model\n");
+ break;
}
+ // Removed -- remove entire transaction from table
+ parent->beginRemoveRows(QModelIndex(), lowerIndex, upperIndex-1);
+ cachedWallet.erase(lower, upper);
+ parent->endRemoveRows();
+ break;
+ case CT_UPDATED:
+ // Miscellaneous updates -- nothing to do, status update will take care of this, and is only computed for
+ // visible transactions.
+ break;
}
}
}
@@ -209,14 +220,15 @@ TransactionTableModel::TransactionTableModel(CWallet* wallet, WalletModel *paren
QAbstractTableModel(parent),
wallet(wallet),
walletModel(parent),
- priv(new TransactionTablePriv(wallet, this))
+ priv(new TransactionTablePriv(wallet, this)),
+ cachedNumBlocks(0)
{
columns << QString() << tr("Date") << tr("Type") << tr("Address") << tr("Amount");
priv->refreshWallet();
QTimer *timer = new QTimer(this);
- connect(timer, SIGNAL(timeout()), this, SLOT(update()));
+ connect(timer, SIGNAL(timeout()), this, SLOT(updateConfirmations()));
timer->start(MODEL_UPDATE_DELAY);
connect(walletModel->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit()));
@@ -227,29 +239,23 @@ TransactionTableModel::~TransactionTableModel()
delete priv;
}
-void TransactionTableModel::update()
+void TransactionTableModel::updateTransaction(const QString &hash, int status)
{
- QList<uint256> updated;
+ uint256 updated;
+ updated.SetHex(hash.toStdString());
- // Check if there are changes to wallet map
- {
- TRY_LOCK(wallet->cs_wallet, lockWallet);
- if (lockWallet && !wallet->vWalletUpdated.empty())
- {
- BOOST_FOREACH(uint256 hash, wallet->vWalletUpdated)
- {
- updated.append(hash);
- }
- wallet->vWalletUpdated.clear();
- }
- }
+ priv->updateWallet(updated, status);
+}
- if(!updated.empty())
+void TransactionTableModel::updateConfirmations()
+{
+ if(nBestHeight != cachedNumBlocks)
{
- priv->updateWallet(updated);
-
- // Status (number of confirmations) and (possibly) description
- // columns changed for all rows.
+ cachedNumBlocks = nBestHeight;
+ // Blocks came in since last poll.
+ // Invalidate status (number of confirmations) and (possibly) description
+ // for all rows. Qt is smart enough to only actually request the data for the
+ // visible rows.
emit dataChanged(index(0, Status), index(priv->size()-1, Status));
emit dataChanged(index(0, ToAddress), index(priv->size()-1, ToAddress));
}
@@ -294,8 +300,7 @@ QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) cons
switch(wtx->status.maturity)
{
case TransactionStatus::Immature:
- status += "\n" + tr("Mined balance will be available in %n more blocks", "",
- wtx->status.matures_in);
+ status += "\n" + tr("Mined balance will be available when it matures in %n more block(s)", "", wtx->status.matures_in);
break;
case TransactionStatus::Mature:
break;
@@ -387,11 +392,11 @@ QString TransactionTableModel::formatTxToAddress(const TransactionRecord *wtx, b
return QString::fromStdString(wtx->address);
case TransactionRecord::RecvWithAddress:
case TransactionRecord::SendToAddress:
+ case TransactionRecord::Generated:
return lookupAddress(wtx->address, tooltip);
case TransactionRecord::SendToOther:
return QString::fromStdString(wtx->address);
case TransactionRecord::SendToSelf:
- case TransactionRecord::Generated:
default:
return tr("(n/a)");
}
@@ -404,13 +409,13 @@ QVariant TransactionTableModel::addressColor(const TransactionRecord *wtx) const
{
case TransactionRecord::RecvWithAddress:
case TransactionRecord::SendToAddress:
+ case TransactionRecord::Generated:
{
QString label = walletModel->getAddressTableModel()->labelForAddress(QString::fromStdString(wtx->address));
if(label.isEmpty())
return COLOR_BAREADDRESS;
} break;
case TransactionRecord::SendToSelf:
- case TransactionRecord::Generated:
return COLOR_BAREADDRESS;
default:
break;
diff --git a/src/qt/transactiontablemodel.h b/src/qt/transactiontablemodel.h
index bcd35b80e6..b0687d5399 100644
--- a/src/qt/transactiontablemodel.h
+++ b/src/qt/transactiontablemodel.h
@@ -60,6 +60,7 @@ private:
WalletModel *walletModel;
QStringList columns;
TransactionTablePriv *priv;
+ int cachedNumBlocks;
QString lookupAddress(const std::string &address, bool tooltip) const;
QVariant addressColor(const TransactionRecord *wtx) const;
@@ -72,9 +73,9 @@ private:
QVariant txStatusDecoration(const TransactionRecord *wtx) const;
QVariant txAddressDecoration(const TransactionRecord *wtx) const;
-private slots:
- void update();
public slots:
+ void updateTransaction(const QString &hash, int status);
+ void updateConfirmations();
void updateDisplayUnit();
friend class TransactionTablePriv;
diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp
index 61ec5f14bc..7acf5deaa3 100644
--- a/src/qt/transactionview.cpp
+++ b/src/qt/transactionview.cpp
@@ -38,7 +38,7 @@ TransactionView::TransactionView(QWidget *parent) :
QHBoxLayout *hlayout = new QHBoxLayout();
hlayout->setContentsMargins(0,0,0,0);
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
hlayout->setSpacing(5);
hlayout->addSpacing(26);
#else
@@ -47,7 +47,7 @@ TransactionView::TransactionView(QWidget *parent) :
#endif
dateWidget = new QComboBox(this);
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
dateWidget->setFixedWidth(121);
#else
dateWidget->setFixedWidth(120);
@@ -62,7 +62,7 @@ TransactionView::TransactionView(QWidget *parent) :
hlayout->addWidget(dateWidget);
typeWidget = new QComboBox(this);
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
typeWidget->setFixedWidth(121);
#else
typeWidget->setFixedWidth(120);
@@ -81,15 +81,17 @@ TransactionView::TransactionView(QWidget *parent) :
addressWidget = new QLineEdit(this);
#if QT_VERSION >= 0x040700
+ /* Do not move this to the XML file, Qt before 4.7 will choke on it */
addressWidget->setPlaceholderText(tr("Enter address or label to search"));
#endif
hlayout->addWidget(addressWidget);
amountWidget = new QLineEdit(this);
#if QT_VERSION >= 0x040700
+ /* Do not move this to the XML file, Qt before 4.7 will choke on it */
amountWidget->setPlaceholderText(tr("Min amount"));
#endif
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
amountWidget->setFixedWidth(97);
#else
amountWidget->setFixedWidth(100);
@@ -108,7 +110,7 @@ TransactionView::TransactionView(QWidget *parent) :
vlayout->setSpacing(0);
int width = view->verticalScrollBar()->sizeHint().width();
// Cover scroll bar width with spacing
-#ifdef Q_WS_MAC
+#ifdef Q_OS_MAC
hlayout->addSpacing(width+2);
#else
hlayout->addSpacing(width);
@@ -125,7 +127,7 @@ TransactionView::TransactionView(QWidget *parent) :
QAction *copyLabelAction = new QAction(tr("Copy label"), this);
QAction *copyAmountAction = new QAction(tr("Copy amount"), this);
QAction *editLabelAction = new QAction(tr("Edit label"), this);
- QAction *showDetailsAction = new QAction(tr("Show details..."), this);
+ QAction *showDetailsAction = new QAction(tr("Show transaction details"), this);
contextMenu = new QMenu();
contextMenu->addAction(copyAddressAction);
@@ -417,3 +419,13 @@ void TransactionView::dateRangeChanged()
QDateTime(dateFrom->date()),
QDateTime(dateTo->date()).addDays(1));
}
+
+void TransactionView::focusTransaction(const QModelIndex &idx)
+{
+ if(!transactionProxyModel)
+ return;
+ QModelIndex targetIdx = transactionProxyModel->mapFromSource(idx);
+ transactionView->scrollTo(targetIdx);
+ transactionView->setCurrentIndex(targetIdx);
+ transactionView->setFocus();
+}
diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h
index bc6e1e4e05..4ade3ecd5f 100644
--- a/src/qt/transactionview.h
+++ b/src/qt/transactionview.h
@@ -75,6 +75,7 @@ public slots:
void changedPrefix(const QString &prefix);
void changedAmount(const QString &amount);
void exportClicked();
+ void focusTransaction(const QModelIndex&);
};
diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp
index b9ccb06c09..3568616cd3 100644
--- a/src/qt/walletmodel.cpp
+++ b/src/qt/walletmodel.cpp
@@ -7,17 +7,33 @@
#include "ui_interface.h"
#include "wallet.h"
#include "walletdb.h" // for BackupWallet
+#include "base58.h"
#include <QSet>
+#include <QTimer>
WalletModel::WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *parent) :
QObject(parent), wallet(wallet), optionsModel(optionsModel), addressTableModel(0),
transactionTableModel(0),
- cachedBalance(0), cachedUnconfirmedBalance(0), cachedNumTransactions(0),
- cachedEncryptionStatus(Unencrypted)
+ cachedBalance(0), cachedUnconfirmedBalance(0), cachedImmatureBalance(0),
+ cachedNumTransactions(0),
+ cachedEncryptionStatus(Unencrypted),
+ cachedNumBlocks(0)
{
addressTableModel = new AddressTableModel(wallet, this);
transactionTableModel = new TransactionTableModel(wallet, this);
+
+ // This timer will be fired repeatedly to update the balance
+ pollTimer = new QTimer(this);
+ connect(pollTimer, SIGNAL(timeout()), this, SLOT(pollBalanceChanged()));
+ pollTimer->start(MODEL_UPDATE_DELAY);
+
+ subscribeToCoreSignals();
+}
+
+WalletModel::~WalletModel()
+{
+ unsubscribeFromCoreSignals();
}
qint64 WalletModel::getBalance() const
@@ -30,6 +46,11 @@ qint64 WalletModel::getUnconfirmedBalance() const
return wallet->GetUnconfirmedBalance();
}
+qint64 WalletModel::getImmatureBalance() const
+{
+ return wallet->GetImmatureBalance();
+}
+
int WalletModel::getNumTransactions() const
{
int numTransactions = 0;
@@ -40,30 +61,59 @@ int WalletModel::getNumTransactions() const
return numTransactions;
}
-void WalletModel::update()
+void WalletModel::updateStatus()
+{
+ EncryptionStatus newEncryptionStatus = getEncryptionStatus();
+
+ if(cachedEncryptionStatus != newEncryptionStatus)
+ emit encryptionStatusChanged(newEncryptionStatus);
+}
+
+void WalletModel::pollBalanceChanged()
+{
+ if(nBestHeight != cachedNumBlocks)
+ {
+ // Balance and number of transactions might have changed
+ cachedNumBlocks = nBestHeight;
+ checkBalanceChanged();
+ }
+}
+
+void WalletModel::checkBalanceChanged()
{
qint64 newBalance = getBalance();
qint64 newUnconfirmedBalance = getUnconfirmedBalance();
- int newNumTransactions = getNumTransactions();
- EncryptionStatus newEncryptionStatus = getEncryptionStatus();
+ qint64 newImmatureBalance = getImmatureBalance();
+
+ if(cachedBalance != newBalance || cachedUnconfirmedBalance != newUnconfirmedBalance || cachedImmatureBalance != newImmatureBalance)
+ {
+ cachedBalance = newBalance;
+ cachedUnconfirmedBalance = newUnconfirmedBalance;
+ cachedImmatureBalance = newImmatureBalance;
+ emit balanceChanged(newBalance, newUnconfirmedBalance, newImmatureBalance);
+ }
+}
+
+void WalletModel::updateTransaction(const QString &hash, int status)
+{
+ if(transactionTableModel)
+ transactionTableModel->updateTransaction(hash, status);
- if(cachedBalance != newBalance || cachedUnconfirmedBalance != newUnconfirmedBalance)
- emit balanceChanged(newBalance, newUnconfirmedBalance);
+ // Balance and number of transactions might have changed
+ checkBalanceChanged();
+ int newNumTransactions = getNumTransactions();
if(cachedNumTransactions != newNumTransactions)
+ {
+ cachedNumTransactions = newNumTransactions;
emit numTransactionsChanged(newNumTransactions);
-
- if(cachedEncryptionStatus != newEncryptionStatus)
- emit encryptionStatusChanged(newEncryptionStatus);
-
- cachedBalance = newBalance;
- cachedUnconfirmedBalance = newUnconfirmedBalance;
- cachedNumTransactions = newNumTransactions;
+ }
}
-void WalletModel::updateAddressList()
+void WalletModel::updateAddressBook(const QString &address, const QString &label, bool isMine, int status)
{
- addressTableModel->update();
+ if(addressTableModel)
+ addressTableModel->updateEntry(address, label, isMine, status);
}
bool WalletModel::validateAddress(const QString &address)
@@ -122,7 +172,7 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList<SendCoinsRecipie
foreach(const SendCoinsRecipient &rcp, recipients)
{
CScript scriptPubKey;
- scriptPubKey.SetBitcoinAddress(rcp.address.toStdString());
+ scriptPubKey.SetDestination(CBitcoinAddress(rcp.address.toStdString()).Get());
vecSend.push_back(make_pair(scriptPubKey, rcp.amount));
}
@@ -139,7 +189,7 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList<SendCoinsRecipie
}
return TransactionCreationFailed;
}
- if(!ThreadSafeAskFee(nFeeRequired, tr("Sending...").toStdString()))
+ if(!uiInterface.ThreadSafeAskFee(nFeeRequired, tr("Sending...").toStdString()))
{
return Aborted;
}
@@ -154,16 +204,17 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList<SendCoinsRecipie
foreach(const SendCoinsRecipient &rcp, recipients)
{
std::string strAddress = rcp.address.toStdString();
+ CTxDestination dest = CBitcoinAddress(strAddress).Get();
std::string strLabel = rcp.label.toStdString();
{
LOCK(wallet->cs_wallet);
- std::map<CBitcoinAddress, std::string>::iterator mi = wallet->mapAddressBook.find(strAddress);
+ std::map<CTxDestination, std::string>::iterator mi = wallet->mapAddressBook.find(dest);
// Check if we have a new address or an updated label
if (mi == wallet->mapAddressBook.end() || mi->second != strLabel)
{
- wallet->SetAddressBookName(strAddress, strLabel);
+ wallet->SetAddressBookName(dest, strLabel);
}
}
}
@@ -246,6 +297,47 @@ bool WalletModel::backupWallet(const QString &filename)
return BackupWallet(*wallet, filename.toLocal8Bit().data());
}
+// Handlers for core signals
+static void NotifyKeyStoreStatusChanged(WalletModel *walletmodel, CCryptoKeyStore *wallet)
+{
+ OutputDebugStringF("NotifyKeyStoreStatusChanged\n");
+ QMetaObject::invokeMethod(walletmodel, "updateStatus", Qt::QueuedConnection);
+}
+
+static void NotifyAddressBookChanged(WalletModel *walletmodel, CWallet *wallet, const CTxDestination &address, const std::string &label, bool isMine, ChangeType status)
+{
+ OutputDebugStringF("NotifyAddressBookChanged %s %s isMine=%i status=%i\n", CBitcoinAddress(address).ToString().c_str(), label.c_str(), isMine, status);
+ QMetaObject::invokeMethod(walletmodel, "updateAddressBook", Qt::QueuedConnection,
+ Q_ARG(QString, QString::fromStdString(CBitcoinAddress(address).ToString())),
+ Q_ARG(QString, QString::fromStdString(label)),
+ Q_ARG(bool, isMine),
+ Q_ARG(int, status));
+}
+
+static void NotifyTransactionChanged(WalletModel *walletmodel, CWallet *wallet, const uint256 &hash, ChangeType status)
+{
+ OutputDebugStringF("NotifyTransactionChanged %s status=%i\n", hash.GetHex().c_str(), status);
+ QMetaObject::invokeMethod(walletmodel, "updateTransaction", Qt::QueuedConnection,
+ Q_ARG(QString, QString::fromStdString(hash.GetHex())),
+ Q_ARG(int, status));
+}
+
+void WalletModel::subscribeToCoreSignals()
+{
+ // Connect signals to wallet
+ wallet->NotifyStatusChanged.connect(boost::bind(&NotifyKeyStoreStatusChanged, this, _1));
+ wallet->NotifyAddressBookChanged.connect(boost::bind(NotifyAddressBookChanged, this, _1, _2, _3, _4, _5));
+ wallet->NotifyTransactionChanged.connect(boost::bind(NotifyTransactionChanged, this, _1, _2, _3));
+}
+
+void WalletModel::unsubscribeFromCoreSignals()
+{
+ // Disconnect signals from wallet
+ wallet->NotifyStatusChanged.disconnect(boost::bind(&NotifyKeyStoreStatusChanged, this, _1));
+ wallet->NotifyAddressBookChanged.disconnect(boost::bind(NotifyAddressBookChanged, this, _1, _2, _3, _4, _5));
+ wallet->NotifyTransactionChanged.disconnect(boost::bind(NotifyTransactionChanged, this, _1, _2, _3));
+}
+
// WalletModel::UnlockContext implementation
WalletModel::UnlockContext WalletModel::requestUnlock()
{
diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h
index 6c47f61bef..62558a49df 100644
--- a/src/qt/walletmodel.h
+++ b/src/qt/walletmodel.h
@@ -10,6 +10,10 @@ class AddressTableModel;
class TransactionTableModel;
class CWallet;
+QT_BEGIN_NAMESPACE
+class QTimer;
+QT_END_NAMESPACE
+
class SendCoinsRecipient
{
public:
@@ -24,6 +28,7 @@ class WalletModel : public QObject
Q_OBJECT
public:
explicit WalletModel(CWallet *wallet, OptionsModel *optionsModel, QObject *parent = 0);
+ ~WalletModel();
enum StatusCode // Returned by sendCoins
{
@@ -51,6 +56,7 @@ public:
qint64 getBalance() const;
qint64 getUnconfirmedBalance() const;
+ qint64 getImmatureBalance() const;
int getNumTransactions() const;
EncryptionStatus getEncryptionStatus() const;
@@ -115,12 +121,20 @@ private:
// Cache some values to be able to detect changes
qint64 cachedBalance;
qint64 cachedUnconfirmedBalance;
+ qint64 cachedImmatureBalance;
qint64 cachedNumTransactions;
EncryptionStatus cachedEncryptionStatus;
+ int cachedNumBlocks;
+
+ QTimer *pollTimer;
+
+ void subscribeToCoreSignals();
+ void unsubscribeFromCoreSignals();
+ void checkBalanceChanged();
signals:
// Signal that balance in wallet changed
- void balanceChanged(qint64 balance, qint64 unconfirmedBalance);
+ void balanceChanged(qint64 balance, qint64 unconfirmedBalance, qint64 immatureBalance);
// Number of transactions in wallet changed
void numTransactionsChanged(int count);
@@ -137,8 +151,14 @@ signals:
void error(const QString &title, const QString &message, bool modal);
public slots:
- void update();
- void updateAddressList();
+ /* Wallet status might have changed */
+ void updateStatus();
+ /* New transaction, or transaction changed status */
+ void updateTransaction(const QString &hash, int status);
+ /* New, updated or removed address book entry */
+ void updateAddressBook(const QString &address, const QString &label, bool isMine, int status);
+ /* Current, immature or unconfirmed balance might have changed - emit 'balanceChanged' if so */
+ void pollBalanceChanged();
};
diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp
new file mode 100644
index 0000000000..2dfdf58422
--- /dev/null
+++ b/src/rpcblockchain.cpp
@@ -0,0 +1,165 @@
+// Copyright (c) 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 "main.h"
+#include "bitcoinrpc.h"
+
+using namespace json_spirit;
+using namespace std;
+
+double GetDifficulty(const CBlockIndex* blockindex)
+{
+ // Floating point number that is a multiple of the minimum difficulty,
+ // minimum difficulty = 1.0.
+ if (blockindex == NULL)
+ {
+ if (pindexBest == NULL)
+ return 1.0;
+ else
+ blockindex = pindexBest;
+ }
+
+ int nShift = (blockindex->nBits >> 24) & 0xff;
+
+ double dDiff =
+ (double)0x0000ffff / (double)(blockindex->nBits & 0x00ffffff);
+
+ while (nShift < 29)
+ {
+ dDiff *= 256.0;
+ nShift++;
+ }
+ while (nShift > 29)
+ {
+ dDiff /= 256.0;
+ nShift--;
+ }
+
+ return dDiff;
+}
+
+
+Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex)
+{
+ Object result;
+ result.push_back(Pair("hash", block.GetHash().GetHex()));
+ CMerkleTx txGen(block.vtx[0]);
+ txGen.SetMerkleBranch(&block);
+ result.push_back(Pair("confirmations", (int)txGen.GetDepthInMainChain()));
+ result.push_back(Pair("size", (int)::GetSerializeSize(block, SER_NETWORK, PROTOCOL_VERSION)));
+ result.push_back(Pair("height", blockindex->nHeight));
+ result.push_back(Pair("version", block.nVersion));
+ result.push_back(Pair("merkleroot", block.hashMerkleRoot.GetHex()));
+ Array txs;
+ BOOST_FOREACH(const CTransaction&tx, block.vtx)
+ txs.push_back(tx.GetHash().GetHex());
+ result.push_back(Pair("tx", txs));
+ result.push_back(Pair("time", (boost::int64_t)block.GetBlockTime()));
+ result.push_back(Pair("nonce", (boost::uint64_t)block.nNonce));
+ result.push_back(Pair("bits", HexBits(block.nBits)));
+ result.push_back(Pair("difficulty", GetDifficulty(blockindex)));
+
+ if (blockindex->pprev)
+ result.push_back(Pair("previousblockhash", blockindex->pprev->GetBlockHash().GetHex()));
+ if (blockindex->pnext)
+ result.push_back(Pair("nextblockhash", blockindex->pnext->GetBlockHash().GetHex()));
+ return result;
+}
+
+
+Value getblockcount(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "getblockcount\n"
+ "Returns the number of blocks in the longest block chain.");
+
+ return nBestHeight;
+}
+
+
+Value getdifficulty(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "getdifficulty\n"
+ "Returns the proof-of-work difficulty as a multiple of the minimum difficulty.");
+
+ return GetDifficulty();
+}
+
+
+Value settxfee(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 1)
+ throw runtime_error(
+ "settxfee <amount>\n"
+ "<amount> is a real and is rounded to the nearest 0.00000001");
+
+ // Amount
+ int64 nAmount = 0;
+ if (params[0].get_real() != 0.0)
+ nAmount = AmountFromValue(params[0]); // rejects 0.0 amounts
+
+ nTransactionFee = nAmount;
+ return true;
+}
+
+Value getrawmempool(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "getrawmempool\n"
+ "Returns all transaction ids in memory pool.");
+
+ vector<uint256> vtxid;
+ mempool.queryHashes(vtxid);
+
+ Array a;
+ BOOST_FOREACH(const uint256& hash, vtxid)
+ a.push_back(hash.ToString());
+
+ return a;
+}
+
+Value getblockhash(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "getblockhash <index>\n"
+ "Returns hash of block in best-block-chain at <index>.");
+
+ int nHeight = params[0].get_int();
+ if (nHeight < 0 || nHeight > nBestHeight)
+ throw runtime_error("Block number out of range.");
+
+ CBlockIndex* pblockindex = FindBlockByHeight(nHeight);
+ return pblockindex->phashBlock->GetHex();
+}
+
+Value getblock(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "getblock <hash>\n"
+ "Returns details of a block with given block-hash.");
+
+ std::string strHash = params[0].get_str();
+ uint256 hash(strHash);
+
+ if (mapBlockIndex.count(hash) == 0)
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found");
+
+ CBlock block;
+ CBlockIndex* pblockindex = mapBlockIndex[hash];
+ block.ReadFromDisk(pblockindex, true);
+
+ return blockToJSON(block, pblockindex);
+}
+
+
+
+
+
diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp
index 2db4882068..55d5d79e23 100644
--- a/src/rpcdump.cpp
+++ b/src/rpcdump.cpp
@@ -5,21 +5,15 @@
#include "init.h" // for pwalletMain
#include "bitcoinrpc.h"
#include "ui_interface.h"
+#include "base58.h"
#include <boost/lexical_cast.hpp>
-#include "json/json_spirit_reader_template.h"
-#include "json/json_spirit_writer_template.h"
-#include "json/json_spirit_utils.h"
-
#define printf OutputDebugStringF
-// using namespace boost::asio;
using namespace json_spirit;
using namespace std;
-extern Object JSONRPCError(int code, const string& message);
-
class CTxDump
{
public:
@@ -52,14 +46,13 @@ Value importprivkey(const Array& params, bool fHelp)
CBitcoinSecret vchSecret;
bool fGood = vchSecret.SetString(strSecret);
- if (!fGood) throw JSONRPCError(-5,"Invalid private key");
+ if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key");
CKey key;
bool fCompressed;
CSecret secret = vchSecret.GetSecret(fCompressed);
key.SetSecret(secret, fCompressed);
- CBitcoinAddress vchAddress = CBitcoinAddress(key.GetPubKey());
-
+ CKeyID vchAddress = key.GetPubKey().GetID();
{
LOCK2(cs_main, pwalletMain->cs_wallet);
@@ -67,14 +60,12 @@ Value importprivkey(const Array& params, bool fHelp)
pwalletMain->SetAddressBookName(vchAddress, strLabel);
if (!pwalletMain->AddKey(key))
- throw JSONRPCError(-4,"Error adding key to wallet");
+ throw JSONRPCError(RPC_WALLET_ERROR, "Error adding key to wallet");
pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true);
pwalletMain->ReacceptWalletTransactions();
}
- MainFrameRepaint();
-
return Value::null;
}
@@ -88,10 +79,13 @@ Value dumpprivkey(const Array& params, bool fHelp)
string strAddress = params[0].get_str();
CBitcoinAddress address;
if (!address.SetString(strAddress))
- throw JSONRPCError(-5, "Invalid bitcoin address");
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Bitcoin address");
+ CKeyID keyID;
+ if (!address.GetKeyID(keyID))
+ throw JSONRPCError(RPC_TYPE_ERROR, "Address does not refer to a key");
CSecret vchSecret;
bool fCompressed;
- if (!pwalletMain->GetSecret(address, vchSecret, fCompressed))
- throw JSONRPCError(-4,"Private key for address " + strAddress + " is not known");
+ if (!pwalletMain->GetSecret(keyID, vchSecret, fCompressed))
+ throw JSONRPCError(RPC_WALLET_ERROR, "Private key for address " + strAddress + " is not known");
return CBitcoinSecret(vchSecret, fCompressed).ToString();
}
diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp
new file mode 100644
index 0000000000..96712482d5
--- /dev/null
+++ b/src/rpcmining.cpp
@@ -0,0 +1,381 @@
+// Copyright (c) 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 "main.h"
+#include "db.h"
+#include "init.h"
+#include "bitcoinrpc.h"
+
+using namespace json_spirit;
+using namespace std;
+
+Value getgenerate(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "getgenerate\n"
+ "Returns true or false.");
+
+ return GetBoolArg("-gen");
+}
+
+
+Value setgenerate(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 2)
+ throw runtime_error(
+ "setgenerate <generate> [genproclimit]\n"
+ "<generate> is true or false to turn generation on or off.\n"
+ "Generation is limited to [genproclimit] processors, -1 is unlimited.");
+
+ bool fGenerate = true;
+ if (params.size() > 0)
+ fGenerate = params[0].get_bool();
+
+ if (params.size() > 1)
+ {
+ int nGenProcLimit = params[1].get_int();
+ mapArgs["-genproclimit"] = itostr(nGenProcLimit);
+ if (nGenProcLimit == 0)
+ fGenerate = false;
+ }
+ mapArgs["-gen"] = (fGenerate ? "1" : "0");
+
+ GenerateBitcoins(fGenerate, pwalletMain);
+ return Value::null;
+}
+
+
+Value gethashespersec(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "gethashespersec\n"
+ "Returns a recent hashes per second performance measurement while generating.");
+
+ if (GetTimeMillis() - nHPSTimerStart > 8000)
+ return (boost::int64_t)0;
+ return (boost::int64_t)dHashesPerSec;
+}
+
+
+Value getmininginfo(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "getmininginfo\n"
+ "Returns an object containing mining-related information.");
+
+ Object obj;
+ obj.push_back(Pair("blocks", (int)nBestHeight));
+ obj.push_back(Pair("currentblocksize",(uint64_t)nLastBlockSize));
+ obj.push_back(Pair("currentblocktx",(uint64_t)nLastBlockTx));
+ obj.push_back(Pair("difficulty", (double)GetDifficulty()));
+ obj.push_back(Pair("errors", GetWarnings("statusbar")));
+ obj.push_back(Pair("generate", GetBoolArg("-gen")));
+ obj.push_back(Pair("genproclimit", (int)GetArg("-genproclimit", -1)));
+ obj.push_back(Pair("hashespersec", gethashespersec(params, false)));
+ obj.push_back(Pair("pooledtx", (uint64_t)mempool.size()));
+ obj.push_back(Pair("testnet", fTestNet));
+ return obj;
+}
+
+
+Value getwork(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 1)
+ throw runtime_error(
+ "getwork [data]\n"
+ "If [data] is not specified, returns formatted hash data to work on:\n"
+ " \"midstate\" : precomputed hash state after hashing the first half of the data (DEPRECATED)\n" // deprecated
+ " \"data\" : block data\n"
+ " \"hash1\" : formatted hash buffer for second hash (DEPRECATED)\n" // deprecated
+ " \"target\" : little endian hash target\n"
+ "If [data] is specified, tries to solve the block and returns true if it was successful.");
+
+ if (vNodes.empty())
+ throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "Bitcoin is not connected!");
+
+ if (IsInitialBlockDownload())
+ throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Bitcoin is downloading blocks...");
+
+ typedef map<uint256, pair<CBlock*, CScript> > mapNewBlock_t;
+ static mapNewBlock_t mapNewBlock; // FIXME: thread safety
+ static vector<CBlock*> vNewBlock;
+ static CReserveKey reservekey(pwalletMain);
+
+ if (params.size() == 0)
+ {
+ // Update block
+ static unsigned int nTransactionsUpdatedLast;
+ static CBlockIndex* pindexPrev;
+ static int64 nStart;
+ static CBlock* pblock;
+ if (pindexPrev != pindexBest ||
+ (nTransactionsUpdated != nTransactionsUpdatedLast && GetTime() - nStart > 60))
+ {
+ if (pindexPrev != pindexBest)
+ {
+ // Deallocate old blocks since they're obsolete now
+ mapNewBlock.clear();
+ BOOST_FOREACH(CBlock* pblock, vNewBlock)
+ delete pblock;
+ vNewBlock.clear();
+ }
+
+ // Clear pindexPrev so future getworks make a new block, despite any failures from here on
+ pindexPrev = NULL;
+
+ // Store the pindexBest used before CreateNewBlock, to avoid races
+ nTransactionsUpdatedLast = nTransactionsUpdated;
+ CBlockIndex* pindexPrevNew = pindexBest;
+ nStart = GetTime();
+
+ // Create new block
+ pblock = CreateNewBlock(reservekey);
+ if (!pblock)
+ throw JSONRPCError(RPC_OUT_OF_MEMORY, "Out of memory");
+ vNewBlock.push_back(pblock);
+
+ // Need to update only after we know CreateNewBlock succeeded
+ pindexPrev = pindexPrevNew;
+ }
+
+ // Update nTime
+ pblock->UpdateTime(pindexPrev);
+ pblock->nNonce = 0;
+
+ // Update nExtraNonce
+ static unsigned int nExtraNonce = 0;
+ IncrementExtraNonce(pblock, pindexPrev, nExtraNonce);
+
+ // Save
+ mapNewBlock[pblock->hashMerkleRoot] = make_pair(pblock, pblock->vtx[0].vin[0].scriptSig);
+
+ // Pre-build hash buffers
+ char pmidstate[32];
+ char pdata[128];
+ char phash1[64];
+ FormatHashBuffers(pblock, pmidstate, pdata, phash1);
+
+ uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256();
+
+ Object result;
+ result.push_back(Pair("midstate", HexStr(BEGIN(pmidstate), END(pmidstate)))); // deprecated
+ result.push_back(Pair("data", HexStr(BEGIN(pdata), END(pdata))));
+ result.push_back(Pair("hash1", HexStr(BEGIN(phash1), END(phash1)))); // deprecated
+ result.push_back(Pair("target", HexStr(BEGIN(hashTarget), END(hashTarget))));
+ return result;
+ }
+ else
+ {
+ // Parse parameters
+ vector<unsigned char> vchData = ParseHex(params[0].get_str());
+ if (vchData.size() != 128)
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter");
+ CBlock* pdata = (CBlock*)&vchData[0];
+
+ // Byte reverse
+ for (int i = 0; i < 128/4; i++)
+ ((unsigned int*)pdata)[i] = ByteReverse(((unsigned int*)pdata)[i]);
+
+ // Get saved block
+ if (!mapNewBlock.count(pdata->hashMerkleRoot))
+ return false;
+ CBlock* pblock = mapNewBlock[pdata->hashMerkleRoot].first;
+
+ pblock->nTime = pdata->nTime;
+ pblock->nNonce = pdata->nNonce;
+ pblock->vtx[0].vin[0].scriptSig = mapNewBlock[pdata->hashMerkleRoot].second;
+ pblock->hashMerkleRoot = pblock->BuildMerkleTree();
+
+ return CheckWork(pblock, *pwalletMain, reservekey);
+ }
+}
+
+
+Value getblocktemplate(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 1)
+ throw runtime_error(
+ "getblocktemplate [params]\n"
+ "Returns data needed to construct a block to work on:\n"
+ " \"version\" : block version\n"
+ " \"previousblockhash\" : hash of current highest block\n"
+ " \"transactions\" : contents of non-coinbase transactions that should be included in the next block\n"
+ " \"coinbaseaux\" : data that should be included in coinbase\n"
+ " \"coinbasevalue\" : maximum allowable input to coinbase transaction, including the generation award and transaction fees\n"
+ " \"target\" : hash target\n"
+ " \"mintime\" : minimum timestamp appropriate for next block\n"
+ " \"curtime\" : current timestamp\n"
+ " \"mutable\" : list of ways the block template may be changed\n"
+ " \"noncerange\" : range of valid nonces\n"
+ " \"sigoplimit\" : limit of sigops in blocks\n"
+ " \"sizelimit\" : limit of block size\n"
+ " \"bits\" : compressed target of next block\n"
+ " \"height\" : height of the next block\n"
+ "See https://en.bitcoin.it/wiki/BIP_0022 for full specification.");
+
+ std::string strMode = "template";
+ if (params.size() > 0)
+ {
+ const Object& oparam = params[0].get_obj();
+ const Value& modeval = find_value(oparam, "mode");
+ if (modeval.type() == str_type)
+ strMode = modeval.get_str();
+ else if (modeval.type() == null_type)
+ {
+ /* Do nothing */
+ }
+ else
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid mode");
+ }
+
+ if (strMode != "template")
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid mode");
+
+ if (vNodes.empty())
+ throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, "Bitcoin is not connected!");
+
+ 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;
+ static int64 nStart;
+ static CBlock* pblock;
+ if (pindexPrev != pindexBest ||
+ (nTransactionsUpdated != nTransactionsUpdatedLast && GetTime() - nStart > 5))
+ {
+ // Clear pindexPrev so future calls make a new block, despite any failures from here on
+ pindexPrev = NULL;
+
+ // Store the pindexBest used before CreateNewBlock, to avoid races
+ nTransactionsUpdatedLast = nTransactionsUpdated;
+ CBlockIndex* pindexPrevNew = pindexBest;
+ nStart = GetTime();
+
+ // Create new block
+ if(pblock)
+ {
+ delete pblock;
+ pblock = NULL;
+ }
+ pblock = CreateNewBlock(reservekey);
+ if (!pblock)
+ throw JSONRPCError(RPC_OUT_OF_MEMORY, "Out of memory");
+
+ // Need to update only after we know CreateNewBlock succeeded
+ pindexPrev = pindexPrevNew;
+ }
+
+ // Update nTime
+ pblock->UpdateTime(pindexPrev);
+ pblock->nNonce = 0;
+
+ Array transactions;
+ map<uint256, int64_t> setTxIndex;
+ int i = 0;
+ CTxDB txdb("r");
+ BOOST_FOREACH (CTransaction& tx, pblock->vtx)
+ {
+ uint256 txHash = tx.GetHash();
+ setTxIndex[txHash] = i++;
+
+ if (tx.IsCoinBase())
+ continue;
+
+ Object entry;
+
+ CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
+ ssTx << tx;
+ entry.push_back(Pair("data", HexStr(ssTx.begin(), ssTx.end())));
+
+ entry.push_back(Pair("hash", txHash.GetHex()));
+
+ MapPrevTx mapInputs;
+ map<uint256, CTxIndex> mapUnused;
+ bool fInvalid = false;
+ if (tx.FetchInputs(txdb, mapUnused, false, false, mapInputs, fInvalid))
+ {
+ entry.push_back(Pair("fee", (int64_t)(tx.GetValueIn(mapInputs) - tx.GetValueOut())));
+
+ Array deps;
+ BOOST_FOREACH (MapPrevTx::value_type& inp, mapInputs)
+ {
+ if (setTxIndex.count(inp.first))
+ deps.push_back(setTxIndex[inp.first]);
+ }
+ entry.push_back(Pair("depends", deps));
+
+ int64_t nSigOps = tx.GetLegacySigOpCount();
+ nSigOps += tx.GetP2SHSigOpCount(mapInputs);
+ entry.push_back(Pair("sigops", nSigOps));
+ }
+
+ transactions.push_back(entry);
+ }
+
+ Object aux;
+ aux.push_back(Pair("flags", HexStr(COINBASE_FLAGS.begin(), COINBASE_FLAGS.end())));
+
+ uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256();
+
+ static Array aMutable;
+ if (aMutable.empty())
+ {
+ aMutable.push_back("time");
+ aMutable.push_back("transactions");
+ aMutable.push_back("prevblock");
+ }
+
+ Object result;
+ result.push_back(Pair("version", pblock->nVersion));
+ result.push_back(Pair("previousblockhash", pblock->hashPrevBlock.GetHex()));
+ result.push_back(Pair("transactions", transactions));
+ result.push_back(Pair("coinbaseaux", aux));
+ result.push_back(Pair("coinbasevalue", (int64_t)pblock->vtx[0].vout[0].nValue));
+ result.push_back(Pair("target", hashTarget.GetHex()));
+ result.push_back(Pair("mintime", (int64_t)pindexPrev->GetMedianTimePast()+1));
+ result.push_back(Pair("mutable", aMutable));
+ result.push_back(Pair("noncerange", "00000000ffffffff"));
+ result.push_back(Pair("sigoplimit", (int64_t)MAX_BLOCK_SIGOPS));
+ result.push_back(Pair("sizelimit", (int64_t)MAX_BLOCK_SIZE));
+ result.push_back(Pair("curtime", (int64_t)pblock->nTime));
+ result.push_back(Pair("bits", HexBits(pblock->nBits)));
+ result.push_back(Pair("height", (int64_t)(pindexPrev->nHeight+1)));
+
+ return result;
+}
+
+Value submitblock(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 2)
+ throw runtime_error(
+ "submitblock <hex data> [optional-params-obj]\n"
+ "[optional-params-obj] parameter is currently ignored.\n"
+ "Attempts to submit new block to network.\n"
+ "See https://en.bitcoin.it/wiki/BIP_0022 for full specification.");
+
+ vector<unsigned char> blockData(ParseHex(params[0].get_str()));
+ CDataStream ssBlock(blockData, SER_NETWORK, PROTOCOL_VERSION);
+ CBlock block;
+ try {
+ ssBlock >> block;
+ }
+ catch (std::exception &e) {
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Block decode failed");
+ }
+
+ bool fAccepted = ProcessBlock(NULL, &block);
+ if (!fAccepted)
+ return "rejected";
+
+ return Value::null;
+}
+
diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp
new file mode 100644
index 0000000000..491297eb1d
--- /dev/null
+++ b/src/rpcnet.cpp
@@ -0,0 +1,67 @@
+// 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.
+
+#include "net.h"
+#include "bitcoinrpc.h"
+
+using namespace json_spirit;
+using namespace std;
+
+Value getconnectioncount(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "getconnectioncount\n"
+ "Returns the number of connections to other nodes.");
+
+ LOCK(cs_vNodes);
+ return (int)vNodes.size();
+}
+
+static void CopyNodeStats(std::vector<CNodeStats>& vstats)
+{
+ vstats.clear();
+
+ LOCK(cs_vNodes);
+ vstats.reserve(vNodes.size());
+ BOOST_FOREACH(CNode* pnode, vNodes) {
+ CNodeStats stats;
+ pnode->copyStats(stats);
+ vstats.push_back(stats);
+ }
+}
+
+Value getpeerinfo(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "getpeerinfo\n"
+ "Returns data about each connected network node.");
+
+ vector<CNodeStats> vstats;
+ CopyNodeStats(vstats);
+
+ Array ret;
+
+ BOOST_FOREACH(const CNodeStats& stats, vstats) {
+ Object obj;
+
+ obj.push_back(Pair("addr", stats.addrName));
+ 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("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));
+
+ ret.push_back(obj);
+ }
+
+ return ret;
+}
+
diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp
new file mode 100644
index 0000000000..e634ed7ddc
--- /dev/null
+++ b/src/rpcrawtransaction.cpp
@@ -0,0 +1,531 @@
+// Copyright (c) 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 <boost/assign/list_of.hpp>
+
+#include "base58.h"
+#include "bitcoinrpc.h"
+#include "db.h"
+#include "init.h"
+#include "main.h"
+#include "net.h"
+#include "wallet.h"
+
+using namespace std;
+using namespace boost;
+using namespace boost::assign;
+using namespace json_spirit;
+
+void ScriptPubKeyToJSON(const CScript& scriptPubKey, Object& out)
+{
+ txnouttype type;
+ vector<CTxDestination> addresses;
+ int nRequired;
+
+ out.push_back(Pair("asm", scriptPubKey.ToString()));
+ out.push_back(Pair("hex", HexStr(scriptPubKey.begin(), scriptPubKey.end())));
+
+ if (!ExtractDestinations(scriptPubKey, type, addresses, nRequired))
+ {
+ out.push_back(Pair("type", GetTxnOutputType(TX_NONSTANDARD)));
+ return;
+ }
+
+ out.push_back(Pair("reqSigs", nRequired));
+ out.push_back(Pair("type", GetTxnOutputType(type)));
+
+ Array a;
+ BOOST_FOREACH(const CTxDestination& addr, addresses)
+ a.push_back(CBitcoinAddress(addr).ToString());
+ out.push_back(Pair("addresses", a));
+}
+
+void TxToJSON(const CTransaction& tx, const uint256 hashBlock, Object& entry)
+{
+ entry.push_back(Pair("txid", tx.GetHash().GetHex()));
+ entry.push_back(Pair("version", tx.nVersion));
+ entry.push_back(Pair("locktime", (boost::int64_t)tx.nLockTime));
+ Array vin;
+ BOOST_FOREACH(const CTxIn& txin, tx.vin)
+ {
+ Object in;
+ if (tx.IsCoinBase())
+ in.push_back(Pair("coinbase", HexStr(txin.scriptSig.begin(), txin.scriptSig.end())));
+ else
+ {
+ in.push_back(Pair("txid", txin.prevout.hash.GetHex()));
+ in.push_back(Pair("vout", (boost::int64_t)txin.prevout.n));
+ Object o;
+ o.push_back(Pair("asm", txin.scriptSig.ToString()));
+ o.push_back(Pair("hex", HexStr(txin.scriptSig.begin(), txin.scriptSig.end())));
+ in.push_back(Pair("scriptSig", o));
+ }
+ in.push_back(Pair("sequence", (boost::int64_t)txin.nSequence));
+ vin.push_back(in);
+ }
+ entry.push_back(Pair("vin", vin));
+ Array vout;
+ for (unsigned int i = 0; i < tx.vout.size(); i++)
+ {
+ const CTxOut& txout = tx.vout[i];
+ Object out;
+ out.push_back(Pair("value", ValueFromAmount(txout.nValue)));
+ out.push_back(Pair("n", (boost::int64_t)i));
+ Object o;
+ ScriptPubKeyToJSON(txout.scriptPubKey, o);
+ out.push_back(Pair("scriptPubKey", o));
+ vout.push_back(out);
+ }
+ entry.push_back(Pair("vout", vout));
+
+ if (hashBlock != 0)
+ {
+ entry.push_back(Pair("blockhash", hashBlock.GetHex()));
+ map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.find(hashBlock);
+ if (mi != mapBlockIndex.end() && (*mi).second)
+ {
+ CBlockIndex* pindex = (*mi).second;
+ if (pindex->IsInMainChain())
+ {
+ entry.push_back(Pair("confirmations", 1 + nBestHeight - pindex->nHeight));
+ entry.push_back(Pair("time", (boost::int64_t)pindex->nTime));
+ entry.push_back(Pair("blocktime", (boost::int64_t)pindex->nTime));
+ }
+ else
+ entry.push_back(Pair("confirmations", 0));
+ }
+ }
+}
+
+Value getrawtransaction(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 2)
+ throw runtime_error(
+ "getrawtransaction <txid> [verbose=0]\n"
+ "If verbose=0, returns a string that is\n"
+ "serialized, hex-encoded data for <txid>.\n"
+ "If verbose is non-zero, returns an Object\n"
+ "with information about <txid>.");
+
+ uint256 hash;
+ hash.SetHex(params[0].get_str());
+
+ bool fVerbose = false;
+ if (params.size() > 1)
+ fVerbose = (params[1].get_int() != 0);
+
+ CTransaction tx;
+ uint256 hashBlock = 0;
+ if (!GetTransaction(hash, tx, hashBlock))
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available about transaction");
+
+ CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
+ ssTx << tx;
+ string strHex = HexStr(ssTx.begin(), ssTx.end());
+
+ if (!fVerbose)
+ return strHex;
+
+ Object result;
+ result.push_back(Pair("hex", strHex));
+ TxToJSON(tx, hashBlock, result);
+ return result;
+}
+
+Value listunspent(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 3)
+ throw runtime_error(
+ "listunspent [minconf=1] [maxconf=9999999] [\"address\",...]\n"
+ "Returns array of unspent transaction outputs\n"
+ "with between minconf and maxconf (inclusive) confirmations.\n"
+ "Optionally filtered to only include txouts paid to specified addresses.\n"
+ "Results are an array of Objects, each of which has:\n"
+ "{txid, vout, scriptPubKey, amount, confirmations}");
+
+ RPCTypeCheck(params, list_of(int_type)(int_type)(array_type));
+
+ int nMinDepth = 1;
+ if (params.size() > 0)
+ nMinDepth = params[0].get_int();
+
+ int nMaxDepth = 9999999;
+ if (params.size() > 1)
+ nMaxDepth = params[1].get_int();
+
+ set<CBitcoinAddress> setAddress;
+ if (params.size() > 2)
+ {
+ Array inputs = params[2].get_array();
+ BOOST_FOREACH(Value& input, inputs)
+ {
+ CBitcoinAddress address(input.get_str());
+ if (!address.IsValid())
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, string("Invalid Bitcoin address: ")+input.get_str());
+ if (setAddress.count(address))
+ throw JSONRPCError(RPC_INVALID_PARAMETER, string("Invalid parameter, duplicated address: ")+input.get_str());
+ setAddress.insert(address);
+ }
+ }
+
+ Array results;
+ vector<COutput> vecOutputs;
+ pwalletMain->AvailableCoins(vecOutputs, false);
+ BOOST_FOREACH(const COutput& out, vecOutputs)
+ {
+ if (out.nDepth < nMinDepth || out.nDepth > nMaxDepth)
+ continue;
+
+ if(setAddress.size())
+ {
+ CTxDestination address;
+ if(!ExtractDestination(out.tx->vout[out.i].scriptPubKey, address))
+ continue;
+
+ if (!setAddress.count(address))
+ continue;
+ }
+
+ int64 nValue = out.tx->vout[out.i].nValue;
+ const CScript& pk = out.tx->vout[out.i].scriptPubKey;
+ Object entry;
+ entry.push_back(Pair("txid", out.tx->GetHash().GetHex()));
+ entry.push_back(Pair("vout", out.i));
+ entry.push_back(Pair("scriptPubKey", HexStr(pk.begin(), pk.end())));
+ entry.push_back(Pair("amount",ValueFromAmount(nValue)));
+ entry.push_back(Pair("confirmations",out.nDepth));
+ results.push_back(entry);
+ }
+
+ return results;
+}
+
+Value createrawtransaction(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 2)
+ throw runtime_error(
+ "createrawtransaction [{\"txid\":txid,\"vout\":n},...] {address:amount,...}\n"
+ "Create a transaction spending given inputs\n"
+ "(array of objects containing transaction id and output number),\n"
+ "sending to given address(es).\n"
+ "Returns hex-encoded raw transaction.\n"
+ "Note that the transaction's inputs are not signed, and\n"
+ "it is not stored in the wallet or transmitted to the network.");
+
+ RPCTypeCheck(params, list_of(array_type)(obj_type));
+
+ Array inputs = params[0].get_array();
+ Object sendTo = params[1].get_obj();
+
+ CTransaction rawTx;
+
+ BOOST_FOREACH(Value& input, inputs)
+ {
+ const Object& o = input.get_obj();
+
+ const Value& txid_v = find_value(o, "txid");
+ if (txid_v.type() != str_type)
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, missing txid key");
+ string txid = txid_v.get_str();
+ if (!IsHex(txid))
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected hex txid");
+
+ const Value& vout_v = find_value(o, "vout");
+ if (vout_v.type() != int_type)
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, missing vout key");
+ int nOutput = vout_v.get_int();
+ if (nOutput < 0)
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, vout must be positive");
+
+ CTxIn in(COutPoint(uint256(txid), nOutput));
+ rawTx.vin.push_back(in);
+ }
+
+ set<CBitcoinAddress> setAddress;
+ BOOST_FOREACH(const Pair& s, sendTo)
+ {
+ CBitcoinAddress address(s.name_);
+ if (!address.IsValid())
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, string("Invalid Bitcoin address: ")+s.name_);
+
+ if (setAddress.count(address))
+ throw JSONRPCError(RPC_INVALID_PARAMETER, string("Invalid parameter, duplicated address: ")+s.name_);
+ setAddress.insert(address);
+
+ CScript scriptPubKey;
+ scriptPubKey.SetDestination(address.Get());
+ int64 nAmount = AmountFromValue(s.value_);
+
+ CTxOut out(nAmount, scriptPubKey);
+ rawTx.vout.push_back(out);
+ }
+
+ CDataStream ss(SER_NETWORK, PROTOCOL_VERSION);
+ ss << rawTx;
+ return HexStr(ss.begin(), ss.end());
+}
+
+Value decoderawtransaction(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "decoderawtransaction <hex string>\n"
+ "Return a JSON object representing the serialized, hex-encoded transaction.");
+
+ RPCTypeCheck(params, list_of(str_type));
+
+ vector<unsigned char> txData(ParseHex(params[0].get_str()));
+ CDataStream ssData(txData, SER_NETWORK, PROTOCOL_VERSION);
+ CTransaction tx;
+ try {
+ ssData >> tx;
+ }
+ catch (std::exception &e) {
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX decode failed");
+ }
+
+ Object result;
+ TxToJSON(tx, 0, result);
+
+ return result;
+}
+
+Value signrawtransaction(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 4)
+ throw runtime_error(
+ "signrawtransaction <hex string> [{\"txid\":txid,\"vout\":n,\"scriptPubKey\":hex},...] [<privatekey1>,...] [sighashtype=\"ALL\"]\n"
+ "Sign inputs for raw transaction (serialized, hex-encoded).\n"
+ "Second optional argument (may be null) is an array of previous transaction outputs that\n"
+ "this transaction depends on but may not yet be in the blockchain.\n"
+ "Third optional argument (may be null) is an array of base58-encoded private\n"
+ "keys that, if given, will be the only keys used to sign the transaction.\n"
+ "Fourth optional argument is a string that is one of six values; ALL, NONE, SINGLE or\n"
+ "ALL|ANYONECANPAY, NONE|ANYONECANPAY, SINGLE|ANYONECANPAY.\n"
+ "Returns json object with keys:\n"
+ " hex : raw transaction with signature(s) (hex-encoded string)\n"
+ " complete : 1 if transaction has a complete set of signature (0 if not)"
+ + HelpRequiringPassphrase());
+
+ RPCTypeCheck(params, list_of(str_type)(array_type)(array_type)(str_type), true);
+
+ vector<unsigned char> txData(ParseHex(params[0].get_str()));
+ CDataStream ssData(txData, SER_NETWORK, PROTOCOL_VERSION);
+ vector<CTransaction> txVariants;
+ while (!ssData.empty())
+ {
+ try {
+ CTransaction tx;
+ ssData >> tx;
+ txVariants.push_back(tx);
+ }
+ catch (std::exception &e) {
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX decode failed");
+ }
+ }
+
+ if (txVariants.empty())
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "Missing transaction");
+
+ // mergedTx will end up with all the signatures; it
+ // starts as a clone of the rawtx:
+ CTransaction mergedTx(txVariants[0]);
+ bool fComplete = true;
+
+ // Fetch previous transactions (inputs):
+ map<COutPoint, CScript> mapPrevOut;
+ for (unsigned int i = 0; i < mergedTx.vin.size(); i++)
+ {
+ CTransaction tempTx;
+ MapPrevTx mapPrevTx;
+ CTxDB txdb("r");
+ map<uint256, CTxIndex> unused;
+ bool fInvalid;
+
+ // FetchInputs aborts on failure, so we go one at a time.
+ tempTx.vin.push_back(mergedTx.vin[i]);
+ tempTx.FetchInputs(txdb, unused, false, false, mapPrevTx, fInvalid);
+
+ // Copy results into mapPrevOut:
+ BOOST_FOREACH(const CTxIn& txin, tempTx.vin)
+ {
+ const uint256& prevHash = txin.prevout.hash;
+ if (mapPrevTx.count(prevHash) && mapPrevTx[prevHash].second.vout.size()>txin.prevout.n)
+ mapPrevOut[txin.prevout] = mapPrevTx[prevHash].second.vout[txin.prevout.n].scriptPubKey;
+ }
+ }
+
+ // Add previous txouts given in the RPC call:
+ if (params.size() > 1 && params[1].type() != null_type)
+ {
+ Array prevTxs = params[1].get_array();
+ BOOST_FOREACH(Value& p, prevTxs)
+ {
+ if (p.type() != obj_type)
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "expected object with {\"txid'\",\"vout\",\"scriptPubKey\"}");
+
+ Object prevOut = p.get_obj();
+
+ RPCTypeCheck(prevOut, map_list_of("txid", str_type)("vout", int_type)("scriptPubKey", str_type));
+
+ string txidHex = find_value(prevOut, "txid").get_str();
+ if (!IsHex(txidHex))
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "txid must be hexadecimal");
+ uint256 txid;
+ txid.SetHex(txidHex);
+
+ int nOut = find_value(prevOut, "vout").get_int();
+ if (nOut < 0)
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "vout must be positive");
+
+ string pkHex = find_value(prevOut, "scriptPubKey").get_str();
+ if (!IsHex(pkHex))
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "scriptPubKey must be hexadecimal");
+ vector<unsigned char> pkData(ParseHex(pkHex));
+ CScript scriptPubKey(pkData.begin(), pkData.end());
+
+ COutPoint outpoint(txid, nOut);
+ if (mapPrevOut.count(outpoint))
+ {
+ // Complain if scriptPubKey doesn't match
+ if (mapPrevOut[outpoint] != scriptPubKey)
+ {
+ string err("Previous output scriptPubKey mismatch:\n");
+ err = err + mapPrevOut[outpoint].ToString() + "\nvs:\n"+
+ scriptPubKey.ToString();
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, err);
+ }
+ }
+ else
+ mapPrevOut[outpoint] = scriptPubKey;
+ }
+ }
+
+ bool fGivenKeys = false;
+ CBasicKeyStore tempKeystore;
+ if (params.size() > 2 && params[2].type() != null_type)
+ {
+ fGivenKeys = true;
+ Array keys = params[2].get_array();
+ BOOST_FOREACH(Value k, keys)
+ {
+ CBitcoinSecret vchSecret;
+ bool fGood = vchSecret.SetString(k.get_str());
+ if (!fGood)
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY,"Invalid private key");
+ CKey key;
+ bool fCompressed;
+ CSecret secret = vchSecret.GetSecret(fCompressed);
+ key.SetSecret(secret, fCompressed);
+ tempKeystore.AddKey(key);
+ }
+ }
+ else
+ EnsureWalletIsUnlocked();
+
+ const CKeyStore& keystore = (fGivenKeys ? tempKeystore : *pwalletMain);
+
+ int nHashType = SIGHASH_ALL;
+ if (params.size() > 3 && params[3].type() != null_type)
+ {
+ static map<string, int> mapSigHashValues =
+ boost::assign::map_list_of
+ (string("ALL"), int(SIGHASH_ALL))
+ (string("ALL|ANYONECANPAY"), int(SIGHASH_ALL|SIGHASH_ANYONECANPAY))
+ (string("NONE"), int(SIGHASH_NONE))
+ (string("NONE|ANYONECANPAY"), int(SIGHASH_NONE|SIGHASH_ANYONECANPAY))
+ (string("SINGLE"), int(SIGHASH_SINGLE))
+ (string("SINGLE|ANYONECANPAY"), int(SIGHASH_SINGLE|SIGHASH_ANYONECANPAY))
+ ;
+ string strHashType = params[3].get_str();
+ if (mapSigHashValues.count(strHashType))
+ nHashType = mapSigHashValues[strHashType];
+ else
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid sighash param");
+ }
+
+ bool fHashSingle = ((nHashType & ~SIGHASH_ANYONECANPAY) == SIGHASH_SINGLE);
+
+ // Sign what we can:
+ for (unsigned int i = 0; i < mergedTx.vin.size(); i++)
+ {
+ CTxIn& txin = mergedTx.vin[i];
+ if (mapPrevOut.count(txin.prevout) == 0)
+ {
+ fComplete = false;
+ continue;
+ }
+ const CScript& prevPubKey = mapPrevOut[txin.prevout];
+
+ txin.scriptSig.clear();
+ // Only sign SIGHASH_SINGLE if there's a corresponding output:
+ if (!fHashSingle || (i < mergedTx.vout.size()))
+ SignSignature(keystore, prevPubKey, mergedTx, i, nHashType);
+
+ // ... and merge in other signatures:
+ BOOST_FOREACH(const CTransaction& txv, txVariants)
+ {
+ txin.scriptSig = CombineSignatures(prevPubKey, mergedTx, i, txin.scriptSig, txv.vin[i].scriptSig);
+ }
+ if (!VerifyScript(txin.scriptSig, prevPubKey, mergedTx, i, true, 0))
+ fComplete = false;
+ }
+
+ Object result;
+ CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
+ ssTx << mergedTx;
+ result.push_back(Pair("hex", HexStr(ssTx.begin(), ssTx.end())));
+ result.push_back(Pair("complete", fComplete));
+
+ return result;
+}
+
+Value sendrawtransaction(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 1)
+ throw runtime_error(
+ "sendrawtransaction <hex string>\n"
+ "Submits raw transaction (serialized, hex-encoded) to local node and network.");
+
+ RPCTypeCheck(params, list_of(str_type));
+
+ // parse hex string from parameter
+ vector<unsigned char> txData(ParseHex(params[0].get_str()));
+ CDataStream ssData(txData, SER_NETWORK, PROTOCOL_VERSION);
+ CTransaction tx;
+
+ // deserialize binary data stream
+ try {
+ ssData >> tx;
+ }
+ catch (std::exception &e) {
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX decode failed");
+ }
+ uint256 hashTx = tx.GetHash();
+
+ // See if the transaction is already in a block
+ // or in the memory pool:
+ CTransaction existingTx;
+ uint256 hashBlock = 0;
+ if (GetTransaction(hashTx, existingTx, hashBlock))
+ {
+ if (hashBlock != 0)
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, string("transaction already in block ")+hashBlock.GetHex());
+ // Not in block, but already in the memory pool; will drop
+ // through to re-relay it.
+ }
+ else
+ {
+ // push to local node
+ CTxDB txdb("r");
+ if (!tx.AcceptToMemoryPool(txdb))
+ throw JSONRPCError(RPC_DESERIALIZATION_ERROR, "TX rejected");
+
+ SyncWithWallets(tx, NULL, true);
+ }
+ RelayMessage(CInv(MSG_TX, hashTx), tx);
+
+ return hashTx.GetHex();
+}
diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp
new file mode 100644
index 0000000000..65c5523c83
--- /dev/null
+++ b/src/rpcwallet.cpp
@@ -0,0 +1,1465 @@
+// Copyright (c) 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 "wallet.h"
+#include "walletdb.h"
+#include "bitcoinrpc.h"
+#include "init.h"
+#include "base58.h"
+
+using namespace json_spirit;
+using namespace std;
+
+int64 nWalletUnlockTime;
+static CCriticalSection cs_nWalletUnlockTime;
+
+std::string HelpRequiringPassphrase()
+{
+ return pwalletMain->IsCrypted()
+ ? "\nrequires wallet passphrase to be set with walletpassphrase first"
+ : "";
+}
+
+void EnsureWalletIsUnlocked()
+{
+ if (pwalletMain->IsLocked())
+ throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first.");
+}
+
+void WalletTxToJSON(const CWalletTx& wtx, Object& entry)
+{
+ int confirms = wtx.GetDepthInMainChain();
+ entry.push_back(Pair("confirmations", confirms));
+ if (wtx.IsCoinBase())
+ entry.push_back(Pair("generated", true));
+ if (confirms)
+ {
+ entry.push_back(Pair("blockhash", wtx.hashBlock.GetHex()));
+ entry.push_back(Pair("blockindex", wtx.nIndex));
+ entry.push_back(Pair("blocktime", (boost::int64_t)(mapBlockIndex[wtx.hashBlock]->nTime)));
+ }
+ entry.push_back(Pair("txid", wtx.GetHash().GetHex()));
+ entry.push_back(Pair("time", (boost::int64_t)wtx.GetTxTime()));
+ entry.push_back(Pair("timereceived", (boost::int64_t)wtx.nTimeReceived));
+ BOOST_FOREACH(const PAIRTYPE(string,string)& item, wtx.mapValue)
+ entry.push_back(Pair(item.first, item.second));
+}
+
+string AccountFromValue(const Value& value)
+{
+ string strAccount = value.get_str();
+ if (strAccount == "*")
+ throw JSONRPCError(RPC_WALLET_INVALID_ACCOUNT_NAME, "Invalid account name");
+ return strAccount;
+}
+
+Value getinfo(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 0)
+ throw runtime_error(
+ "getinfo\n"
+ "Returns an object containing various state info.");
+
+ proxyType proxy;
+ GetProxy(NET_IPV4, proxy);
+
+ Object obj;
+ obj.push_back(Pair("version", (int)CLIENT_VERSION));
+ obj.push_back(Pair("protocolversion",(int)PROTOCOL_VERSION));
+ 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("connections", (int)vNodes.size()));
+ obj.push_back(Pair("proxy", (proxy.first.IsValid() ? proxy.first.ToStringIPPort() : string())));
+ obj.push_back(Pair("difficulty", (double)GetDifficulty()));
+ obj.push_back(Pair("testnet", fTestNet));
+ obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime()));
+ obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize()));
+ obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee)));
+ if (pwalletMain->IsCrypted())
+ obj.push_back(Pair("unlocked_until", (boost::int64_t)nWalletUnlockTime / 1000));
+ obj.push_back(Pair("errors", GetWarnings("statusbar")));
+ return obj;
+}
+
+
+
+Value getnewaddress(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 1)
+ throw runtime_error(
+ "getnewaddress [account]\n"
+ "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].");
+
+ // Parse the account first so we don't generate a key if there's an error
+ string strAccount;
+ if (params.size() > 0)
+ strAccount = AccountFromValue(params[0]);
+
+ if (!pwalletMain->IsLocked())
+ pwalletMain->TopUpKeyPool();
+
+ // Generate a new key that is added to wallet
+ CPubKey newKey;
+ if (!pwalletMain->GetKeyFromPool(newKey, false))
+ throw JSONRPCError(RPC_WALLET_KEYPOOL_RAN_OUT, "Error: Keypool ran out, please call keypoolrefill first");
+ CKeyID keyID = newKey.GetID();
+
+ pwalletMain->SetAddressBookName(keyID, strAccount);
+
+ return CBitcoinAddress(keyID).ToString();
+}
+
+
+CBitcoinAddress GetAccountAddress(string strAccount, bool bForceNew=false)
+{
+ CWalletDB walletdb(pwalletMain->strWalletFile);
+
+ CAccount account;
+ walletdb.ReadAccount(strAccount, account);
+
+ bool bKeyUsed = false;
+
+ // Check if the current key has been used
+ if (account.vchPubKey.IsValid())
+ {
+ CScript scriptPubKey;
+ scriptPubKey.SetDestination(account.vchPubKey.GetID());
+ for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin();
+ it != pwalletMain->mapWallet.end() && account.vchPubKey.IsValid();
+ ++it)
+ {
+ const CWalletTx& wtx = (*it).second;
+ BOOST_FOREACH(const CTxOut& txout, wtx.vout)
+ if (txout.scriptPubKey == scriptPubKey)
+ bKeyUsed = true;
+ }
+ }
+
+ // Generate a new key
+ if (!account.vchPubKey.IsValid() || bForceNew || bKeyUsed)
+ {
+ if (!pwalletMain->GetKeyFromPool(account.vchPubKey, false))
+ throw JSONRPCError(RPC_WALLET_KEYPOOL_RAN_OUT, "Error: Keypool ran out, please call keypoolrefill first");
+
+ pwalletMain->SetAddressBookName(account.vchPubKey.GetID(), strAccount);
+ walletdb.WriteAccount(strAccount, account);
+ }
+
+ return CBitcoinAddress(account.vchPubKey.GetID());
+}
+
+Value getaccountaddress(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "getaccountaddress <account>\n"
+ "Returns the current Bitcoin address for receiving payments to this account.");
+
+ // Parse the account first so we don't generate a key if there's an error
+ string strAccount = AccountFromValue(params[0]);
+
+ Value ret;
+
+ ret = GetAccountAddress(strAccount).ToString();
+
+ return ret;
+}
+
+
+
+Value setaccount(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 2)
+ throw runtime_error(
+ "setaccount <bitcoinaddress> <account>\n"
+ "Sets the account associated with the given address.");
+
+ CBitcoinAddress address(params[0].get_str());
+ if (!address.IsValid())
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Bitcoin address");
+
+
+ string strAccount;
+ if (params.size() > 1)
+ strAccount = AccountFromValue(params[1]);
+
+ // Detect when changing the account of an address that is the 'unused current key' of another account:
+ if (pwalletMain->mapAddressBook.count(address.Get()))
+ {
+ string strOldAccount = pwalletMain->mapAddressBook[address.Get()];
+ if (address == GetAccountAddress(strOldAccount))
+ GetAccountAddress(strOldAccount, true);
+ }
+
+ pwalletMain->SetAddressBookName(address.Get(), strAccount);
+
+ return Value::null;
+}
+
+
+Value getaccount(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "getaccount <bitcoinaddress>\n"
+ "Returns the account associated with the given address.");
+
+ CBitcoinAddress address(params[0].get_str());
+ if (!address.IsValid())
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Bitcoin address");
+
+ string strAccount;
+ map<CTxDestination, string>::iterator mi = pwalletMain->mapAddressBook.find(address.Get());
+ if (mi != pwalletMain->mapAddressBook.end() && !(*mi).second.empty())
+ strAccount = (*mi).second;
+ return strAccount;
+}
+
+
+Value getaddressesbyaccount(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "getaddressesbyaccount <account>\n"
+ "Returns the list of addresses for the given account.");
+
+ string strAccount = AccountFromValue(params[0]);
+
+ // Find all addresses that have the given account
+ Array ret;
+ BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& item, pwalletMain->mapAddressBook)
+ {
+ const CBitcoinAddress& address = item.first;
+ const string& strName = item.second;
+ if (strName == strAccount)
+ ret.push_back(address.ToString());
+ }
+ return ret;
+}
+
+Value sendtoaddress(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 2 || params.size() > 4)
+ throw runtime_error(
+ "sendtoaddress <bitcoinaddress> <amount> [comment] [comment-to]\n"
+ "<amount> is a real and is rounded to the nearest 0.00000001"
+ + HelpRequiringPassphrase());
+
+ CBitcoinAddress address(params[0].get_str());
+ if (!address.IsValid())
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Bitcoin address");
+
+ // Amount
+ int64 nAmount = AmountFromValue(params[1]);
+
+ // Wallet comments
+ CWalletTx wtx;
+ if (params.size() > 2 && params[2].type() != null_type && !params[2].get_str().empty())
+ wtx.mapValue["comment"] = params[2].get_str();
+ if (params.size() > 3 && params[3].type() != null_type && !params[3].get_str().empty())
+ wtx.mapValue["to"] = params[3].get_str();
+
+ if (pwalletMain->IsLocked())
+ throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first.");
+
+ string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx);
+ if (strError != "")
+ throw JSONRPCError(RPC_WALLET_ERROR, strError);
+
+ return wtx.GetHash().GetHex();
+}
+
+Value listaddressgroupings(const Array& params, bool fHelp)
+{
+ if (fHelp)
+ throw runtime_error(
+ "listaddressgroupings\n"
+ "Lists groups of addresses which have had their common ownership\n"
+ "made public by common use as inputs or as the resulting change\n"
+ "in past transactions");
+
+ Array jsonGroupings;
+ map<CTxDestination, int64> balances = pwalletMain->GetAddressBalances();
+ BOOST_FOREACH(set<CTxDestination> grouping, pwalletMain->GetAddressGroupings())
+ {
+ Array jsonGrouping;
+ BOOST_FOREACH(CTxDestination address, grouping)
+ {
+ Array addressInfo;
+ addressInfo.push_back(CBitcoinAddress(address).ToString());
+ addressInfo.push_back(ValueFromAmount(balances[address]));
+ {
+ LOCK(pwalletMain->cs_wallet);
+ if (pwalletMain->mapAddressBook.find(CBitcoinAddress(address).Get()) != pwalletMain->mapAddressBook.end())
+ addressInfo.push_back(pwalletMain->mapAddressBook.find(CBitcoinAddress(address).Get())->second);
+ }
+ jsonGrouping.push_back(addressInfo);
+ }
+ jsonGroupings.push_back(jsonGrouping);
+ }
+ return jsonGroupings;
+}
+
+Value signmessage(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 2)
+ throw runtime_error(
+ "signmessage <bitcoinaddress> <message>\n"
+ "Sign a message with the private key of an address");
+
+ EnsureWalletIsUnlocked();
+
+ string strAddress = params[0].get_str();
+ string strMessage = params[1].get_str();
+
+ CBitcoinAddress addr(strAddress);
+ if (!addr.IsValid())
+ throw JSONRPCError(RPC_TYPE_ERROR, "Invalid address");
+
+ CKeyID keyID;
+ if (!addr.GetKeyID(keyID))
+ throw JSONRPCError(RPC_TYPE_ERROR, "Address does not refer to key");
+
+ CKey key;
+ if (!pwalletMain->GetKey(keyID, key))
+ throw JSONRPCError(RPC_WALLET_ERROR, "Private key not available");
+
+ CDataStream ss(SER_GETHASH, 0);
+ ss << strMessageMagic;
+ ss << strMessage;
+
+ vector<unsigned char> vchSig;
+ if (!key.SignCompact(Hash(ss.begin(), ss.end()), vchSig))
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Sign failed");
+
+ return EncodeBase64(&vchSig[0], vchSig.size());
+}
+
+Value verifymessage(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 3)
+ throw runtime_error(
+ "verifymessage <bitcoinaddress> <signature> <message>\n"
+ "Verify a signed message");
+
+ string strAddress = params[0].get_str();
+ string strSign = params[1].get_str();
+ string strMessage = params[2].get_str();
+
+ CBitcoinAddress addr(strAddress);
+ if (!addr.IsValid())
+ throw JSONRPCError(RPC_TYPE_ERROR, "Invalid address");
+
+ CKeyID keyID;
+ if (!addr.GetKeyID(keyID))
+ throw JSONRPCError(RPC_TYPE_ERROR, "Address does not refer to key");
+
+ bool fInvalid = false;
+ vector<unsigned char> vchSig = DecodeBase64(strSign.c_str(), &fInvalid);
+
+ if (fInvalid)
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Malformed base64 encoding");
+
+ CDataStream ss(SER_GETHASH, 0);
+ ss << strMessageMagic;
+ ss << strMessage;
+
+ CKey key;
+ if (!key.SetCompactSignature(Hash(ss.begin(), ss.end()), vchSig))
+ return false;
+
+ return (key.GetPubKey().GetID() == keyID);
+}
+
+
+Value getreceivedbyaddress(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 2)
+ throw runtime_error(
+ "getreceivedbyaddress <bitcoinaddress> [minconf=1]\n"
+ "Returns the total amount received by <bitcoinaddress> in transactions with at least [minconf] confirmations.");
+
+ // Bitcoin address
+ CBitcoinAddress address = CBitcoinAddress(params[0].get_str());
+ CScript scriptPubKey;
+ if (!address.IsValid())
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Bitcoin address");
+ scriptPubKey.SetDestination(address.Get());
+ if (!IsMine(*pwalletMain,scriptPubKey))
+ return (double)0.0;
+
+ // Minimum confirmations
+ int nMinDepth = 1;
+ if (params.size() > 1)
+ nMinDepth = params[1].get_int();
+
+ // Tally
+ int64 nAmount = 0;
+ for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
+ {
+ const CWalletTx& wtx = (*it).second;
+ if (wtx.IsCoinBase() || !wtx.IsFinal())
+ continue;
+
+ BOOST_FOREACH(const CTxOut& txout, wtx.vout)
+ if (txout.scriptPubKey == scriptPubKey)
+ if (wtx.GetDepthInMainChain() >= nMinDepth)
+ nAmount += txout.nValue;
+ }
+
+ return ValueFromAmount(nAmount);
+}
+
+
+void GetAccountAddresses(string strAccount, set<CTxDestination>& setAddress)
+{
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination, string)& item, pwalletMain->mapAddressBook)
+ {
+ const CTxDestination& address = item.first;
+ const string& strName = item.second;
+ if (strName == strAccount)
+ setAddress.insert(address);
+ }
+}
+
+Value getreceivedbyaccount(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 1 || params.size() > 2)
+ throw runtime_error(
+ "getreceivedbyaccount <account> [minconf=1]\n"
+ "Returns the total amount received by addresses with <account> in transactions with at least [minconf] confirmations.");
+
+ // Minimum confirmations
+ int nMinDepth = 1;
+ if (params.size() > 1)
+ nMinDepth = params[1].get_int();
+
+ // Get the set of pub keys assigned to account
+ string strAccount = AccountFromValue(params[0]);
+ set<CTxDestination> setAddress;
+ GetAccountAddresses(strAccount, setAddress);
+
+ // Tally
+ int64 nAmount = 0;
+ for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
+ {
+ const CWalletTx& wtx = (*it).second;
+ if (wtx.IsCoinBase() || !wtx.IsFinal())
+ continue;
+
+ BOOST_FOREACH(const CTxOut& txout, wtx.vout)
+ {
+ CTxDestination address;
+ if (ExtractDestination(txout.scriptPubKey, address) && IsMine(*pwalletMain, address) && setAddress.count(address))
+ if (wtx.GetDepthInMainChain() >= nMinDepth)
+ nAmount += txout.nValue;
+ }
+ }
+
+ return (double)nAmount / (double)COIN;
+}
+
+
+int64 GetAccountBalance(CWalletDB& walletdb, const string& strAccount, int nMinDepth)
+{
+ int64 nBalance = 0;
+
+ // Tally wallet transactions
+ for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
+ {
+ const CWalletTx& wtx = (*it).second;
+ if (!wtx.IsFinal())
+ continue;
+
+ int64 nReceived, nSent, nFee;
+ wtx.GetAccountAmounts(strAccount, nReceived, nSent, nFee);
+
+ if (nReceived != 0 && wtx.GetDepthInMainChain() >= nMinDepth)
+ nBalance += nReceived;
+ nBalance -= nSent + nFee;
+ }
+
+ // Tally internal accounting entries
+ nBalance += walletdb.GetAccountCreditDebit(strAccount);
+
+ return nBalance;
+}
+
+int64 GetAccountBalance(const string& strAccount, int nMinDepth)
+{
+ CWalletDB walletdb(pwalletMain->strWalletFile);
+ return GetAccountBalance(walletdb, strAccount, nMinDepth);
+}
+
+
+Value getbalance(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 2)
+ throw runtime_error(
+ "getbalance [account] [minconf=1]\n"
+ "If [account] is not specified, returns the server's total available balance.\n"
+ "If [account] is specified, returns the balance in the account.");
+
+ if (params.size() == 0)
+ return ValueFromAmount(pwalletMain->GetBalance());
+
+ int nMinDepth = 1;
+ if (params.size() > 1)
+ nMinDepth = params[1].get_int();
+
+ 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.
+ int64 nBalance = 0;
+ for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
+ {
+ const CWalletTx& wtx = (*it).second;
+ if (!wtx.IsFinal())
+ continue;
+
+ int64 allFee;
+ string strSentAccount;
+ list<pair<CTxDestination, int64> > listReceived;
+ list<pair<CTxDestination, int64> > listSent;
+ wtx.GetAmounts(listReceived, listSent, allFee, strSentAccount);
+ if (wtx.GetDepthInMainChain() >= nMinDepth)
+ {
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination,int64)& r, listReceived)
+ nBalance += r.second;
+ }
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination,int64)& r, listSent)
+ nBalance -= r.second;
+ nBalance -= allFee;
+ }
+ return ValueFromAmount(nBalance);
+ }
+
+ string strAccount = AccountFromValue(params[0]);
+
+ int64 nBalance = GetAccountBalance(strAccount, nMinDepth);
+
+ return ValueFromAmount(nBalance);
+}
+
+
+Value movecmd(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 3 || params.size() > 5)
+ throw runtime_error(
+ "move <fromaccount> <toaccount> <amount> [minconf=1] [comment]\n"
+ "Move from one account in your wallet to another.");
+
+ string strFrom = AccountFromValue(params[0]);
+ string strTo = AccountFromValue(params[1]);
+ int64 nAmount = AmountFromValue(params[2]);
+ if (params.size() > 3)
+ // unused parameter, used to be nMinDepth, keep type-checking it though
+ (void)params[3].get_int();
+ string strComment;
+ if (params.size() > 4)
+ strComment = params[4].get_str();
+
+ CWalletDB walletdb(pwalletMain->strWalletFile);
+ if (!walletdb.TxnBegin())
+ throw JSONRPCError(RPC_DATABASE_ERROR, "database error");
+
+ int64 nNow = GetAdjustedTime();
+
+ // Debit
+ CAccountingEntry debit;
+ debit.nOrderPos = pwalletMain->IncOrderPosNext(&walletdb);
+ debit.strAccount = strFrom;
+ debit.nCreditDebit = -nAmount;
+ debit.nTime = nNow;
+ debit.strOtherAccount = strTo;
+ debit.strComment = strComment;
+ walletdb.WriteAccountingEntry(debit);
+
+ // Credit
+ CAccountingEntry credit;
+ credit.nOrderPos = pwalletMain->IncOrderPosNext(&walletdb);
+ credit.strAccount = strTo;
+ credit.nCreditDebit = nAmount;
+ credit.nTime = nNow;
+ credit.strOtherAccount = strFrom;
+ credit.strComment = strComment;
+ walletdb.WriteAccountingEntry(credit);
+
+ if (!walletdb.TxnCommit())
+ throw JSONRPCError(RPC_DATABASE_ERROR, "database error");
+
+ return true;
+}
+
+
+Value sendfrom(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 3 || params.size() > 6)
+ throw runtime_error(
+ "sendfrom <fromaccount> <tobitcoinaddress> <amount> [minconf=1] [comment] [comment-to]\n"
+ "<amount> is a real and is rounded to the nearest 0.00000001"
+ + HelpRequiringPassphrase());
+
+ string strAccount = AccountFromValue(params[0]);
+ CBitcoinAddress address(params[1].get_str());
+ if (!address.IsValid())
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid Bitcoin address");
+ int64 nAmount = AmountFromValue(params[2]);
+ int nMinDepth = 1;
+ if (params.size() > 3)
+ nMinDepth = params[3].get_int();
+
+ CWalletTx wtx;
+ wtx.strFromAccount = strAccount;
+ if (params.size() > 4 && params[4].type() != null_type && !params[4].get_str().empty())
+ wtx.mapValue["comment"] = params[4].get_str();
+ if (params.size() > 5 && params[5].type() != null_type && !params[5].get_str().empty())
+ wtx.mapValue["to"] = params[5].get_str();
+
+ EnsureWalletIsUnlocked();
+
+ // Check funds
+ int64 nBalance = GetAccountBalance(strAccount, nMinDepth);
+ if (nAmount > nBalance)
+ throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Account has insufficient funds");
+
+ // Send
+ string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx);
+ if (strError != "")
+ throw JSONRPCError(RPC_WALLET_ERROR, strError);
+
+ return wtx.GetHash().GetHex();
+}
+
+
+Value sendmany(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 2 || params.size() > 4)
+ throw runtime_error(
+ "sendmany <fromaccount> {address:amount,...} [minconf=1] [comment]\n"
+ "amounts are double-precision floating point numbers"
+ + HelpRequiringPassphrase());
+
+ string strAccount = AccountFromValue(params[0]);
+ Object sendTo = params[1].get_obj();
+ int nMinDepth = 1;
+ if (params.size() > 2)
+ nMinDepth = params[2].get_int();
+
+ CWalletTx wtx;
+ wtx.strFromAccount = strAccount;
+ if (params.size() > 3 && params[3].type() != null_type && !params[3].get_str().empty())
+ wtx.mapValue["comment"] = params[3].get_str();
+
+ set<CBitcoinAddress> setAddress;
+ vector<pair<CScript, int64> > vecSend;
+
+ int64 totalAmount = 0;
+ BOOST_FOREACH(const Pair& s, sendTo)
+ {
+ CBitcoinAddress address(s.name_);
+ if (!address.IsValid())
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, string("Invalid Bitcoin address: ")+s.name_);
+
+ if (setAddress.count(address))
+ throw JSONRPCError(RPC_INVALID_PARAMETER, string("Invalid parameter, duplicated address: ")+s.name_);
+ setAddress.insert(address);
+
+ CScript scriptPubKey;
+ scriptPubKey.SetDestination(address.Get());
+ int64 nAmount = AmountFromValue(s.value_);
+ totalAmount += nAmount;
+
+ vecSend.push_back(make_pair(scriptPubKey, nAmount));
+ }
+
+ EnsureWalletIsUnlocked();
+
+ // Check funds
+ int64 nBalance = GetAccountBalance(strAccount, nMinDepth);
+ if (totalAmount > nBalance)
+ throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Account has insufficient funds");
+
+ // Send
+ CReserveKey keyChange(pwalletMain);
+ int64 nFeeRequired = 0;
+ bool fCreated = pwalletMain->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired);
+ if (!fCreated)
+ {
+ if (totalAmount + nFeeRequired > pwalletMain->GetBalance())
+ throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Insufficient funds");
+ throw JSONRPCError(RPC_WALLET_ERROR, "Transaction creation failed");
+ }
+ if (!pwalletMain->CommitTransaction(wtx, keyChange))
+ throw JSONRPCError(RPC_WALLET_ERROR, "Transaction commit failed");
+
+ return wtx.GetHash().GetHex();
+}
+
+Value addmultisigaddress(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() < 2 || params.size() > 3)
+ {
+ string msg = "addmultisigaddress <nrequired> <'[\"key\",\"key\"]'> [account]\n"
+ "Add a nrequired-to-sign multisignature address to the wallet\"\n"
+ "each key is a Bitcoin address or hex-encoded public key\n"
+ "If [account] is specified, assign address to [account].";
+ throw runtime_error(msg);
+ }
+
+ int nRequired = params[0].get_int();
+ const Array& keys = params[1].get_array();
+ string strAccount;
+ if (params.size() > 2)
+ strAccount = AccountFromValue(params[2]);
+
+ // Gather public keys
+ if (nRequired < 1)
+ throw runtime_error("a multisignature address must require at least one key to redeem");
+ if ((int)keys.size() < nRequired)
+ throw runtime_error(
+ strprintf("not enough keys supplied "
+ "(got %"PRIszu" keys, but need at least %d to redeem)", keys.size(), nRequired));
+ std::vector<CKey> pubkeys;
+ pubkeys.resize(keys.size());
+ for (unsigned int i = 0; i < keys.size(); i++)
+ {
+ const std::string& ks = keys[i].get_str();
+
+ // Case 1: Bitcoin address and we have full public key:
+ CBitcoinAddress address(ks);
+ if (address.IsValid())
+ {
+ CKeyID keyID;
+ if (!address.GetKeyID(keyID))
+ throw runtime_error(
+ strprintf("%s does not refer to a key",ks.c_str()));
+ CPubKey vchPubKey;
+ if (!pwalletMain->GetPubKey(keyID, vchPubKey))
+ throw runtime_error(
+ strprintf("no full public key for address %s",ks.c_str()));
+ if (!vchPubKey.IsValid() || !pubkeys[i].SetPubKey(vchPubKey))
+ throw runtime_error(" Invalid public key: "+ks);
+ }
+
+ // Case 2: hex public key
+ else if (IsHex(ks))
+ {
+ CPubKey vchPubKey(ParseHex(ks));
+ if (!vchPubKey.IsValid() || !pubkeys[i].SetPubKey(vchPubKey))
+ throw runtime_error(" Invalid public key: "+ks);
+ }
+ else
+ {
+ throw runtime_error(" Invalid public key: "+ks);
+ }
+ }
+
+ // Construct using pay-to-script-hash:
+ CScript inner;
+ inner.SetMultisig(nRequired, pubkeys);
+ CScriptID innerID = inner.GetID();
+ pwalletMain->AddCScript(inner);
+
+ pwalletMain->SetAddressBookName(innerID, strAccount);
+ return CBitcoinAddress(innerID).ToString();
+}
+
+
+struct tallyitem
+{
+ int64 nAmount;
+ int nConf;
+ tallyitem()
+ {
+ nAmount = 0;
+ nConf = std::numeric_limits<int>::max();
+ }
+};
+
+Value ListReceived(const Array& params, bool fByAccounts)
+{
+ // Minimum confirmations
+ int nMinDepth = 1;
+ if (params.size() > 0)
+ nMinDepth = params[0].get_int();
+
+ // Whether to include empty accounts
+ bool fIncludeEmpty = false;
+ if (params.size() > 1)
+ fIncludeEmpty = params[1].get_bool();
+
+ // Tally
+ map<CBitcoinAddress, tallyitem> mapTally;
+ for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
+ {
+ const CWalletTx& wtx = (*it).second;
+
+ if (wtx.IsCoinBase() || !wtx.IsFinal())
+ continue;
+
+ int nDepth = wtx.GetDepthInMainChain();
+ if (nDepth < nMinDepth)
+ continue;
+
+ BOOST_FOREACH(const CTxOut& txout, wtx.vout)
+ {
+ CTxDestination address;
+ if (!ExtractDestination(txout.scriptPubKey, address) || !IsMine(*pwalletMain, address))
+ continue;
+
+ tallyitem& item = mapTally[address];
+ item.nAmount += txout.nValue;
+ item.nConf = min(item.nConf, nDepth);
+ }
+ }
+
+ // Reply
+ Array ret;
+ map<string, tallyitem> mapAccountTally;
+ BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, string)& item, pwalletMain->mapAddressBook)
+ {
+ const CBitcoinAddress& address = item.first;
+ const string& strAccount = item.second;
+ map<CBitcoinAddress, tallyitem>::iterator it = mapTally.find(address);
+ if (it == mapTally.end() && !fIncludeEmpty)
+ continue;
+
+ int64 nAmount = 0;
+ int nConf = std::numeric_limits<int>::max();
+ if (it != mapTally.end())
+ {
+ nAmount = (*it).second.nAmount;
+ nConf = (*it).second.nConf;
+ }
+
+ if (fByAccounts)
+ {
+ tallyitem& item = mapAccountTally[strAccount];
+ item.nAmount += nAmount;
+ item.nConf = min(item.nConf, nConf);
+ }
+ else
+ {
+ Object obj;
+ obj.push_back(Pair("address", address.ToString()));
+ obj.push_back(Pair("account", strAccount));
+ obj.push_back(Pair("amount", ValueFromAmount(nAmount)));
+ obj.push_back(Pair("confirmations", (nConf == std::numeric_limits<int>::max() ? 0 : nConf)));
+ ret.push_back(obj);
+ }
+ }
+
+ if (fByAccounts)
+ {
+ for (map<string, tallyitem>::iterator it = mapAccountTally.begin(); it != mapAccountTally.end(); ++it)
+ {
+ int64 nAmount = (*it).second.nAmount;
+ int nConf = (*it).second.nConf;
+ Object obj;
+ obj.push_back(Pair("account", (*it).first));
+ obj.push_back(Pair("amount", ValueFromAmount(nAmount)));
+ obj.push_back(Pair("confirmations", (nConf == std::numeric_limits<int>::max() ? 0 : nConf)));
+ ret.push_back(obj);
+ }
+ }
+
+ return ret;
+}
+
+Value listreceivedbyaddress(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 2)
+ throw runtime_error(
+ "listreceivedbyaddress [minconf=1] [includeempty=false]\n"
+ "[minconf] is the minimum number of confirmations before payments are included.\n"
+ "[includeempty] whether to include addresses that haven't received any payments.\n"
+ "Returns an array of objects containing:\n"
+ " \"address\" : receiving address\n"
+ " \"account\" : the account of the receiving address\n"
+ " \"amount\" : total amount received by the address\n"
+ " \"confirmations\" : number of confirmations of the most recent transaction included");
+
+ return ListReceived(params, false);
+}
+
+Value listreceivedbyaccount(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 2)
+ throw runtime_error(
+ "listreceivedbyaccount [minconf=1] [includeempty=false]\n"
+ "[minconf] is the minimum number of confirmations before payments are included.\n"
+ "[includeempty] whether to include accounts that haven't received any payments.\n"
+ "Returns an array of objects containing:\n"
+ " \"account\" : the account of the receiving addresses\n"
+ " \"amount\" : total amount received by addresses with this account\n"
+ " \"confirmations\" : number of confirmations of the most recent transaction included");
+
+ return ListReceived(params, true);
+}
+
+void ListTransactions(const CWalletTx& wtx, const string& strAccount, int nMinDepth, bool fLong, Array& ret)
+{
+ int64 nFee;
+ string strSentAccount;
+ list<pair<CTxDestination, int64> > listReceived;
+ list<pair<CTxDestination, int64> > listSent;
+
+ wtx.GetAmounts(listReceived, listSent, nFee, strSentAccount);
+
+ bool fAllAccounts = (strAccount == string("*"));
+
+ // Sent
+ if ((!listSent.empty() || nFee != 0) && (fAllAccounts || strAccount == strSentAccount))
+ {
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination, int64)& s, listSent)
+ {
+ Object entry;
+ entry.push_back(Pair("account", strSentAccount));
+ entry.push_back(Pair("address", CBitcoinAddress(s.first).ToString()));
+ entry.push_back(Pair("category", "send"));
+ entry.push_back(Pair("amount", ValueFromAmount(-s.second)));
+ entry.push_back(Pair("fee", ValueFromAmount(-nFee)));
+ if (fLong)
+ WalletTxToJSON(wtx, entry);
+ ret.push_back(entry);
+ }
+ }
+
+ // Received
+ if (listReceived.size() > 0 && wtx.GetDepthInMainChain() >= nMinDepth)
+ {
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination, int64)& r, listReceived)
+ {
+ string account;
+ if (pwalletMain->mapAddressBook.count(r.first))
+ account = pwalletMain->mapAddressBook[r.first];
+ if (fAllAccounts || (account == strAccount))
+ {
+ Object entry;
+ entry.push_back(Pair("account", account));
+ entry.push_back(Pair("address", CBitcoinAddress(r.first).ToString()));
+ if (wtx.IsCoinBase())
+ {
+ if (wtx.GetDepthInMainChain() < 1)
+ entry.push_back(Pair("category", "orphan"));
+ else if (wtx.GetBlocksToMaturity() > 0)
+ entry.push_back(Pair("category", "immature"));
+ else
+ entry.push_back(Pair("category", "generate"));
+ }
+ else
+ entry.push_back(Pair("category", "receive"));
+ entry.push_back(Pair("amount", ValueFromAmount(r.second)));
+ if (fLong)
+ WalletTxToJSON(wtx, entry);
+ ret.push_back(entry);
+ }
+ }
+ }
+}
+
+void AcentryToJSON(const CAccountingEntry& acentry, const string& strAccount, Array& ret)
+{
+ bool fAllAccounts = (strAccount == string("*"));
+
+ if (fAllAccounts || acentry.strAccount == strAccount)
+ {
+ Object entry;
+ entry.push_back(Pair("account", acentry.strAccount));
+ entry.push_back(Pair("category", "move"));
+ entry.push_back(Pair("time", (boost::int64_t)acentry.nTime));
+ entry.push_back(Pair("amount", ValueFromAmount(acentry.nCreditDebit)));
+ entry.push_back(Pair("otheraccount", acentry.strOtherAccount));
+ entry.push_back(Pair("comment", acentry.strComment));
+ ret.push_back(entry);
+ }
+}
+
+Value listtransactions(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 3)
+ throw runtime_error(
+ "listtransactions [account] [count=10] [from=0]\n"
+ "Returns up to [count] most recent transactions skipping the first [from] transactions for account [account].");
+
+ string strAccount = "*";
+ if (params.size() > 0)
+ strAccount = params[0].get_str();
+ int nCount = 10;
+ if (params.size() > 1)
+ nCount = params[1].get_int();
+ int nFrom = 0;
+ if (params.size() > 2)
+ nFrom = params[2].get_int();
+
+ if (nCount < 0)
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Negative count");
+ if (nFrom < 0)
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Negative from");
+
+ Array ret;
+
+ std::list<CAccountingEntry> acentries;
+ CWallet::TxItems txOrdered = pwalletMain->OrderedTxItems(acentries, strAccount);
+
+ // iterate backwards until we have nCount items to return:
+ for (CWallet::TxItems::reverse_iterator it = txOrdered.rbegin(); it != txOrdered.rend(); ++it)
+ {
+ CWalletTx *const pwtx = (*it).second.first;
+ if (pwtx != 0)
+ ListTransactions(*pwtx, strAccount, 0, true, ret);
+ CAccountingEntry *const pacentry = (*it).second.second;
+ if (pacentry != 0)
+ AcentryToJSON(*pacentry, strAccount, ret);
+
+ if ((int)ret.size() >= (nCount+nFrom)) break;
+ }
+ // ret is newest to oldest
+
+ if (nFrom > (int)ret.size())
+ nFrom = ret.size();
+ if ((nFrom + nCount) > (int)ret.size())
+ nCount = ret.size() - nFrom;
+ Array::iterator first = ret.begin();
+ std::advance(first, nFrom);
+ Array::iterator last = ret.begin();
+ std::advance(last, nFrom+nCount);
+
+ if (last != ret.end()) ret.erase(last, ret.end());
+ if (first != ret.begin()) ret.erase(ret.begin(), first);
+
+ std::reverse(ret.begin(), ret.end()); // Return oldest to newest
+
+ return ret;
+}
+
+Value listaccounts(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 1)
+ throw runtime_error(
+ "listaccounts [minconf=1]\n"
+ "Returns Object that has account names as keys, account balances as values.");
+
+ int nMinDepth = 1;
+ if (params.size() > 0)
+ nMinDepth = params[0].get_int();
+
+ map<string, int64> mapAccountBalances;
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination, string)& entry, pwalletMain->mapAddressBook) {
+ if (IsMine(*pwalletMain, entry.first)) // This address belongs to me
+ mapAccountBalances[entry.second] = 0;
+ }
+
+ for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it)
+ {
+ const CWalletTx& wtx = (*it).second;
+ int64 nFee;
+ string strSentAccount;
+ list<pair<CTxDestination, int64> > listReceived;
+ list<pair<CTxDestination, int64> > listSent;
+ wtx.GetAmounts(listReceived, listSent, nFee, strSentAccount);
+ mapAccountBalances[strSentAccount] -= nFee;
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination, int64)& s, listSent)
+ mapAccountBalances[strSentAccount] -= s.second;
+ if (wtx.GetDepthInMainChain() >= nMinDepth)
+ {
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination, int64)& r, listReceived)
+ if (pwalletMain->mapAddressBook.count(r.first))
+ mapAccountBalances[pwalletMain->mapAddressBook[r.first]] += r.second;
+ else
+ mapAccountBalances[""] += r.second;
+ }
+ }
+
+ list<CAccountingEntry> acentries;
+ CWalletDB(pwalletMain->strWalletFile).ListAccountCreditDebit("*", acentries);
+ BOOST_FOREACH(const CAccountingEntry& entry, acentries)
+ mapAccountBalances[entry.strAccount] += entry.nCreditDebit;
+
+ Object ret;
+ BOOST_FOREACH(const PAIRTYPE(string, int64)& accountBalance, mapAccountBalances) {
+ ret.push_back(Pair(accountBalance.first, ValueFromAmount(accountBalance.second)));
+ }
+ return ret;
+}
+
+Value listsinceblock(const Array& params, bool fHelp)
+{
+ if (fHelp)
+ throw runtime_error(
+ "listsinceblock [blockhash] [target-confirmations]\n"
+ "Get all transactions in blocks since block [blockhash], or all transactions if omitted");
+
+ CBlockIndex *pindex = NULL;
+ int target_confirms = 1;
+
+ if (params.size() > 0)
+ {
+ uint256 blockId = 0;
+
+ blockId.SetHex(params[0].get_str());
+ pindex = CBlockLocator(blockId).GetBlockIndex();
+ }
+
+ if (params.size() > 1)
+ {
+ target_confirms = params[1].get_int();
+
+ if (target_confirms < 1)
+ throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter");
+ }
+
+ int depth = pindex ? (1 + nBestHeight - pindex->nHeight) : -1;
+
+ Array transactions;
+
+ for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); it++)
+ {
+ CWalletTx tx = (*it).second;
+
+ if (depth == -1 || tx.GetDepthInMainChain() < depth)
+ ListTransactions(tx, "*", 0, true, transactions);
+ }
+
+ uint256 lastblock;
+
+ if (target_confirms == 1)
+ {
+ lastblock = hashBestChain;
+ }
+ else
+ {
+ int target_height = pindexBest->nHeight + 1 - target_confirms;
+
+ CBlockIndex *block;
+ for (block = pindexBest;
+ block && block->nHeight > target_height;
+ block = block->pprev) { }
+
+ lastblock = block ? block->GetBlockHash() : 0;
+ }
+
+ Object ret;
+ ret.push_back(Pair("transactions", transactions));
+ ret.push_back(Pair("lastblock", lastblock.GetHex()));
+
+ return ret;
+}
+
+Value gettransaction(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "gettransaction <txid>\n"
+ "Get detailed information about in-wallet transaction <txid>");
+
+ uint256 hash;
+ hash.SetHex(params[0].get_str());
+
+ Object entry;
+ if (!pwalletMain->mapWallet.count(hash))
+ throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid or non-wallet transaction id");
+ const CWalletTx& wtx = pwalletMain->mapWallet[hash];
+
+ int64 nCredit = wtx.GetCredit();
+ int64 nDebit = wtx.GetDebit();
+ int64 nNet = nCredit - nDebit;
+ int64 nFee = (wtx.IsFromMe() ? wtx.GetValueOut() - nDebit : 0);
+
+ entry.push_back(Pair("amount", ValueFromAmount(nNet - nFee)));
+ if (wtx.IsFromMe())
+ entry.push_back(Pair("fee", ValueFromAmount(nFee)));
+
+ WalletTxToJSON(wtx, entry);
+
+ Array details;
+ ListTransactions(wtx, "*", 0, false, details);
+ entry.push_back(Pair("details", details));
+
+ return entry;
+}
+
+
+Value backupwallet(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "backupwallet <destination>\n"
+ "Safely copies wallet.dat to destination, which can be a directory or a path with filename.");
+
+ string strDest = params[0].get_str();
+ BackupWallet(*pwalletMain, strDest);
+
+ return Value::null;
+}
+
+
+Value keypoolrefill(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() > 0)
+ throw runtime_error(
+ "keypoolrefill\n"
+ "Fills the keypool."
+ + HelpRequiringPassphrase());
+
+ EnsureWalletIsUnlocked();
+
+ pwalletMain->TopUpKeyPool();
+
+ if (pwalletMain->GetKeyPoolSize() < GetArg("-keypool", 100))
+ throw JSONRPCError(RPC_WALLET_ERROR, "Error refreshing keypool.");
+
+ return Value::null;
+}
+
+
+void ThreadTopUpKeyPool(void* parg)
+{
+ // Make this thread recognisable as the key-topping-up thread
+ RenameThread("bitcoin-key-top");
+
+ pwalletMain->TopUpKeyPool();
+}
+
+void ThreadCleanWalletPassphrase(void* parg)
+{
+ // Make this thread recognisable as the wallet relocking thread
+ RenameThread("bitcoin-lock-wa");
+
+ int64 nMyWakeTime = GetTimeMillis() + *((int64*)parg) * 1000;
+
+ ENTER_CRITICAL_SECTION(cs_nWalletUnlockTime);
+
+ if (nWalletUnlockTime == 0)
+ {
+ nWalletUnlockTime = nMyWakeTime;
+
+ do
+ {
+ if (nWalletUnlockTime==0)
+ break;
+ int64 nToSleep = nWalletUnlockTime - GetTimeMillis();
+ if (nToSleep <= 0)
+ break;
+
+ LEAVE_CRITICAL_SECTION(cs_nWalletUnlockTime);
+ Sleep(nToSleep);
+ ENTER_CRITICAL_SECTION(cs_nWalletUnlockTime);
+
+ } while(1);
+
+ if (nWalletUnlockTime)
+ {
+ nWalletUnlockTime = 0;
+ pwalletMain->Lock();
+ }
+ }
+ else
+ {
+ if (nWalletUnlockTime < nMyWakeTime)
+ nWalletUnlockTime = nMyWakeTime;
+ }
+
+ LEAVE_CRITICAL_SECTION(cs_nWalletUnlockTime);
+
+ delete (int64*)parg;
+}
+
+Value walletpassphrase(const Array& params, bool fHelp)
+{
+ if (pwalletMain->IsCrypted() && (fHelp || params.size() != 2))
+ throw runtime_error(
+ "walletpassphrase <passphrase> <timeout>\n"
+ "Stores the wallet decryption key in memory for <timeout> seconds.");
+ if (fHelp)
+ return true;
+ if (!pwalletMain->IsCrypted())
+ throw JSONRPCError(RPC_WALLET_WRONG_ENC_STATE, "Error: running with an unencrypted wallet, but walletpassphrase was called.");
+
+ if (!pwalletMain->IsLocked())
+ throw JSONRPCError(RPC_WALLET_ALREADY_UNLOCKED, "Error: Wallet is already unlocked.");
+
+ // Note that the walletpassphrase is stored in params[0] which is not mlock()ed
+ SecureString strWalletPass;
+ strWalletPass.reserve(100);
+ // TODO: get rid of this .c_str() by implementing SecureString::operator=(std::string)
+ // Alternately, find a way to make params[0] mlock()'d to begin with.
+ strWalletPass = params[0].get_str().c_str();
+
+ if (strWalletPass.length() > 0)
+ {
+ if (!pwalletMain->Unlock(strWalletPass))
+ throw JSONRPCError(RPC_WALLET_PASSPHRASE_INCORRECT, "Error: The wallet passphrase entered was incorrect.");
+ }
+ else
+ throw runtime_error(
+ "walletpassphrase <passphrase> <timeout>\n"
+ "Stores the wallet decryption key in memory for <timeout> seconds.");
+
+ NewThread(ThreadTopUpKeyPool, NULL);
+ int64* pnSleepTime = new int64(params[1].get_int64());
+ NewThread(ThreadCleanWalletPassphrase, pnSleepTime);
+
+ return Value::null;
+}
+
+
+Value walletpassphrasechange(const Array& params, bool fHelp)
+{
+ if (pwalletMain->IsCrypted() && (fHelp || params.size() != 2))
+ throw runtime_error(
+ "walletpassphrasechange <oldpassphrase> <newpassphrase>\n"
+ "Changes the wallet passphrase from <oldpassphrase> to <newpassphrase>.");
+ if (fHelp)
+ return true;
+ if (!pwalletMain->IsCrypted())
+ throw JSONRPCError(RPC_WALLET_WRONG_ENC_STATE, "Error: running with an unencrypted wallet, but walletpassphrasechange was called.");
+
+ // TODO: get rid of these .c_str() calls by implementing SecureString::operator=(std::string)
+ // Alternately, find a way to make params[0] mlock()'d to begin with.
+ SecureString strOldWalletPass;
+ strOldWalletPass.reserve(100);
+ strOldWalletPass = params[0].get_str().c_str();
+
+ SecureString strNewWalletPass;
+ strNewWalletPass.reserve(100);
+ strNewWalletPass = params[1].get_str().c_str();
+
+ if (strOldWalletPass.length() < 1 || strNewWalletPass.length() < 1)
+ throw runtime_error(
+ "walletpassphrasechange <oldpassphrase> <newpassphrase>\n"
+ "Changes the wallet passphrase from <oldpassphrase> to <newpassphrase>.");
+
+ if (!pwalletMain->ChangeWalletPassphrase(strOldWalletPass, strNewWalletPass))
+ throw JSONRPCError(RPC_WALLET_PASSPHRASE_INCORRECT, "Error: The wallet passphrase entered was incorrect.");
+
+ return Value::null;
+}
+
+
+Value walletlock(const Array& params, bool fHelp)
+{
+ if (pwalletMain->IsCrypted() && (fHelp || params.size() != 0))
+ throw runtime_error(
+ "walletlock\n"
+ "Removes the wallet encryption key from memory, locking the wallet.\n"
+ "After calling this method, you will need to call walletpassphrase again\n"
+ "before being able to call any methods which require the wallet to be unlocked.");
+ if (fHelp)
+ return true;
+ if (!pwalletMain->IsCrypted())
+ throw JSONRPCError(RPC_WALLET_WRONG_ENC_STATE, "Error: running with an unencrypted wallet, but walletlock was called.");
+
+ {
+ LOCK(cs_nWalletUnlockTime);
+ pwalletMain->Lock();
+ nWalletUnlockTime = 0;
+ }
+
+ return Value::null;
+}
+
+
+Value encryptwallet(const Array& params, bool fHelp)
+{
+ if (!pwalletMain->IsCrypted() && (fHelp || params.size() != 1))
+ throw runtime_error(
+ "encryptwallet <passphrase>\n"
+ "Encrypts the wallet with <passphrase>.");
+ if (fHelp)
+ return true;
+ if (pwalletMain->IsCrypted())
+ throw JSONRPCError(RPC_WALLET_WRONG_ENC_STATE, "Error: running with an encrypted wallet, but encryptwallet was called.");
+
+ // TODO: get rid of this .c_str() by implementing SecureString::operator=(std::string)
+ // Alternately, find a way to make params[0] mlock()'d to begin with.
+ SecureString strWalletPass;
+ strWalletPass.reserve(100);
+ strWalletPass = params[0].get_str().c_str();
+
+ if (strWalletPass.length() < 1)
+ throw runtime_error(
+ "encryptwallet <passphrase>\n"
+ "Encrypts the wallet with <passphrase>.");
+
+ if (!pwalletMain->EncryptWallet(strWalletPass))
+ throw JSONRPCError(RPC_WALLET_ENCRYPTION_FAILED, "Error: Failed to encrypt the wallet.");
+
+ // BDB seems to have a bad habit of writing old data into
+ // slack space in .dat files; that is bad if the old data is
+ // unencrypted private keys. So:
+ StartShutdown();
+ return "wallet encrypted; Bitcoin server stopping, restart to run with encrypted wallet. The keypool has been flushed, you need to make a new backup.";
+}
+
+class DescribeAddressVisitor : public boost::static_visitor<Object>
+{
+public:
+ Object operator()(const CNoDestination &dest) const { return Object(); }
+
+ Object operator()(const CKeyID &keyID) const {
+ Object obj;
+ CPubKey vchPubKey;
+ pwalletMain->GetPubKey(keyID, vchPubKey);
+ obj.push_back(Pair("isscript", false));
+ obj.push_back(Pair("pubkey", HexStr(vchPubKey.Raw())));
+ obj.push_back(Pair("iscompressed", vchPubKey.IsCompressed()));
+ return obj;
+ }
+
+ Object operator()(const CScriptID &scriptID) const {
+ Object obj;
+ obj.push_back(Pair("isscript", true));
+ CScript subscript;
+ pwalletMain->GetCScript(scriptID, subscript);
+ std::vector<CTxDestination> addresses;
+ txnouttype whichType;
+ int nRequired;
+ ExtractDestinations(subscript, whichType, addresses, nRequired);
+ obj.push_back(Pair("script", GetTxnOutputType(whichType)));
+ Array a;
+ BOOST_FOREACH(const CTxDestination& addr, addresses)
+ a.push_back(CBitcoinAddress(addr).ToString());
+ obj.push_back(Pair("addresses", a));
+ if (whichType == TX_MULTISIG)
+ obj.push_back(Pair("sigsrequired", nRequired));
+ return obj;
+ }
+};
+
+Value validateaddress(const Array& params, bool fHelp)
+{
+ if (fHelp || params.size() != 1)
+ throw runtime_error(
+ "validateaddress <bitcoinaddress>\n"
+ "Return information about <bitcoinaddress>.");
+
+ CBitcoinAddress address(params[0].get_str());
+ bool isValid = address.IsValid();
+
+ Object ret;
+ ret.push_back(Pair("isvalid", isValid));
+ if (isValid)
+ {
+ CTxDestination dest = address.Get();
+ string currentAddress = address.ToString();
+ ret.push_back(Pair("address", currentAddress));
+ bool fMine = IsMine(*pwalletMain, dest);
+ ret.push_back(Pair("ismine", fMine));
+ if (fMine) {
+ Object detail = boost::apply_visitor(DescribeAddressVisitor(), dest);
+ ret.insert(ret.end(), detail.begin(), detail.end());
+ }
+ if (pwalletMain->mapAddressBook.count(dest))
+ ret.push_back(Pair("account", pwalletMain->mapAddressBook[dest]));
+ }
+ return ret;
+}
+
diff --git a/src/script.cpp b/src/script.cpp
index 5003b1f0ad..4357a9a1b3 100644
--- a/src/script.cpp
+++ b/src/script.cpp
@@ -13,6 +13,7 @@ using namespace boost;
#include "bignum.h"
#include "key.h"
#include "main.h"
+#include "sync.h"
#include "util.h"
bool CheckSig(vector<unsigned char> vchSig, vector<unsigned char> vchPubKey, CScript scriptCode, const CTransaction& txTo, unsigned int nIn, int nHashType);
@@ -53,12 +54,29 @@ bool CastToBool(const valtype& vch)
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);
}
@@ -662,6 +680,11 @@ bool EvalScript(vector<vector<unsigned char> >& stack, const CScript& script, co
}
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:
@@ -671,7 +694,7 @@ bool EvalScript(vector<vector<unsigned char> >& stack, const CScript& script, co
return false;
valtype& vch1 = stacktop(-2);
valtype& vch2 = stacktop(-1);
- MakeSameSize(vch1, vch2);
+ MakeSameSize(vch1, vch2); // <-- NOT SAFE FOR SIGNED VALUES
if (opcode == OP_AND)
{
for (unsigned int i = 0; i < vch1.size(); i++)
@@ -942,7 +965,7 @@ bool EvalScript(vector<vector<unsigned char> >& stack, const CScript& script, co
// ([sig ...] num_of_signatures [pubkey ...] num_of_pubkeys -- bool)
int i = 1;
- if (stack.size() < i)
+ if ((int)stack.size() < i)
return false;
int nKeysCount = CastToBigNum(stacktop(-i)).getint();
@@ -953,7 +976,7 @@ bool EvalScript(vector<vector<unsigned char> >& stack, const CScript& script, co
return false;
int ikey = ++i;
i += nKeysCount;
- if (stack.size() < i)
+ if ((int)stack.size() < i)
return false;
int nSigsCount = CastToBigNum(stacktop(-i)).getint();
@@ -961,7 +984,7 @@ bool EvalScript(vector<vector<unsigned char> >& stack, const CScript& script, co
return false;
int isig = ++i;
i += nSigsCount;
- if (stack.size() < i)
+ if ((int)stack.size() < i)
return false;
// Subset of script starting at the most recent codeseparator
@@ -1126,8 +1149,7 @@ public:
return false;
}
- void
- Set(uint256 hash, const std::vector<unsigned char>& vchSig, const std::vector<unsigned char>& pubKey)
+ void Set(uint256 hash, const std::vector<unsigned char>& vchSig, const std::vector<unsigned char>& pubKey)
{
// DoS prevention: limit cache size to less than 10MB
// (~200 bytes per cache entry times 50,000 entries)
@@ -1311,7 +1333,7 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector<vector<unsi
}
-bool Sign1(const CBitcoinAddress& address, const CKeyStore& keystore, uint256 hash, int nHashType, CScript& scriptSigRet)
+bool Sign1(const CKeyID& address, const CKeyStore& keystore, uint256 hash, int nHashType, CScript& scriptSigRet)
{
CKey key;
if (!keystore.GetKey(address, key))
@@ -1330,16 +1352,12 @@ bool SignN(const vector<valtype>& multisigdata, const CKeyStore& keystore, uint2
{
int nSigned = 0;
int nRequired = multisigdata.front()[0];
- for (vector<valtype>::const_iterator it = multisigdata.begin()+1; it != multisigdata.begin()+multisigdata.size()-1; it++)
+ for (unsigned int i = 1; i < multisigdata.size()-1 && nSigned < nRequired; i++)
{
- const valtype& pubkey = *it;
- CBitcoinAddress address;
- address.SetPubKey(pubkey);
- if (Sign1(address, keystore, hash, nHashType, scriptSigRet))
- {
+ const valtype& pubkey = multisigdata[i];
+ CKeyID keyID = CPubKey(pubkey).GetID();
+ if (Sign1(keyID, keystore, hash, nHashType, scriptSigRet))
++nSigned;
- if (nSigned == nRequired) break;
- }
}
return nSigned==nRequired;
}
@@ -1359,22 +1377,22 @@ bool Solver(const CKeyStore& keystore, const CScript& scriptPubKey, uint256 hash
if (!Solver(scriptPubKey, whichTypeRet, vSolutions))
return false;
- CBitcoinAddress address;
+ CKeyID keyID;
switch (whichTypeRet)
{
case TX_NONSTANDARD:
return false;
case TX_PUBKEY:
- address.SetPubKey(vSolutions[0]);
- return Sign1(address, keystore, hash, nHashType, scriptSigRet);
+ keyID = CPubKey(vSolutions[0]).GetID();
+ return Sign1(keyID, keystore, hash, nHashType, scriptSigRet);
case TX_PUBKEYHASH:
- address.SetHash160(uint160(vSolutions[0]));
- if (!Sign1(address, keystore, hash, nHashType, scriptSigRet))
+ keyID = CKeyID(uint160(vSolutions[0]));
+ if (!Sign1(keyID, keystore, hash, nHashType, scriptSigRet))
return false;
else
{
- valtype vch;
- keystore.GetPubKey(address, vch);
+ CPubKey vch;
+ keystore.GetPubKey(keyID, vch);
scriptSigRet << vch;
}
return true;
@@ -1435,14 +1453,30 @@ unsigned int HaveKeys(const vector<valtype>& pubkeys, const CKeyStore& keystore)
unsigned int nResult = 0;
BOOST_FOREACH(const valtype& pubkey, pubkeys)
{
- CBitcoinAddress address;
- address.SetPubKey(pubkey);
- if (keystore.HaveKey(address))
+ CKeyID keyID = CPubKey(pubkey).GetID();
+ if (keystore.HaveKey(keyID))
++nResult;
}
return nResult;
}
+
+class CKeyStoreIsMineVisitor : public boost::static_visitor<bool>
+{
+private:
+ const CKeyStore *keystore;
+public:
+ CKeyStoreIsMineVisitor(const CKeyStore *keystoreIn) : keystore(keystoreIn) { }
+ bool operator()(const CNoDestination &dest) const { return false; }
+ bool operator()(const CKeyID &keyID) const { return keystore->HaveKey(keyID); }
+ bool operator()(const CScriptID &scriptID) const { return keystore->HaveCScript(scriptID); }
+};
+
+bool IsMine(const CKeyStore &keystore, const CTxDestination &dest)
+{
+ return boost::apply_visitor(CKeyStoreIsMineVisitor(&keystore), dest);
+}
+
bool IsMine(const CKeyStore &keystore, const CScript& scriptPubKey)
{
vector<valtype> vSolutions;
@@ -1450,21 +1484,21 @@ bool IsMine(const CKeyStore &keystore, const CScript& scriptPubKey)
if (!Solver(scriptPubKey, whichType, vSolutions))
return false;
- CBitcoinAddress address;
+ CKeyID keyID;
switch (whichType)
{
case TX_NONSTANDARD:
return false;
case TX_PUBKEY:
- address.SetPubKey(vSolutions[0]);
- return keystore.HaveKey(address);
+ keyID = CPubKey(vSolutions[0]).GetID();
+ return keystore.HaveKey(keyID);
case TX_PUBKEYHASH:
- address.SetHash160(uint160(vSolutions[0]));
- return keystore.HaveKey(address);
+ keyID = CKeyID(uint160(vSolutions[0]));
+ return keystore.HaveKey(keyID);
case TX_SCRIPTHASH:
{
CScript subscript;
- if (!keystore.GetCScript(uint160(vSolutions[0]), subscript))
+ if (!keystore.GetCScript(CScriptID(uint160(vSolutions[0])), subscript))
return false;
return IsMine(keystore, subscript);
}
@@ -1482,7 +1516,7 @@ bool IsMine(const CKeyStore &keystore, const CScript& scriptPubKey)
return false;
}
-bool ExtractAddress(const CScript& scriptPubKey, CBitcoinAddress& addressRet)
+bool ExtractDestination(const CScript& scriptPubKey, CTxDestination& addressRet)
{
vector<valtype> vSolutions;
txnouttype whichType;
@@ -1491,24 +1525,24 @@ bool ExtractAddress(const CScript& scriptPubKey, CBitcoinAddress& addressRet)
if (whichType == TX_PUBKEY)
{
- addressRet.SetPubKey(vSolutions[0]);
+ addressRet = CPubKey(vSolutions[0]).GetID();
return true;
}
else if (whichType == TX_PUBKEYHASH)
{
- addressRet.SetHash160(uint160(vSolutions[0]));
+ addressRet = CKeyID(uint160(vSolutions[0]));
return true;
}
else if (whichType == TX_SCRIPTHASH)
{
- addressRet.SetScriptHash160(uint160(vSolutions[0]));
+ addressRet = CScriptID(uint160(vSolutions[0]));
return true;
}
// Multisig txns have more than one address...
return false;
}
-bool ExtractAddresses(const CScript& scriptPubKey, txnouttype& typeRet, vector<CBitcoinAddress>& addressRet, int& nRequiredRet)
+bool ExtractDestinations(const CScript& scriptPubKey, txnouttype& typeRet, vector<CTxDestination>& addressRet, int& nRequiredRet)
{
addressRet.clear();
typeRet = TX_NONSTANDARD;
@@ -1521,21 +1555,16 @@ bool ExtractAddresses(const CScript& scriptPubKey, txnouttype& typeRet, vector<C
nRequiredRet = vSolutions.front()[0];
for (unsigned int i = 1; i < vSolutions.size()-1; i++)
{
- CBitcoinAddress address;
- address.SetPubKey(vSolutions[i]);
+ CTxDestination address = CPubKey(vSolutions[i]).GetID();
addressRet.push_back(address);
}
}
else
{
nRequiredRet = 1;
- CBitcoinAddress address;
- if (typeRet == TX_PUBKEYHASH)
- address.SetHash160(uint160(vSolutions.front()));
- else if (typeRet == TX_SCRIPTHASH)
- address.SetScriptHash160(uint160(vSolutions.front()));
- else if (typeRet == TX_PUBKEY)
- address.SetPubKey(vSolutions.front());
+ CTxDestination address;
+ if (!ExtractDestination(scriptPubKey, address))
+ return false;
addressRet.push_back(address);
}
@@ -1579,19 +1608,17 @@ bool VerifyScript(const CScript& scriptSig, const CScript& scriptPubKey, const C
}
-bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CTransaction& txTo, unsigned int nIn, int nHashType)
+bool SignSignature(const CKeyStore &keystore, const CScript& fromPubKey, CTransaction& txTo, unsigned int nIn, int nHashType)
{
assert(nIn < txTo.vin.size());
CTxIn& txin = txTo.vin[nIn];
- assert(txin.prevout.n < txFrom.vout.size());
- const CTxOut& txout = txFrom.vout[txin.prevout.n];
// Leave out the signature from the hash, since a signature can't sign itself.
// The checksig op will also drop the signatures from its hash.
- uint256 hash = SignatureHash(txout.scriptPubKey, txTo, nIn, nHashType);
+ uint256 hash = SignatureHash(fromPubKey, txTo, nIn, nHashType);
txnouttype whichType;
- if (!Solver(keystore, txout.scriptPubKey, hash, nHashType, txin.scriptSig, whichType))
+ if (!Solver(keystore, fromPubKey, hash, nHashType, txin.scriptSig, whichType))
return false;
if (whichType == TX_SCRIPTHASH)
@@ -1603,21 +1630,28 @@ bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CTrans
// Recompute txn hash using subscript in place of scriptPubKey:
uint256 hash2 = SignatureHash(subscript, txTo, nIn, nHashType);
+
txnouttype subType;
- if (!Solver(keystore, subscript, hash2, nHashType, txin.scriptSig, subType))
- return false;
- if (subType == TX_SCRIPTHASH)
- return false;
- txin.scriptSig << static_cast<valtype>(subscript); // Append serialized subscript
+ bool fSolved =
+ Solver(keystore, subscript, hash2, nHashType, txin.scriptSig, subType) && subType != TX_SCRIPTHASH;
+ // Append serialized subscript whether or not it is completely signed:
+ txin.scriptSig << static_cast<valtype>(subscript);
+ if (!fSolved) return false;
}
// Test solution
- if (!VerifyScript(txin.scriptSig, txout.scriptPubKey, txTo, nIn, true, 0))
- return false;
-
- return true;
+ return VerifyScript(txin.scriptSig, fromPubKey, txTo, nIn, true, 0);
}
+bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CTransaction& txTo, unsigned int nIn, int nHashType)
+{
+ assert(nIn < txTo.vin.size());
+ CTxIn& txin = txTo.vin[nIn];
+ assert(txin.prevout.n < txFrom.vout.size());
+ const CTxOut& txout = txFrom.vout[txin.prevout.n];
+
+ return SignSignature(keystore, txout.scriptPubKey, txTo, nIn, nHashType);
+}
bool VerifySignature(const CTransaction& txFrom, const CTransaction& txTo, unsigned int nIn, bool fValidatePayToScriptHash, int nHashType)
{
@@ -1630,10 +1664,129 @@ bool VerifySignature(const CTransaction& txFrom, const CTransaction& txTo, unsig
if (txin.prevout.hash != txFrom.GetHash())
return false;
- if (!VerifyScript(txin.scriptSig, txout.scriptPubKey, txTo, nIn, fValidatePayToScriptHash, nHashType))
- return false;
+ return VerifyScript(txin.scriptSig, txout.scriptPubKey, txTo, nIn, fValidatePayToScriptHash, nHashType);
+}
- return true;
+static CScript PushAll(const vector<valtype>& values)
+{
+ CScript result;
+ BOOST_FOREACH(const valtype& v, values)
+ result << v;
+ return result;
+}
+
+static CScript CombineMultisig(CScript scriptPubKey, const CTransaction& txTo, unsigned int nIn,
+ const vector<valtype>& vSolutions,
+ vector<valtype>& sigs1, vector<valtype>& sigs2)
+{
+ // Combine all the signatures we've got:
+ set<valtype> allsigs;
+ BOOST_FOREACH(const valtype& v, sigs1)
+ {
+ if (!v.empty())
+ allsigs.insert(v);
+ }
+ BOOST_FOREACH(const valtype& v, sigs2)
+ {
+ if (!v.empty())
+ allsigs.insert(v);
+ }
+
+ // Build a map of pubkey -> signature by matching sigs to pubkeys:
+ assert(vSolutions.size() > 1);
+ unsigned int nSigsRequired = vSolutions.front()[0];
+ unsigned int nPubKeys = vSolutions.size()-2;
+ map<valtype, valtype> sigs;
+ BOOST_FOREACH(const valtype& sig, allsigs)
+ {
+ for (unsigned int i = 0; i < nPubKeys; i++)
+ {
+ const valtype& pubkey = vSolutions[i+1];
+ if (sigs.count(pubkey))
+ continue; // Already got a sig for this pubkey
+
+ if (CheckSig(sig, pubkey, scriptPubKey, txTo, nIn, 0))
+ {
+ sigs[pubkey] = sig;
+ break;
+ }
+ }
+ }
+ // Now build a merged CScript:
+ unsigned int nSigsHave = 0;
+ CScript result; result << OP_0; // pop-one-too-many workaround
+ for (unsigned int i = 0; i < nPubKeys && nSigsHave < nSigsRequired; i++)
+ {
+ if (sigs.count(vSolutions[i+1]))
+ {
+ result << sigs[vSolutions[i+1]];
+ ++nSigsHave;
+ }
+ }
+ // Fill any missing with OP_0:
+ for (unsigned int i = nSigsHave; i < nSigsRequired; i++)
+ result << OP_0;
+
+ return result;
+}
+
+static CScript CombineSignatures(CScript scriptPubKey, const CTransaction& txTo, unsigned int nIn,
+ const txnouttype txType, const vector<valtype>& vSolutions,
+ vector<valtype>& sigs1, vector<valtype>& sigs2)
+{
+ switch (txType)
+ {
+ case TX_NONSTANDARD:
+ // Don't know anything about this, assume bigger one is correct:
+ if (sigs1.size() >= sigs2.size())
+ return PushAll(sigs1);
+ return PushAll(sigs2);
+ case TX_PUBKEY:
+ case TX_PUBKEYHASH:
+ // Signatures are bigger than placeholders or empty scripts:
+ if (sigs1.empty() || sigs1[0].empty())
+ return PushAll(sigs2);
+ return PushAll(sigs1);
+ case TX_SCRIPTHASH:
+ if (sigs1.empty() || sigs1.back().empty())
+ return PushAll(sigs2);
+ else if (sigs2.empty() || sigs2.back().empty())
+ return PushAll(sigs1);
+ else
+ {
+ // Recur to combine:
+ valtype spk = sigs1.back();
+ CScript pubKey2(spk.begin(), spk.end());
+
+ txnouttype txType2;
+ vector<vector<unsigned char> > vSolutions2;
+ Solver(pubKey2, txType2, vSolutions2);
+ sigs1.pop_back();
+ sigs2.pop_back();
+ CScript result = CombineSignatures(pubKey2, txTo, nIn, txType2, vSolutions2, sigs1, sigs2);
+ result << spk;
+ return result;
+ }
+ case TX_MULTISIG:
+ return CombineMultisig(scriptPubKey, txTo, nIn, vSolutions, sigs1, sigs2);
+ }
+
+ return CScript();
+}
+
+CScript CombineSignatures(CScript scriptPubKey, const CTransaction& txTo, unsigned int nIn,
+ const CScript& scriptSig1, const CScript& scriptSig2)
+{
+ txnouttype txType;
+ vector<vector<unsigned char> > vSolutions;
+ Solver(scriptPubKey, txType, vSolutions);
+
+ vector<valtype> stack1;
+ EvalScript(stack1, scriptSig1, CTransaction(), 0, 0);
+ vector<valtype> stack2;
+ EvalScript(stack2, scriptSig2, CTransaction(), 0, 0);
+
+ return CombineSignatures(scriptPubKey, txTo, nIn, txType, vSolutions, stack1, stack2);
}
unsigned int CScript::GetSigOpCount(bool fAccurate) const
@@ -1693,13 +1846,34 @@ bool CScript::IsPayToScriptHash() const
this->at(22) == OP_EQUAL);
}
-void CScript::SetBitcoinAddress(const CBitcoinAddress& address)
+class CScriptVisitor : public boost::static_visitor<bool>
{
- this->clear();
- if (address.IsScript())
- *this << OP_HASH160 << address.GetHash160() << OP_EQUAL;
- else
- *this << OP_DUP << OP_HASH160 << address.GetHash160() << OP_EQUALVERIFY << OP_CHECKSIG;
+private:
+ CScript *script;
+public:
+ CScriptVisitor(CScript *scriptin) { script = scriptin; }
+
+ bool operator()(const CNoDestination &dest) const {
+ script->clear();
+ return false;
+ }
+
+ bool operator()(const CKeyID &keyID) const {
+ script->clear();
+ *script << OP_DUP << OP_HASH160 << keyID << OP_EQUALVERIFY << OP_CHECKSIG;
+ return true;
+ }
+
+ bool operator()(const CScriptID &scriptID) const {
+ script->clear();
+ *script << OP_HASH160 << scriptID << OP_EQUAL;
+ return true;
+ }
+};
+
+void CScript::SetDestination(const CTxDestination& dest)
+{
+ boost::apply_visitor(CScriptVisitor(this), dest);
}
void CScript::SetMultisig(int nRequired, const std::vector<CKey>& keys)
@@ -1711,11 +1885,3 @@ void CScript::SetMultisig(int nRequired, const std::vector<CKey>& keys)
*this << key.GetPubKey();
*this << EncodeOP_N(keys.size()) << OP_CHECKMULTISIG;
}
-
-void CScript::SetPayToScriptHash(const CScript& subscript)
-{
- assert(!subscript.empty());
- uint160 subscriptHash = Hash160(subscript);
- this->clear();
- *this << OP_HASH160 << subscriptHash << OP_EQUAL;
-}
diff --git a/src/script.h b/src/script.h
index 5397a1972f..fdcf802945 100644
--- a/src/script.h
+++ b/src/script.h
@@ -5,15 +5,16 @@
#ifndef H_BITCOIN_SCRIPT
#define H_BITCOIN_SCRIPT
-#include "base58.h"
-
#include <string>
#include <vector>
#include <boost/foreach.hpp>
+#include <boost/variant.hpp>
+
+#include "keystore.h"
+#include "bignum.h"
class CTransaction;
-class CKeyStore;
/** Signature hash types/flags */
enum
@@ -35,6 +36,20 @@ enum txnouttype
TX_MULTISIG,
};
+class CNoDestination {
+public:
+ friend bool operator==(const CNoDestination &a, const CNoDestination &b) { return true; }
+ friend bool operator<(const CNoDestination &a, const CNoDestination &b) { return true; }
+};
+
+/** A txout script template with a specific destination. It is either:
+ * * CNoDestination: no destination set
+ * * CKeyID: TX_PUBKEYHASH destination
+ * * CScriptID: TX_SCRIPTHASH destination
+ * A CTxDestination is the internal data type encoded in a CBitcoinAddress
+ */
+typedef boost::variant<CNoDestination, CKeyID, CScriptID> CTxDestination;
+
const char* GetTxnOutputType(txnouttype t);
/** Script opcodes */
@@ -320,6 +335,12 @@ public:
return *this;
}
+ CScript& operator<<(const CPubKey& key)
+ {
+ std::vector<unsigned char> vchKey = key.Raw();
+ return (*this) << vchKey;
+ }
+
CScript& operator<<(const CBigNum& b)
{
*this << b.getvch();
@@ -357,7 +378,7 @@ public:
{
// I'm not sure if this should push the script or concatenate scripts.
// If there's ever a use for pushing a script onto a script, delete this member fn
- assert(!"warning: pushing a CScript onto a CScript with << is probably not intended, use + to concatenate");
+ assert(!"Warning: Pushing a CScript onto a CScript with << is probably not intended, use + to concatenate!");
return *this;
}
@@ -431,7 +452,7 @@ public:
memcpy(&nSize, &pc[0], 4);
pc += 4;
}
- if (end() - pc < nSize)
+ if (end() - pc < 0 || (unsigned int)(end() - pc) < nSize)
return false;
if (pvchRet)
pvchRet->assign(pc, pc + nSize);
@@ -515,13 +536,8 @@ public:
}
- void SetBitcoinAddress(const CBitcoinAddress& address);
- void SetBitcoinAddress(const std::vector<unsigned char>& vchPubKey)
- {
- SetBitcoinAddress(CBitcoinAddress(vchPubKey));
- }
+ void SetDestination(const CTxDestination& address);
void SetMultisig(int nRequired, const std::vector<CKey>& keys);
- void SetPayToScriptHash(const CScript& subscript);
void PrintHex() const
@@ -556,6 +572,11 @@ public:
{
printf("%s\n", ToString().c_str());
}
+
+ CScriptID GetID() const
+ {
+ return CScriptID(Hash160(*this));
+ }
};
@@ -567,9 +588,17 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, std::vector<std::v
int ScriptSigArgsExpected(txnouttype t, const std::vector<std::vector<unsigned char> >& vSolutions);
bool IsStandard(const CScript& scriptPubKey);
bool IsMine(const CKeyStore& keystore, const CScript& scriptPubKey);
-bool ExtractAddress(const CScript& scriptPubKey, CBitcoinAddress& addressRet);
-bool ExtractAddresses(const CScript& scriptPubKey, txnouttype& typeRet, std::vector<CBitcoinAddress>& addressRet, int& nRequiredRet);
+bool IsMine(const CKeyStore& keystore, const CTxDestination &dest);
+bool ExtractDestination(const CScript& scriptPubKey, CTxDestination& addressRet);
+bool ExtractDestinations(const CScript& scriptPubKey, txnouttype& typeRet, std::vector<CTxDestination>& addressRet, int& nRequiredRet);
+bool SignSignature(const CKeyStore& keystore, const CScript& fromPubKey, CTransaction& txTo, unsigned int nIn, int nHashType=SIGHASH_ALL);
bool SignSignature(const CKeyStore& keystore, const CTransaction& txFrom, CTransaction& txTo, unsigned int nIn, int nHashType=SIGHASH_ALL);
+bool VerifyScript(const CScript& scriptSig, const CScript& scriptPubKey, const CTransaction& txTo, unsigned int nIn,
+ bool fValidatePayToScriptHash, int nHashType);
bool VerifySignature(const CTransaction& txFrom, const CTransaction& txTo, unsigned int nIn, bool fValidatePayToScriptHash, int nHashType);
+// Given two sets of signatures for scriptPubKey, possibly with OP_0 placeholders,
+// combine them intelligently and return the result.
+CScript CombineSignatures(CScript scriptPubKey, const CTransaction& txTo, unsigned int nIn, const CScript& scriptSig1, const CScript& scriptSig2);
+
#endif
diff --git a/src/serialize.h b/src/serialize.h
index 3d01199275..5c6337c380 100644
--- a/src/serialize.h
+++ b/src/serialize.h
@@ -245,7 +245,6 @@ uint64 ReadCompactSize(Stream& is)
#define FLATDATA(obj) REF(CFlatData((char*)&(obj), (char*)&(obj) + sizeof(obj)))
/** Wrapper for serializing arrays and POD.
- * There's a clever template way to make arrays serialize normally, but MSVC6 doesn't support it.
*/
class CFlatData
{
@@ -811,7 +810,8 @@ public:
void insert(iterator it, const_iterator first, const_iterator last)
{
- if (it == vch.begin() + nReadPos && last - first <= nReadPos)
+ assert(last - first >= 0);
+ if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos)
{
// special case for inserting at the front when there's room
nReadPos -= (last - first);
@@ -823,7 +823,8 @@ public:
void insert(iterator it, std::vector<char>::const_iterator first, std::vector<char>::const_iterator last)
{
- if (it == vch.begin() + nReadPos && last - first <= nReadPos)
+ assert(last - first >= 0);
+ if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos)
{
// special case for inserting at the front when there's room
nReadPos -= (last - first);
@@ -836,7 +837,8 @@ public:
#if !defined(_MSC_VER) || _MSC_VER >= 1300
void insert(iterator it, const char* first, const char* last)
{
- if (it == vch.begin() + nReadPos && last - first <= nReadPos)
+ assert(last - first >= 0);
+ if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos)
{
// special case for inserting at the front when there's room
nReadPos -= (last - first);
@@ -1009,57 +1011,6 @@ public:
}
};
-#ifdef TESTCDATASTREAM
-// VC6sp6
-// CDataStream:
-// n=1000 0 seconds
-// n=2000 0 seconds
-// n=4000 0 seconds
-// n=8000 0 seconds
-// n=16000 0 seconds
-// n=32000 0 seconds
-// n=64000 1 seconds
-// n=128000 1 seconds
-// n=256000 2 seconds
-// n=512000 4 seconds
-// n=1024000 8 seconds
-// n=2048000 16 seconds
-// n=4096000 32 seconds
-// stringstream:
-// n=1000 1 seconds
-// n=2000 1 seconds
-// n=4000 13 seconds
-// n=8000 87 seconds
-// n=16000 400 seconds
-// n=32000 1660 seconds
-// n=64000 6749 seconds
-// n=128000 27241 seconds
-// n=256000 109804 seconds
-#include <iostream>
-int main(int argc, char *argv[])
-{
- vector<unsigned char> vch(0xcc, 250);
- printf("CDataStream:\n");
- for (int n = 1000; n <= 4500000; n *= 2)
- {
- CDataStream ss;
- time_t nStart = time(NULL);
- for (int i = 0; i < n; i++)
- ss.write((char*)&vch[0], vch.size());
- printf("n=%-10d %d seconds\n", n, time(NULL) - nStart);
- }
- printf("stringstream:\n");
- for (int n = 1000; n <= 4500000; n *= 2)
- {
- stringstream ss;
- time_t nStart = time(NULL);
- for (int i = 0; i < n; i++)
- ss.write((char*)&vch[0], vch.size());
- printf("n=%-10d %d seconds\n", n, time(NULL) - nStart);
- }
-}
-#endif
-
diff --git a/src/sync.cpp b/src/sync.cpp
new file mode 100644
index 0000000000..1ac4403beb
--- /dev/null
+++ b/src/sync.cpp
@@ -0,0 +1,128 @@
+// Copyright (c) 2011-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 "sync.h"
+#include "util.h"
+
+#include <boost/foreach.hpp>
+
+#ifdef DEBUG_LOCKCONTENTION
+void PrintLockContention(const char* pszName, const char* pszFile, int nLine)
+{
+ printf("LOCKCONTENTION: %s\n", pszName);
+ printf("Locker: %s:%d\n", pszFile, nLine);
+}
+#endif /* DEBUG_LOCKCONTENTION */
+
+#ifdef DEBUG_LOCKORDER
+//
+// Early deadlock detection.
+// Problem being solved:
+// Thread 1 locks A, then B, then C
+// Thread 2 locks D, then C, then A
+// --> may result in deadlock between the two threads, depending on when they run.
+// Solution implemented here:
+// Keep track of pairs of locks: (A before B), (A before C), etc.
+// Complain if any thread tries to lock in a different order.
+//
+
+struct CLockLocation
+{
+ CLockLocation(const char* pszName, const char* pszFile, int nLine)
+ {
+ mutexName = pszName;
+ sourceFile = pszFile;
+ sourceLine = nLine;
+ }
+
+ std::string ToString() const
+ {
+ return mutexName+" "+sourceFile+":"+itostr(sourceLine);
+ }
+
+private:
+ std::string mutexName;
+ std::string sourceFile;
+ int sourceLine;
+};
+
+typedef std::vector< std::pair<void*, CLockLocation> > LockStack;
+
+static boost::mutex dd_mutex;
+static std::map<std::pair<void*, void*>, LockStack> lockorders;
+static boost::thread_specific_ptr<LockStack> lockstack;
+
+
+static void potential_deadlock_detected(const std::pair<void*, void*>& mismatch, const LockStack& s1, const LockStack& s2)
+{
+ printf("POTENTIAL DEADLOCK DETECTED\n");
+ printf("Previous lock order was:\n");
+ BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, s2)
+ {
+ if (i.first == mismatch.first) printf(" (1)");
+ if (i.first == mismatch.second) printf(" (2)");
+ printf(" %s\n", i.second.ToString().c_str());
+ }
+ printf("Current lock order is:\n");
+ BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, s1)
+ {
+ if (i.first == mismatch.first) printf(" (1)");
+ if (i.first == mismatch.second) printf(" (2)");
+ printf(" %s\n", i.second.ToString().c_str());
+ }
+}
+
+static void push_lock(void* c, const CLockLocation& locklocation, bool fTry)
+{
+ if (lockstack.get() == NULL)
+ lockstack.reset(new LockStack);
+
+ if (fDebug) printf("Locking: %s\n", locklocation.ToString().c_str());
+ dd_mutex.lock();
+
+ (*lockstack).push_back(std::make_pair(c, locklocation));
+
+ if (!fTry) {
+ BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, (*lockstack)) {
+ if (i.first == c) break;
+
+ std::pair<void*, void*> p1 = std::make_pair(i.first, c);
+ if (lockorders.count(p1))
+ continue;
+ lockorders[p1] = (*lockstack);
+
+ std::pair<void*, void*> p2 = std::make_pair(c, i.first);
+ if (lockorders.count(p2))
+ {
+ potential_deadlock_detected(p1, lockorders[p2], lockorders[p1]);
+ break;
+ }
+ }
+ }
+ dd_mutex.unlock();
+}
+
+static void pop_lock()
+{
+ if (fDebug)
+ {
+ const CLockLocation& locklocation = (*lockstack).rbegin()->second;
+ printf("Unlocked: %s\n", locklocation.ToString().c_str());
+ }
+ dd_mutex.lock();
+ (*lockstack).pop_back();
+ dd_mutex.unlock();
+}
+
+void EnterCritical(const char* pszName, const char* pszFile, int nLine, void* cs, bool fTry)
+{
+ push_lock(cs, CLockLocation(pszName, pszFile, nLine), fTry);
+}
+
+void LeaveCritical()
+{
+ pop_lock();
+}
+
+#endif /* DEBUG_LOCKORDER */
diff --git a/src/sync.h b/src/sync.h
new file mode 100644
index 0000000000..e80efbe001
--- /dev/null
+++ b/src/sync.h
@@ -0,0 +1,212 @@
+// 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_SYNC_H
+#define BITCOIN_SYNC_H
+
+#include <boost/thread/mutex.hpp>
+#include <boost/thread/recursive_mutex.hpp>
+#include <boost/thread/locks.hpp>
+#include <boost/thread/condition_variable.hpp>
+
+
+
+
+/** Wrapped boost mutex: supports recursive locking, but no waiting */
+typedef boost::recursive_mutex CCriticalSection;
+
+/** Wrapped boost mutex: supports waiting but not recursive locking */
+typedef boost::mutex CWaitableCriticalSection;
+
+#ifdef DEBUG_LOCKORDER
+void EnterCritical(const char* pszName, const char* pszFile, int nLine, void* cs, bool fTry = false);
+void LeaveCritical();
+#else
+void static inline EnterCritical(const char* pszName, const char* pszFile, int nLine, void* cs, bool fTry = false) {}
+void static inline LeaveCritical() {}
+#endif
+
+#ifdef DEBUG_LOCKCONTENTION
+void PrintLockContention(const char* pszName, const char* pszFile, int nLine);
+#endif
+
+/** Wrapper around boost::unique_lock<Mutex> */
+template<typename Mutex>
+class CMutexLock
+{
+private:
+ boost::unique_lock<Mutex> lock;
+public:
+
+ void Enter(const char* pszName, const char* pszFile, int nLine)
+ {
+ if (!lock.owns_lock())
+ {
+ EnterCritical(pszName, pszFile, nLine, (void*)(lock.mutex()));
+#ifdef DEBUG_LOCKCONTENTION
+ if (!lock.try_lock())
+ {
+ PrintLockContention(pszName, pszFile, nLine);
+#endif
+ lock.lock();
+#ifdef DEBUG_LOCKCONTENTION
+ }
+#endif
+ }
+ }
+
+ void Leave()
+ {
+ if (lock.owns_lock())
+ {
+ lock.unlock();
+ LeaveCritical();
+ }
+ }
+
+ bool TryEnter(const char* pszName, const char* pszFile, int nLine)
+ {
+ if (!lock.owns_lock())
+ {
+ EnterCritical(pszName, pszFile, nLine, (void*)(lock.mutex()), true);
+ lock.try_lock();
+ if (!lock.owns_lock())
+ LeaveCritical();
+ }
+ return lock.owns_lock();
+ }
+
+ CMutexLock(Mutex& mutexIn, const char* pszName, const char* pszFile, int nLine, bool fTry = false) : lock(mutexIn, boost::defer_lock)
+ {
+ if (fTry)
+ TryEnter(pszName, pszFile, nLine);
+ else
+ Enter(pszName, pszFile, nLine);
+ }
+
+ ~CMutexLock()
+ {
+ if (lock.owns_lock())
+ LeaveCritical();
+ }
+
+ operator bool()
+ {
+ return lock.owns_lock();
+ }
+
+ boost::unique_lock<Mutex> &GetLock()
+ {
+ return lock;
+ }
+};
+
+typedef CMutexLock<CCriticalSection> CCriticalBlock;
+
+#define LOCK(cs) CCriticalBlock criticalblock(cs, #cs, __FILE__, __LINE__)
+#define LOCK2(cs1,cs2) CCriticalBlock criticalblock1(cs1, #cs1, __FILE__, __LINE__),criticalblock2(cs2, #cs2, __FILE__, __LINE__)
+#define TRY_LOCK(cs,name) CCriticalBlock name(cs, #cs, __FILE__, __LINE__, true)
+
+#define ENTER_CRITICAL_SECTION(cs) \
+ { \
+ EnterCritical(#cs, __FILE__, __LINE__, (void*)(&cs)); \
+ (cs).lock(); \
+ }
+
+#define LEAVE_CRITICAL_SECTION(cs) \
+ { \
+ (cs).unlock(); \
+ LeaveCritical(); \
+ }
+
+class CSemaphore
+{
+private:
+ boost::condition_variable condition;
+ boost::mutex mutex;
+ int value;
+
+public:
+ CSemaphore(int init) : value(init) {}
+
+ void wait() {
+ boost::unique_lock<boost::mutex> lock(mutex);
+ while (value < 1) {
+ condition.wait(lock);
+ }
+ value--;
+ }
+
+ bool try_wait() {
+ boost::unique_lock<boost::mutex> lock(mutex);
+ if (value < 1)
+ return false;
+ value--;
+ return true;
+ }
+
+ void post() {
+ {
+ boost::unique_lock<boost::mutex> lock(mutex);
+ value++;
+ }
+ condition.notify_one();
+ }
+};
+
+/** RAII-style semaphore lock */
+class CSemaphoreGrant
+{
+private:
+ CSemaphore *sem;
+ bool fHaveGrant;
+
+public:
+ void Acquire() {
+ if (fHaveGrant)
+ return;
+ sem->wait();
+ fHaveGrant = true;
+ }
+
+ void Release() {
+ if (!fHaveGrant)
+ return;
+ sem->post();
+ fHaveGrant = false;
+ }
+
+ bool TryAcquire() {
+ if (!fHaveGrant && sem->try_wait())
+ fHaveGrant = true;
+ return fHaveGrant;
+ }
+
+ void MoveTo(CSemaphoreGrant &grant) {
+ grant.Release();
+ grant.sem = sem;
+ grant.fHaveGrant = fHaveGrant;
+ sem = NULL;
+ fHaveGrant = false;
+ }
+
+ CSemaphoreGrant() : sem(NULL), fHaveGrant(false) {}
+
+ CSemaphoreGrant(CSemaphore &sema, bool fTry = false) : sem(&sema), fHaveGrant(false) {
+ if (fTry)
+ TryAcquire();
+ else
+ Acquire();
+ }
+
+ ~CSemaphoreGrant() {
+ Release();
+ }
+
+ operator bool() {
+ return fHaveGrant;
+ }
+};
+#endif
+
diff --git a/src/test/DoS_tests.cpp b/src/test/DoS_tests.cpp
index 91ae23194c..7f08dd5543 100644
--- a/src/test/DoS_tests.cpp
+++ b/src/test/DoS_tests.cpp
@@ -34,13 +34,13 @@ BOOST_AUTO_TEST_CASE(DoS_banning)
{
CNode::ClearBanned();
CAddress addr1(ip(0xa0b0c001));
- CNode dummyNode1(INVALID_SOCKET, addr1, true);
+ CNode dummyNode1(INVALID_SOCKET, addr1, "", true);
dummyNode1.Misbehaving(100); // Should get banned
BOOST_CHECK(CNode::IsBanned(addr1));
BOOST_CHECK(!CNode::IsBanned(ip(0xa0b0c001|0x0000ff00))); // Different IP, not banned
CAddress addr2(ip(0xa0b0c002));
- CNode dummyNode2(INVALID_SOCKET, addr2, true);
+ CNode dummyNode2(INVALID_SOCKET, addr2, "", true);
dummyNode2.Misbehaving(50);
BOOST_CHECK(!CNode::IsBanned(addr2)); // 2 not banned yet...
BOOST_CHECK(CNode::IsBanned(addr1)); // ... but 1 still should be
@@ -53,7 +53,7 @@ BOOST_AUTO_TEST_CASE(DoS_banscore)
CNode::ClearBanned();
mapArgs["-banscore"] = "111"; // because 11 is my favorite number
CAddress addr1(ip(0xa0b0c001));
- CNode dummyNode1(INVALID_SOCKET, addr1, true);
+ CNode dummyNode1(INVALID_SOCKET, addr1, "", true);
dummyNode1.Misbehaving(100);
BOOST_CHECK(!CNode::IsBanned(addr1));
dummyNode1.Misbehaving(10);
@@ -70,7 +70,7 @@ BOOST_AUTO_TEST_CASE(DoS_bantime)
SetMockTime(nStartTime); // Overrides future calls to GetTime()
CAddress addr(ip(0xa0b0c001));
- CNode dummyNode(INVALID_SOCKET, addr, true);
+ CNode dummyNode(INVALID_SOCKET, addr, "", true);
dummyNode.Misbehaving(100);
BOOST_CHECK(CNode::IsBanned(addr));
@@ -161,7 +161,7 @@ BOOST_AUTO_TEST_CASE(DoS_mapOrphans)
tx.vin[0].scriptSig << OP_1;
tx.vout.resize(1);
tx.vout[0].nValue = 1*CENT;
- tx.vout[0].scriptPubKey.SetBitcoinAddress(key.GetPubKey());
+ tx.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID());
CDataStream ds(SER_DISK, CLIENT_VERSION);
ds << tx;
@@ -179,7 +179,7 @@ BOOST_AUTO_TEST_CASE(DoS_mapOrphans)
tx.vin[0].prevout.hash = txPrev.GetHash();
tx.vout.resize(1);
tx.vout[0].nValue = 1*CENT;
- tx.vout[0].scriptPubKey.SetBitcoinAddress(key.GetPubKey());
+ tx.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID());
SignSignature(keystore, txPrev, tx, 0);
CDataStream ds(SER_DISK, CLIENT_VERSION);
@@ -195,9 +195,9 @@ BOOST_AUTO_TEST_CASE(DoS_mapOrphans)
CTransaction tx;
tx.vout.resize(1);
tx.vout[0].nValue = 1*CENT;
- tx.vout[0].scriptPubKey.SetBitcoinAddress(key.GetPubKey());
+ tx.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID());
tx.vin.resize(500);
- for (int j = 0; j < tx.vin.size(); j++)
+ for (unsigned int j = 0; j < tx.vin.size(); j++)
{
tx.vin[j].prevout.n = j;
tx.vin[j].prevout.hash = txPrev.GetHash();
@@ -205,7 +205,7 @@ BOOST_AUTO_TEST_CASE(DoS_mapOrphans)
SignSignature(keystore, txPrev, tx, 0);
// Re-use same signature for other inputs
// (they don't have to be valid for this test)
- for (int j = 1; j < tx.vin.size(); j++)
+ for (unsigned int j = 1; j < tx.vin.size(); j++)
tx.vin[j].scriptSig = tx.vin[0].scriptSig;
CDataStream ds(SER_DISK, CLIENT_VERSION);
@@ -244,7 +244,7 @@ BOOST_AUTO_TEST_CASE(DoS_checkSig)
tx.vin[0].scriptSig << OP_1;
tx.vout.resize(1);
tx.vout[0].nValue = 1*CENT;
- tx.vout[0].scriptPubKey.SetBitcoinAddress(key.GetPubKey());
+ tx.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID());
CDataStream ds(SER_DISK, CLIENT_VERSION);
ds << tx;
@@ -255,16 +255,16 @@ BOOST_AUTO_TEST_CASE(DoS_checkSig)
CTransaction tx;
tx.vout.resize(1);
tx.vout[0].nValue = 1*CENT;
- tx.vout[0].scriptPubKey.SetBitcoinAddress(key.GetPubKey());
+ tx.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID());
tx.vin.resize(NPREV);
- for (int j = 0; j < tx.vin.size(); j++)
+ for (unsigned int j = 0; j < tx.vin.size(); j++)
{
tx.vin[j].prevout.n = 0;
tx.vin[j].prevout.hash = orphans[j].GetHash();
}
// Creating signatures primes the cache:
boost::posix_time::ptime mst1 = boost::posix_time::microsec_clock::local_time();
- for (int j = 0; j < tx.vin.size(); j++)
+ for (unsigned int j = 0; j < tx.vin.size(); j++)
BOOST_CHECK(SignSignature(keystore, orphans[j], tx, j));
boost::posix_time::ptime mst2 = boost::posix_time::microsec_clock::local_time();
boost::posix_time::time_duration msdiff = mst2 - mst1;
@@ -276,8 +276,8 @@ BOOST_AUTO_TEST_CASE(DoS_checkSig)
// uncached Verify takes ~250ms, cached Verify takes ~50ms
// (for 100 single-signature inputs)
mst1 = boost::posix_time::microsec_clock::local_time();
- for (int i = 0; i < 5; i++)
- for (int j = 0; j < tx.vin.size(); j++)
+ for (unsigned int i = 0; i < 5; i++)
+ for (unsigned int j = 0; j < tx.vin.size(); j++)
BOOST_CHECK(VerifySignature(orphans[j], tx, j, true, SIGHASH_ALL));
mst2 = boost::posix_time::microsec_clock::local_time();
msdiff = mst2 - mst1;
@@ -304,7 +304,7 @@ BOOST_AUTO_TEST_CASE(DoS_checkSig)
CScript oldSig = tx.vin[0].scriptSig;
BOOST_CHECK(SignSignature(keystore, orphans[0], tx, 0));
BOOST_CHECK(tx.vin[0].scriptSig != oldSig);
- for (int j = 0; j < tx.vin.size(); j++)
+ for (unsigned int j = 0; j < tx.vin.size(); j++)
BOOST_CHECK(VerifySignature(orphans[j], tx, j, true, SIGHASH_ALL));
mapArgs.erase("-maxsigcachesize");
diff --git a/src/test/accounting_tests.cpp b/src/test/accounting_tests.cpp
new file mode 100644
index 0000000000..8ac657288b
--- /dev/null
+++ b/src/test/accounting_tests.cpp
@@ -0,0 +1,123 @@
+#include <boost/test/unit_test.hpp>
+
+#include <boost/foreach.hpp>
+
+#include "init.h"
+#include "wallet.h"
+#include "walletdb.h"
+
+BOOST_AUTO_TEST_SUITE(accounting_tests)
+
+static void
+GetResults(CWalletDB& walletdb, std::map<int64, CAccountingEntry>& results)
+{
+ std::list<CAccountingEntry> aes;
+
+ results.clear();
+ BOOST_CHECK(walletdb.ReorderTransactions(pwalletMain) == DB_LOAD_OK);
+ walletdb.ListAccountCreditDebit("", aes);
+ BOOST_FOREACH(CAccountingEntry& ae, aes)
+ {
+ results[ae.nOrderPos] = ae;
+ }
+}
+
+BOOST_AUTO_TEST_CASE(acc_orderupgrade)
+{
+ CWalletDB walletdb(pwalletMain->strWalletFile);
+ std::vector<CWalletTx*> vpwtx;
+ CWalletTx wtx;
+ CAccountingEntry ae;
+ std::map<int64, CAccountingEntry> results;
+
+ ae.strAccount = "";
+ ae.nCreditDebit = 1;
+ ae.nTime = 1333333333;
+ ae.strOtherAccount = "b";
+ ae.strComment = "";
+ walletdb.WriteAccountingEntry(ae);
+
+ wtx.mapValue["comment"] = "z";
+ pwalletMain->AddToWallet(wtx);
+ vpwtx.push_back(&pwalletMain->mapWallet[wtx.GetHash()]);
+ vpwtx[0]->nTimeReceived = (unsigned int)1333333335;
+ vpwtx[0]->nOrderPos = -1;
+
+ ae.nTime = 1333333336;
+ ae.strOtherAccount = "c";
+ walletdb.WriteAccountingEntry(ae);
+
+ GetResults(walletdb, results);
+
+ BOOST_CHECK(pwalletMain->nOrderPosNext == 3);
+ BOOST_CHECK(2 == results.size());
+ BOOST_CHECK(results[0].nTime == 1333333333);
+ BOOST_CHECK(results[0].strComment.empty());
+ BOOST_CHECK(1 == vpwtx[0]->nOrderPos);
+ BOOST_CHECK(results[2].nTime == 1333333336);
+ BOOST_CHECK(results[2].strOtherAccount == "c");
+
+
+ ae.nTime = 1333333330;
+ ae.strOtherAccount = "d";
+ ae.nOrderPos = pwalletMain->IncOrderPosNext();
+ walletdb.WriteAccountingEntry(ae);
+
+ GetResults(walletdb, results);
+
+ BOOST_CHECK(results.size() == 3);
+ BOOST_CHECK(pwalletMain->nOrderPosNext == 4);
+ BOOST_CHECK(results[0].nTime == 1333333333);
+ BOOST_CHECK(1 == vpwtx[0]->nOrderPos);
+ BOOST_CHECK(results[2].nTime == 1333333336);
+ BOOST_CHECK(results[3].nTime == 1333333330);
+ BOOST_CHECK(results[3].strComment.empty());
+
+
+ wtx.mapValue["comment"] = "y";
+ --wtx.nLockTime; // Just to change the hash :)
+ pwalletMain->AddToWallet(wtx);
+ vpwtx.push_back(&pwalletMain->mapWallet[wtx.GetHash()]);
+ vpwtx[1]->nTimeReceived = (unsigned int)1333333336;
+
+ wtx.mapValue["comment"] = "x";
+ --wtx.nLockTime; // Just to change the hash :)
+ pwalletMain->AddToWallet(wtx);
+ vpwtx.push_back(&pwalletMain->mapWallet[wtx.GetHash()]);
+ vpwtx[2]->nTimeReceived = (unsigned int)1333333329;
+ vpwtx[2]->nOrderPos = -1;
+
+ GetResults(walletdb, results);
+
+ BOOST_CHECK(results.size() == 3);
+ BOOST_CHECK(pwalletMain->nOrderPosNext == 6);
+ BOOST_CHECK(0 == vpwtx[2]->nOrderPos);
+ BOOST_CHECK(results[1].nTime == 1333333333);
+ BOOST_CHECK(2 == vpwtx[0]->nOrderPos);
+ BOOST_CHECK(results[3].nTime == 1333333336);
+ BOOST_CHECK(results[4].nTime == 1333333330);
+ BOOST_CHECK(results[4].strComment.empty());
+ BOOST_CHECK(5 == vpwtx[1]->nOrderPos);
+
+
+ ae.nTime = 1333333334;
+ ae.strOtherAccount = "e";
+ ae.nOrderPos = -1;
+ walletdb.WriteAccountingEntry(ae);
+
+ GetResults(walletdb, results);
+
+ BOOST_CHECK(results.size() == 4);
+ BOOST_CHECK(pwalletMain->nOrderPosNext == 7);
+ BOOST_CHECK(0 == vpwtx[2]->nOrderPos);
+ BOOST_CHECK(results[1].nTime == 1333333333);
+ BOOST_CHECK(2 == vpwtx[0]->nOrderPos);
+ BOOST_CHECK(results[3].nTime == 1333333336);
+ BOOST_CHECK(results[3].strComment.empty());
+ BOOST_CHECK(results[4].nTime == 1333333330);
+ BOOST_CHECK(results[4].strComment.empty());
+ BOOST_CHECK(results[5].nTime == 1333333334);
+ BOOST_CHECK(6 == vpwtx[1]->nOrderPos);
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/test/allocator_tests.cpp b/src/test/allocator_tests.cpp
new file mode 100644
index 0000000000..d5cb8e8101
--- /dev/null
+++ b/src/test/allocator_tests.cpp
@@ -0,0 +1,115 @@
+#include <boost/test/unit_test.hpp>
+
+#include "init.h"
+#include "main.h"
+#include "util.h"
+
+BOOST_AUTO_TEST_SUITE(allocator_tests)
+
+// Dummy memory page locker for platform independent tests
+static const void *last_lock_addr, *last_unlock_addr;
+static size_t last_lock_len, last_unlock_len;
+class TestLocker
+{
+public:
+ bool Lock(const void *addr, size_t len)
+ {
+ last_lock_addr = addr;
+ last_lock_len = len;
+ return true;
+ }
+ bool Unlock(const void *addr, size_t len)
+ {
+ last_unlock_addr = addr;
+ last_unlock_len = len;
+ return true;
+ }
+};
+
+BOOST_AUTO_TEST_CASE(test_LockedPageManagerBase)
+{
+ const size_t test_page_size = 4096;
+ LockedPageManagerBase<TestLocker> lpm(test_page_size);
+ size_t addr;
+ last_lock_addr = last_unlock_addr = 0;
+ last_lock_len = last_unlock_len = 0;
+
+ /* Try large number of small objects */
+ addr = 0;
+ for(int i=0; i<1000; ++i)
+ {
+ lpm.LockRange(reinterpret_cast<void*>(addr), 33);
+ addr += 33;
+ }
+ /* Try small number of page-sized objects, straddling two pages */
+ addr = test_page_size*100 + 53;
+ for(int i=0; i<100; ++i)
+ {
+ lpm.LockRange(reinterpret_cast<void*>(addr), test_page_size);
+ addr += test_page_size;
+ }
+ /* Try small number of page-sized objects aligned to exactly one page */
+ addr = test_page_size*300;
+ for(int i=0; i<100; ++i)
+ {
+ lpm.LockRange(reinterpret_cast<void*>(addr), test_page_size);
+ addr += test_page_size;
+ }
+ /* one very large object, straddling pages */
+ lpm.LockRange(reinterpret_cast<void*>(test_page_size*600+1), test_page_size*500);
+ BOOST_CHECK(last_lock_addr == reinterpret_cast<void*>(test_page_size*(600+500)));
+ /* one very large object, page aligned */
+ lpm.LockRange(reinterpret_cast<void*>(test_page_size*1200), test_page_size*500-1);
+ BOOST_CHECK(last_lock_addr == reinterpret_cast<void*>(test_page_size*(1200+500-1)));
+
+ BOOST_CHECK(lpm.GetLockedPageCount() == (
+ (1000*33+test_page_size-1)/test_page_size + // small objects
+ 101 + 100 + // page-sized objects
+ 501 + 500)); // large objects
+ BOOST_CHECK((last_lock_len & (test_page_size-1)) == 0); // always lock entire pages
+ BOOST_CHECK(last_unlock_len == 0); // nothing unlocked yet
+
+ /* And unlock again */
+ addr = 0;
+ for(int i=0; i<1000; ++i)
+ {
+ lpm.UnlockRange(reinterpret_cast<void*>(addr), 33);
+ addr += 33;
+ }
+ addr = test_page_size*100 + 53;
+ for(int i=0; i<100; ++i)
+ {
+ lpm.UnlockRange(reinterpret_cast<void*>(addr), test_page_size);
+ addr += test_page_size;
+ }
+ addr = test_page_size*300;
+ for(int i=0; i<100; ++i)
+ {
+ lpm.UnlockRange(reinterpret_cast<void*>(addr), test_page_size);
+ addr += test_page_size;
+ }
+ lpm.UnlockRange(reinterpret_cast<void*>(test_page_size*600+1), test_page_size*500);
+ lpm.UnlockRange(reinterpret_cast<void*>(test_page_size*1200), test_page_size*500-1);
+
+ /* Check that everything is released */
+ BOOST_CHECK(lpm.GetLockedPageCount() == 0);
+
+ /* A few and unlocks of size zero (should have no effect) */
+ addr = 0;
+ for(int i=0; i<1000; ++i)
+ {
+ lpm.LockRange(reinterpret_cast<void*>(addr), 0);
+ addr += 1;
+ }
+ BOOST_CHECK(lpm.GetLockedPageCount() == 0);
+ addr = 0;
+ for(int i=0; i<1000; ++i)
+ {
+ lpm.UnlockRange(reinterpret_cast<void*>(addr), 0);
+ addr += 1;
+ }
+ BOOST_CHECK(lpm.GetLockedPageCount() == 0);
+ BOOST_CHECK((last_unlock_len & (test_page_size-1)) == 0); // always unlock entire pages
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/test/base32_tests.cpp b/src/test/base32_tests.cpp
new file mode 100644
index 0000000000..fdf3285913
--- /dev/null
+++ b/src/test/base32_tests.cpp
@@ -0,0 +1,20 @@
+#include <boost/test/unit_test.hpp>
+
+#include "util.h"
+
+BOOST_AUTO_TEST_SUITE(base32_tests)
+
+BOOST_AUTO_TEST_CASE(base32_testvectors)
+{
+ static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"};
+ static const std::string vstrOut[] = {"","my======","mzxq====","mzxw6===","mzxw6yq=","mzxw6ytb","mzxw6ytboi======"};
+ for (unsigned int i=0; i<sizeof(vstrIn)/sizeof(vstrIn[0]); i++)
+ {
+ std::string strEnc = EncodeBase32(vstrIn[i]);
+ BOOST_CHECK(strEnc == vstrOut[i]);
+ std::string strDec = DecodeBase32(vstrOut[i]);
+ BOOST_CHECK(strDec == vstrIn[i]);
+ }
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/test/base58_tests.cpp b/src/test/base58_tests.cpp
index d52ac74982..7602fa93a6 100644
--- a/src/test/base58_tests.cpp
+++ b/src/test/base58_tests.cpp
@@ -1,89 +1,259 @@
#include <boost/test/unit_test.hpp>
+#include "json/json_spirit_reader_template.h"
+#include "json/json_spirit_writer_template.h"
+#include "json/json_spirit_utils.h"
-#include "main.h"
-#include "wallet.h"
+#include "base58.h"
#include "util.h"
+using namespace json_spirit;
+extern Array read_json(const std::string& filename);
+
BOOST_AUTO_TEST_SUITE(base58_tests)
-// TODO:
-// EncodeBase58Check
-// DecodeBase58Check
-// CBase58Data
-// bool SetString(const char* psz)
- // bool SetString(const std::string& str)
- // std::string ToString() const
- // int CompareTo(const CBase58Data& b58) const
- // bool operator==(const CBase58Data& b58) const
- // bool operator<=(const CBase58Data& b58) const
- // bool operator>=(const CBase58Data& b58) const
- // bool operator< (const CBase58Data& b58) const
- // bool operator> (const CBase58Data& b58) const
-
-// CBitcoinAddress
- // bool SetHash160(const uint160& hash160)
- // bool SetPubKey(const std::vector<unsigned char>& vchPubKey)
- // bool IsValid() const
- // CBitcoinAddress()
- // CBitcoinAddress(uint160 hash160In)
- // CBitcoinAddress(const std::vector<unsigned char>& vchPubKey)
- // CBitcoinAddress(const std::string& strAddress)
- // CBitcoinAddress(const char* pszAddress)
- // uint160 GetHash160() const
-
-#define U(x) (reinterpret_cast<const unsigned char*>(x))
-static struct {
- const unsigned char *data;
- int size;
-} vstrIn[] = {
-{U(""), 0},
-{U("\x61"), 1},
-{U("\x62\x62\x62"), 3},
-{U("\x63\x63\x63"), 3},
-{U("\x73\x69\x6d\x70\x6c\x79\x20\x61\x20\x6c\x6f\x6e\x67\x20\x73\x74\x72\x69\x6e\x67"), 20},
-{U("\x00\xeb\x15\x23\x1d\xfc\xeb\x60\x92\x58\x86\xb6\x7d\x06\x52\x99\x92\x59\x15\xae\xb1\x72\xc0\x66\x47"), 25},
-{U("\x51\x6b\x6f\xcd\x0f"), 5},
-{U("\xbf\x4f\x89\x00\x1e\x67\x02\x74\xdd"), 9},
-{U("\x57\x2e\x47\x94"), 4},
-{U("\xec\xac\x89\xca\xd9\x39\x23\xc0\x23\x21"), 10},
-{U("\x10\xc8\x51\x1e"), 4},
-{U("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"), 10},
+// Goal: test low-level base58 encoding functionality
+BOOST_AUTO_TEST_CASE(base58_EncodeBase58)
+{
+ Array tests = read_json("base58_encode_decode.json");
+
+ BOOST_FOREACH(Value& tv, tests)
+ {
+ Array test = tv.get_array();
+ std::string strTest = write_string(tv, false);
+ if (test.size() < 2) // Allow for extra stuff (useful for comments)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+ std::vector<unsigned char> sourcedata = ParseHex(test[0].get_str());
+ std::string base58string = test[1].get_str();
+ BOOST_CHECK_MESSAGE(
+ EncodeBase58(&sourcedata[0], &sourcedata[sourcedata.size()]) == base58string,
+ strTest);
+ }
+}
+
+// Goal: test low-level base58 decoding functionality
+BOOST_AUTO_TEST_CASE(base58_DecodeBase58)
+{
+ Array tests = read_json("base58_encode_decode.json");
+ std::vector<unsigned char> result;
+
+ BOOST_FOREACH(Value& tv, tests)
+ {
+ Array test = tv.get_array();
+ std::string strTest = write_string(tv, false);
+ if (test.size() < 2) // Allow for extra stuff (useful for comments)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+ std::vector<unsigned char> expected = ParseHex(test[0].get_str());
+ std::string base58string = test[1].get_str();
+ BOOST_CHECK_MESSAGE(DecodeBase58(base58string, result), strTest);
+ BOOST_CHECK_MESSAGE(result.size() == expected.size() && std::equal(result.begin(), result.end(), expected.begin()), strTest);
+ }
+
+ BOOST_CHECK(!DecodeBase58("invalid", result));
+}
+
+// Visitor to check address type
+class TestAddrTypeVisitor : public boost::static_visitor<bool>
+{
+private:
+ std::string exp_addrType;
+public:
+ TestAddrTypeVisitor(const std::string &exp_addrType) : exp_addrType(exp_addrType) { }
+ bool operator()(const CKeyID &id) const
+ {
+ return (exp_addrType == "pubkey");
+ }
+ bool operator()(const CScriptID &id) const
+ {
+ return (exp_addrType == "script");
+ }
+ bool operator()(const CNoDestination &no) const
+ {
+ return (exp_addrType == "none");
+ }
};
-const char *vstrOut[] = {
-"",
-"2g",
-"a3gV",
-"aPEr",
-"2cFupjhnEsSn59qHXstmK2ffpLv2",
-"1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L",
-"ABnLTmg",
-"3SEo3LWLoPntC",
-"3EFU7m",
-"EJDM8drfXA6uyA",
-"Rt5zm",
-"1111111111"
+// Visitor to check address payload
+class TestPayloadVisitor : public boost::static_visitor<bool>
+{
+private:
+ std::vector<unsigned char> exp_payload;
+public:
+ TestPayloadVisitor(std::vector<unsigned char> &exp_payload) : exp_payload(exp_payload) { }
+ bool operator()(const CKeyID &id) const
+ {
+ uint160 exp_key(exp_payload);
+ return exp_key == id;
+ }
+ bool operator()(const CScriptID &id) const
+ {
+ uint160 exp_key(exp_payload);
+ return exp_key == id;
+ }
+ bool operator()(const CNoDestination &no) const
+ {
+ return exp_payload.size() == 0;
+ }
};
-BOOST_AUTO_TEST_CASE(base58_EncodeBase58)
+// Goal: check that parsed keys match test payload
+BOOST_AUTO_TEST_CASE(base58_keys_valid_parse)
{
- for (int i=0; i<sizeof(vstrIn)/sizeof(vstrIn[0]); i++)
+ Array tests = read_json("base58_keys_valid.json");
+ std::vector<unsigned char> result;
+ CBitcoinSecret secret;
+ CBitcoinAddress addr;
+ // Save global state
+ bool fTestNet_stored = fTestNet;
+
+ BOOST_FOREACH(Value& tv, tests)
{
- BOOST_CHECK_EQUAL(EncodeBase58(vstrIn[i].data, vstrIn[i].data + vstrIn[i].size), vstrOut[i]);
+ Array test = tv.get_array();
+ std::string strTest = write_string(tv, false);
+ if (test.size() < 3) // Allow for extra stuff (useful for comments)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+ std::string exp_base58string = test[0].get_str();
+ std::vector<unsigned char> exp_payload = ParseHex(test[1].get_str());
+ const Object &metadata = test[2].get_obj();
+ bool isPrivkey = find_value(metadata, "isPrivkey").get_bool();
+ bool isTestnet = find_value(metadata, "isTestnet").get_bool();
+ fTestNet = isTestnet; // Override testnet flag
+ if(isPrivkey)
+ {
+ bool isCompressed = find_value(metadata, "isCompressed").get_bool();
+ // Must be valid private key
+ // Note: CBitcoinSecret::SetString tests isValid, whereas CBitcoinAddress does not!
+ BOOST_CHECK_MESSAGE(secret.SetString(exp_base58string), "!SetString:"+ strTest);
+ BOOST_CHECK_MESSAGE(secret.IsValid(), "!IsValid:" + strTest);
+ bool fCompressedOut = false;
+ CSecret privkey = secret.GetSecret(fCompressedOut);
+ BOOST_CHECK_MESSAGE(fCompressedOut == isCompressed, "compressed mismatch:" + strTest);
+ BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin()), "key mismatch:" + strTest);
+
+ // Private key must be invalid public key
+ addr.SetString(exp_base58string);
+ BOOST_CHECK_MESSAGE(!addr.IsValid(), "IsValid privkey as pubkey:" + strTest);
+ }
+ else
+ {
+ std::string exp_addrType = find_value(metadata, "addrType").get_str(); // "script" or "pubkey"
+ // Must be valid public key
+ BOOST_CHECK_MESSAGE(addr.SetString(exp_base58string), "SetString:" + strTest);
+ BOOST_CHECK_MESSAGE(addr.IsValid(), "!IsValid:" + strTest);
+ BOOST_CHECK_MESSAGE(addr.IsScript() == (exp_addrType == "script"), "isScript mismatch" + strTest);
+ CTxDestination dest = addr.Get();
+ BOOST_CHECK_MESSAGE(boost::apply_visitor(TestAddrTypeVisitor(exp_addrType), dest), "addrType mismatch" + strTest);
+
+ // Public key must be invalid private key
+ secret.SetString(exp_base58string);
+ BOOST_CHECK_MESSAGE(!secret.IsValid(), "IsValid pubkey as privkey:" + strTest);
+ }
}
+ // Restore global state
+ fTestNet = fTestNet_stored;
}
-BOOST_AUTO_TEST_CASE(base58_DecodeBase58)
+// Goal: check that generated keys match test vectors
+BOOST_AUTO_TEST_CASE(base58_keys_valid_gen)
{
+ Array tests = read_json("base58_keys_valid.json");
std::vector<unsigned char> result;
- for (int i=0; i<sizeof(vstrIn)/sizeof(vstrIn[0]); i++)
+ // Save global state
+ bool fTestNet_stored = fTestNet;
+
+ BOOST_FOREACH(Value& tv, tests)
{
- std::vector<unsigned char> expected(vstrIn[i].data, vstrIn[i].data + vstrIn[i].size);
- BOOST_CHECK(DecodeBase58(vstrOut[i], result));
- BOOST_CHECK_EQUAL_COLLECTIONS(result.begin(), result.end(), expected.begin(), expected.end());
+ Array test = tv.get_array();
+ std::string strTest = write_string(tv, false);
+ if (test.size() < 3) // Allow for extra stuff (useful for comments)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+ std::string exp_base58string = test[0].get_str();
+ std::vector<unsigned char> exp_payload = ParseHex(test[1].get_str());
+ const Object &metadata = test[2].get_obj();
+ bool isPrivkey = find_value(metadata, "isPrivkey").get_bool();
+ bool isTestnet = find_value(metadata, "isTestnet").get_bool();
+ fTestNet = isTestnet; // Override testnet flag
+ if(isPrivkey)
+ {
+ bool isCompressed = find_value(metadata, "isCompressed").get_bool();
+ CBitcoinSecret secret;
+ secret.SetSecret(CSecret(exp_payload.begin(), exp_payload.end()), isCompressed);
+ BOOST_CHECK_MESSAGE(secret.ToString() == exp_base58string, "result mismatch: " + strTest);
+ }
+ else
+ {
+ std::string exp_addrType = find_value(metadata, "addrType").get_str();
+ CTxDestination dest;
+ if(exp_addrType == "pubkey")
+ {
+ dest = CKeyID(uint160(exp_payload));
+ }
+ else if(exp_addrType == "script")
+ {
+ dest = CScriptID(uint160(exp_payload));
+ }
+ else if(exp_addrType == "none")
+ {
+ dest = CNoDestination();
+ }
+ else
+ {
+ BOOST_ERROR("Bad addrtype: " << strTest);
+ continue;
+ }
+ CBitcoinAddress addrOut;
+ BOOST_CHECK_MESSAGE(boost::apply_visitor(CBitcoinAddressVisitor(&addrOut), dest), "encode dest: " + strTest);
+ BOOST_CHECK_MESSAGE(addrOut.ToString() == exp_base58string, "mismatch: " + strTest);
+ }
+ }
+
+ // Visiting a CNoDestination must fail
+ CBitcoinAddress dummyAddr;
+ CTxDestination nodest = CNoDestination();
+ BOOST_CHECK(!boost::apply_visitor(CBitcoinAddressVisitor(&dummyAddr), nodest));
+
+ // Restore global state
+ fTestNet = fTestNet_stored;
+}
+
+// Goal: check that base58 parsing code is robust against a variety of corrupted data
+BOOST_AUTO_TEST_CASE(base58_keys_invalid)
+{
+ Array tests = read_json("base58_keys_invalid.json"); // Negative testcases
+ std::vector<unsigned char> result;
+ CBitcoinSecret secret;
+ CBitcoinAddress addr;
+
+ BOOST_FOREACH(Value& tv, tests)
+ {
+ Array test = tv.get_array();
+ std::string strTest = write_string(tv, false);
+ if (test.size() < 1) // Allow for extra stuff (useful for comments)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+ std::string exp_base58string = test[0].get_str();
+
+ // must be invalid as public and as private key
+ addr.SetString(exp_base58string);
+ BOOST_CHECK_MESSAGE(!addr.IsValid(), "IsValid pubkey:" + strTest);
+ secret.SetString(exp_base58string);
+ BOOST_CHECK_MESSAGE(!secret.IsValid(), "IsValid privkey:" + strTest);
}
- BOOST_CHECK(!DecodeBase58("invalid", result));
}
+
BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/test/base64_tests.cpp b/src/test/base64_tests.cpp
index fff30ef5eb..c5a053e2eb 100644
--- a/src/test/base64_tests.cpp
+++ b/src/test/base64_tests.cpp
@@ -10,7 +10,7 @@ BOOST_AUTO_TEST_CASE(base64_testvectors)
{
static const std::string vstrIn[] = {"","f","fo","foo","foob","fooba","foobar"};
static const std::string vstrOut[] = {"","Zg==","Zm8=","Zm9v","Zm9vYg==","Zm9vYmE=","Zm9vYmFy"};
- for (int i=0; i<sizeof(vstrIn)/sizeof(vstrIn[0]); i++)
+ for (unsigned int i=0; i<sizeof(vstrIn)/sizeof(vstrIn[0]); i++)
{
std::string strEnc = EncodeBase64(vstrIn[i]);
BOOST_CHECK(strEnc == vstrOut[i]);
diff --git a/src/test/bignum_tests.cpp b/src/test/bignum_tests.cpp
new file mode 100644
index 0000000000..744681871f
--- /dev/null
+++ b/src/test/bignum_tests.cpp
@@ -0,0 +1,125 @@
+#include <boost/test/unit_test.hpp>
+#include <limits>
+
+#include "bignum.h"
+#include "util.h"
+
+BOOST_AUTO_TEST_SUITE(bignum_tests)
+
+// Unfortunately there's no standard way of preventing a function from being
+// inlined, so we define a macro for it.
+//
+// You should use it like this:
+// NOINLINE void function() {...}
+#if defined(__GNUC__)
+// This also works and will be defined for any compiler implementing GCC
+// extensions, such as Clang and ICC.
+#define NOINLINE __attribute__((noinline))
+#elif defined(_MSC_VER)
+#define NOINLINE __declspec(noinline)
+#else
+// We give out a warning because it impacts the correctness of one bignum test.
+#warning You should define NOINLINE for your compiler.
+#define NOINLINE
+#endif
+
+// For the following test case, it is useful to use additional tools.
+//
+// The simplest one to use is the compiler flag -ftrapv, which detects integer
+// overflows and similar errors. However, due to optimizations and compilers
+// taking advantage of undefined behavior sometimes it may not actually detect
+// anything.
+//
+// You can also use compiler-based stack protection to possibly detect possible
+// stack buffer overruns.
+//
+// For more accurate diagnostics, you can use an undefined arithmetic operation
+// detector such as the clang-based tool:
+//
+// "IOC: An Integer Overflow Checker for C/C++"
+//
+// Available at: http://embed.cs.utah.edu/ioc/
+//
+// It might also be useful to use Google's AddressSanitizer to detect
+// stack buffer overruns, which valgrind can't currently detect.
+
+// Let's force this code not to be inlined, in order to actually
+// test a generic version of the function. This increases the chance
+// that -ftrapv will detect overflows.
+NOINLINE void mysetint64(CBigNum& num, int64 n)
+{
+ num.setint64(n);
+}
+
+// For each number, we do 2 tests: one with inline code, then we reset the
+// value to 0, then the second one with a non-inlined function.
+BOOST_AUTO_TEST_CASE(bignum_setint64)
+{
+ int64 n;
+
+ {
+ n = 0;
+ CBigNum num(n);
+ BOOST_CHECK(num.ToString() == "0");
+ num.setulong(0);
+ BOOST_CHECK(num.ToString() == "0");
+ mysetint64(num, n);
+ BOOST_CHECK(num.ToString() == "0");
+ }
+ {
+ n = 1;
+ CBigNum num(n);
+ BOOST_CHECK(num.ToString() == "1");
+ num.setulong(0);
+ BOOST_CHECK(num.ToString() == "0");
+ mysetint64(num, n);
+ BOOST_CHECK(num.ToString() == "1");
+ }
+ {
+ n = -1;
+ CBigNum num(n);
+ BOOST_CHECK(num.ToString() == "-1");
+ num.setulong(0);
+ BOOST_CHECK(num.ToString() == "0");
+ mysetint64(num, n);
+ BOOST_CHECK(num.ToString() == "-1");
+ }
+ {
+ n = 5;
+ CBigNum num(n);
+ BOOST_CHECK(num.ToString() == "5");
+ num.setulong(0);
+ BOOST_CHECK(num.ToString() == "0");
+ mysetint64(num, n);
+ BOOST_CHECK(num.ToString() == "5");
+ }
+ {
+ n = -5;
+ CBigNum num(n);
+ BOOST_CHECK(num.ToString() == "-5");
+ num.setulong(0);
+ BOOST_CHECK(num.ToString() == "0");
+ mysetint64(num, n);
+ BOOST_CHECK(num.ToString() == "-5");
+ }
+ {
+ n = std::numeric_limits<int64>::min();
+ CBigNum num(n);
+ BOOST_CHECK(num.ToString() == "-9223372036854775808");
+ num.setulong(0);
+ BOOST_CHECK(num.ToString() == "0");
+ mysetint64(num, n);
+ BOOST_CHECK(num.ToString() == "-9223372036854775808");
+ }
+ {
+ n = std::numeric_limits<int64>::max();
+ CBigNum num(n);
+ BOOST_CHECK(num.ToString() == "9223372036854775807");
+ num.setulong(0);
+ BOOST_CHECK(num.ToString() == "0");
+ mysetint64(num, n);
+ BOOST_CHECK(num.ToString() == "9223372036854775807");
+ }
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/test/data/base58_encode_decode.json b/src/test/data/base58_encode_decode.json
new file mode 100644
index 0000000000..9448f256d9
--- /dev/null
+++ b/src/test/data/base58_encode_decode.json
@@ -0,0 +1,14 @@
+[
+["", ""],
+["61", "2g"],
+["626262", "a3gV"],
+["636363", "aPEr"],
+["73696d706c792061206c6f6e6720737472696e67", "2cFupjhnEsSn59qHXstmK2ffpLv2"],
+["00eb15231dfceb60925886b67d065299925915aeb172c06647", "1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L"],
+["516b6fcd0f", "ABnLTmg"],
+["bf4f89001e670274dd", "3SEo3LWLoPntC"],
+["572e4794", "3EFU7m"],
+["ecac89cad93923c02321", "EJDM8drfXA6uyA"],
+["10c8511e", "Rt5zm"],
+["00000000000000000000", "1111111111"]
+]
diff --git a/src/test/data/base58_keys_invalid.json b/src/test/data/base58_keys_invalid.json
new file mode 100644
index 0000000000..a088620f1b
--- /dev/null
+++ b/src/test/data/base58_keys_invalid.json
@@ -0,0 +1,152 @@
+[
+ [
+ ""
+ ],
+ [
+ "x"
+ ],
+ [
+ "37qgekLpCCHrQuSjvX3fs496FWTGsHFHizjJAs6NPcR47aefnnCWECAhHV6E3g4YN7u7Yuwod5Y"
+ ],
+ [
+ "dzb7VV1Ui55BARxv7ATxAtCUeJsANKovDGWFVgpTbhq9gvPqP3yv"
+ ],
+ [
+ "MuNu7ZAEDFiHthiunm7dPjwKqrVNCM3mAz6rP9zFveQu14YA8CxExSJTHcVP9DErn6u84E6Ej7S"
+ ],
+ [
+ "rPpQpYknyNQ5AEHuY6H8ijJJrYc2nDKKk9jjmKEXsWzyAQcFGpDLU2Zvsmoi8JLR7hAwoy3RQWf"
+ ],
+ [
+ "4Uc3FmN6NQ6zLBK5QQBXRBUREaaHwCZYsGCueHauuDmJpZKn6jkEskMB2Zi2CNgtb5r6epWEFfUJq"
+ ],
+ [
+ "7aQgR5DFQ25vyXmqZAWmnVCjL3PkBcdVkBUpjrjMTcghHx3E8wb"
+ ],
+ [
+ "17QpPprjeg69fW1DV8DcYYCKvWjYhXvWkov6MJ1iTTvMFj6weAqW7wybZeH57WTNxXVCRH4veVs"
+ ],
+ [
+ "KxuACDviz8Xvpn1xAh9MfopySZNuyajYMZWz16Dv2mHHryznWUp3"
+ ],
+ [
+ "7nK3GSmqdXJQtdohvGfJ7KsSmn3TmGqExug49583bDAL91pVSGq5xS9SHoAYL3Wv3ijKTit65th"
+ ],
+ [
+ "cTivdBmq7bay3RFGEBBuNfMh2P1pDCgRYN2Wbxmgwr4ki3jNUL2va"
+ ],
+ [
+ "gjMV4vjNjyMrna4fsAr8bWxAbwtmMUBXJS3zL4NJt5qjozpbQLmAfK1uA3CquSqsZQMpoD1g2nk"
+ ],
+ [
+ "emXm1naBMoVzPjbk7xpeTVMFy4oDEe25UmoyGgKEB1gGWsK8kRGs"
+ ],
+ [
+ "7VThQnNRj1o3Zyvc7XHPRrjDf8j2oivPTeDXnRPYWeYGE4pXeRJDZgf28ppti5hsHWXS2GSobdqyo"
+ ],
+ [
+ "1G9u6oCVCPh2o8m3t55ACiYvG1y5BHewUkDSdiQarDcYXXhFHYdzMdYfUAhfxn5vNZBwpgUNpso"
+ ],
+ [
+ "31QQ7ZMLkScDiB4VyZjuptr7AEc9j1SjstF7pRoLhHTGkW4Q2y9XELobQmhhWxeRvqcukGd1XCq"
+ ],
+ [
+ "DHqKSnpxa8ZdQyH8keAhvLTrfkyBMQxqngcQA5N8LQ9KVt25kmGN"
+ ],
+ [
+ "2LUHcJPbwLCy9GLH1qXmfmAwvadWw4bp4PCpDfduLqV17s6iDcy1imUwhQJhAoNoN1XNmweiJP4i"
+ ],
+ [
+ "7USRzBXAnmck8fX9HmW7RAb4qt92VFX6soCnts9s74wxm4gguVhtG5of8fZGbNPJA83irHVY6bCos"
+ ],
+ [
+ "1DGezo7BfVebZxAbNT3XGujdeHyNNBF3vnficYoTSp4PfK2QaML9bHzAMxke3wdKdHYWmsMTJVu"
+ ],
+ [
+ "2D12DqDZKwCxxkzs1ZATJWvgJGhQ4cFi3WrizQ5zLAyhN5HxuAJ1yMYaJp8GuYsTLLxTAz6otCfb"
+ ],
+ [
+ "8AFJzuTujXjw1Z6M3fWhQ1ujDW7zsV4ePeVjVo7D1egERqSW9nZ"
+ ],
+ [
+ "163Q17qLbTCue8YY3AvjpUhotuaodLm2uqMhpYirsKjVqnxJRWTEoywMVY3NbBAHuhAJ2cF9GAZ"
+ ],
+ [
+ "2MnmgiRH4eGLyLc9eAqStzk7dFgBjFtUCtu"
+ ],
+ [
+ "461QQ2sYWxU7H2PV4oBwJGNch8XVTYYbZxU"
+ ],
+ [
+ "2UCtv53VttmQYkVU4VMtXB31REvQg4ABzs41AEKZ8UcB7DAfVzdkV9JDErwGwyj5AUHLkmgZeobs"
+ ],
+ [
+ "cSNjAsnhgtiFMi6MtfvgscMB2Cbhn2v1FUYfviJ1CdjfidvmeW6mn"
+ ],
+ [
+ "gmsow2Y6EWAFDFE1CE4Hd3Tpu2BvfmBfG1SXsuRARbnt1WjkZnFh1qGTiptWWbjsq2Q6qvpgJVj"
+ ],
+ [
+ "nksUKSkzS76v8EsSgozXGMoQFiCoCHzCVajFKAXqzK5on9ZJYVHMD5CKwgmX3S3c7M1U3xabUny"
+ ],
+ [
+ "L3favK1UzFGgdzYBF2oBT5tbayCo4vtVBLJhg2iYuMeePxWG8SQc"
+ ],
+ [
+ "7VxLxGGtYT6N99GdEfi6xz56xdQ8nP2dG1CavuXx7Rf2PrvNMTBNevjkfgs9JmkcGm6EXpj8ipyPZ"
+ ],
+ [
+ "2mbZwFXF6cxShaCo2czTRB62WTx9LxhTtpP"
+ ],
+ [
+ "dB7cwYdcPSgiyAwKWL3JwCVwSk6epU2txw"
+ ],
+ [
+ "HPhFUhUAh8ZQQisH8QQWafAxtQYju3SFTX"
+ ],
+ [
+ "4ctAH6AkHzq5ioiM1m9T3E2hiYEev5mTsB"
+ ],
+ [
+ "Hn1uFi4dNexWrqARpjMqgT6cX1UsNPuV3cHdGg9ExyXw8HTKadbktRDtdeVmY3M1BxJStiL4vjJ"
+ ],
+ [
+ "Sq3fDbvutABmnAHHExJDgPLQn44KnNC7UsXuT7KZecpaYDMU9Txs"
+ ],
+ [
+ "6TqWyrqdgUEYDQU1aChMuFMMEimHX44qHFzCUgGfqxGgZNMUVWJ"
+ ],
+ [
+ "giqJo7oWqFxNKWyrgcBxAVHXnjJ1t6cGoEffce5Y1y7u649Noj5wJ4mmiUAKEVVrYAGg2KPB3Y4"
+ ],
+ [
+ "cNzHY5e8vcmM3QVJUcjCyiKMYfeYvyueq5qCMV3kqcySoLyGLYUK"
+ ],
+ [
+ "37uTe568EYc9WLoHEd9jXEvUiWbq5LFLscNyqvAzLU5vBArUJA6eydkLmnMwJDjkL5kXc2VK7ig"
+ ],
+ [
+ "EsYbG4tWWWY45G31nox838qNdzksbPySWc"
+ ],
+ [
+ "nbuzhfwMoNzA3PaFnyLcRxE9bTJPDkjZ6Rf6Y6o2ckXZfzZzXBT"
+ ],
+ [
+ "cQN9PoxZeCWK1x56xnz6QYAsvR11XAce3Ehp3gMUdfSQ53Y2mPzx"
+ ],
+ [
+ "1Gm3N3rkef6iMbx4voBzaxtXcmmiMTqZPhcuAepRzYUJQW4qRpEnHvMojzof42hjFRf8PE2jPde"
+ ],
+ [
+ "2TAq2tuN6x6m233bpT7yqdYQPELdTDJn1eU"
+ ],
+ [
+ "ntEtnnGhqPii4joABvBtSEJG6BxjT2tUZqE8PcVYgk3RHpgxgHDCQxNbLJf7ardf1dDk2oCQ7Cf"
+ ],
+ [
+ "Ky1YjoZNgQ196HJV3HpdkecfhRBmRZdMJk89Hi5KGfpfPwS2bUbfd"
+ ],
+ [
+ "2A1q1YsMZowabbvta7kTy2Fd6qN4r5ZCeG3qLpvZBMzCixMUdkN2Y4dHB1wPsZAeVXUGD83MfRED"
+ ]
+]
diff --git a/src/test/data/base58_keys_valid.json b/src/test/data/base58_keys_valid.json
new file mode 100644
index 0000000000..e1e252e22d
--- /dev/null
+++ b/src/test/data/base58_keys_valid.json
@@ -0,0 +1,452 @@
+[
+ [
+ "1AGNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i",
+ "65a16059864a2fdbc7c99a4723a8395bc6f188eb",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "3CMNFxN1oHBc4R1EpboAL5yzHGgE611Xou",
+ "74f209f6ea907e2ea48f74fae05782ae8a665257",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "mo9ncXisMeAoXwqcV5EWuyncbmCcQN4rVs",
+ "53c0307d6851aa0ce7825ba883c6bd9ad242b486",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "2N2JD6wb56AfK4tfmM6PwdVmoYk2dCKf4Br",
+ "6349a418fc4578d10a372b54b45c280cc8c4382f",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "5Kd3NBUAdUnhyzenEwVLy9pBKxSwXvE9FMPyR4UKZvpe6E3AgLr",
+ "eddbdc1168f1daeadbd3e44c1e3f8f5a284c2029f78ad26af98583a499de5b19",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "Kz6UJmQACJmLtaQj5A3JAge4kVTNQ8gbvXuwbmCj7bsaabudb3RD",
+ "55c9bccb9ed68446d1b75273bbce89d7fe013a8acd1625514420fb2aca1a21c4",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "9213qJab2HNEpMpYNBa7wHGFKKbkDn24jpANDs2huN3yi4J11ko",
+ "36cb93b9ab1bdabf7fb9f2c04f1b9cc879933530ae7842398eef5a63a56800c2",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "cTpB4YiyKiBcPxnefsDpbnDxFDffjqJob8wGCEDXxgQ7zQoMXJdH",
+ "b9f4892c9e8282028fea1d2667c4dc5213564d41fc5783896a0d843fc15089f3",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "1Ax4gZtb7gAit2TivwejZHYtNNLT18PUXJ",
+ "6d23156cbbdcc82a5a47eee4c2c7c583c18b6bf4",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "3QjYXhTkvuj8qPaXHTTWb5wjXhdsLAAWVy",
+ "fcc5460dd6e2487c7d75b1963625da0e8f4c5975",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "n3ZddxzLvAY9o7184TB4c6FJasAybsw4HZ",
+ "f1d470f9b02370fdec2e6b708b08ac431bf7a5f7",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "2NBFNJTktNa7GZusGbDbGKRZTxdK9VVez3n",
+ "c579342c2c4c9220205e2cdc285617040c924a0a",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "5K494XZwps2bGyeL71pWid4noiSNA2cfCibrvRWqcHSptoFn7rc",
+ "a326b95ebae30164217d7a7f57d72ab2b54e3be64928a19da0210b9568d4015e",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "L1RrrnXkcKut5DEMwtDthjwRcTTwED36thyL1DebVrKuwvohjMNi",
+ "7d998b45c219a1e38e99e7cbd312ef67f77a455a9b50c730c27f02c6f730dfb4",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "93DVKyFYwSN6wEo3E2fCrFPUp17FtrtNi2Lf7n4G3garFb16CRj",
+ "d6bca256b5abc5602ec2e1c121a08b0da2556587430bcf7e1898af2224885203",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "cTDVKtMGVYWTHCb1AFjmVbEbWjvKpKqKgMaR3QJxToMSQAhmCeTN",
+ "a81ca4e8f90181ec4b61b6a7eb998af17b2cb04de8a03b504b9e34c4c61db7d9",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "1C5bSj1iEGUgSTbziymG7Cn18ENQuT36vv",
+ "7987ccaa53d02c8873487ef919677cd3db7a6912",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "3AnNxabYGoTxYiTEZwFEnerUoeFXK2Zoks",
+ "63bcc565f9e68ee0189dd5cc67f1b0e5f02f45cb",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "n3LnJXCqbPjghuVs8ph9CYsAe4Sh4j97wk",
+ "ef66444b5b17f14e8fae6e7e19b045a78c54fd79",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "2NB72XtkjpnATMggui83aEtPawyyKvnbX2o",
+ "c3e55fceceaa4391ed2a9677f4a4d34eacd021a0",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "5KaBW9vNtWNhc3ZEDyNCiXLPdVPHCikRxSBWwV9NrpLLa4LsXi9",
+ "e75d936d56377f432f404aabb406601f892fd49da90eb6ac558a733c93b47252",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "L1axzbSyynNYA8mCAhzxkipKkfHtAXYF4YQnhSKcLV8YXA874fgT",
+ "8248bd0375f2f75d7e274ae544fb920f51784480866b102384190b1addfbaa5c",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "927CnUkUbasYtDwYwVn2j8GdTuACNnKkjZ1rpZd2yBB1CLcnXpo",
+ "44c4f6a096eac5238291a94cc24c01e3b19b8d8cef72874a079e00a242237a52",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "cUcfCMRjiQf85YMzzQEk9d1s5A4K7xL5SmBCLrezqXFuTVefyhY7",
+ "d1de707020a9059d6d3abaf85e17967c6555151143db13dbb06db78df0f15c69",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "1Gqk4Tv79P91Cc1STQtU3s1W6277M2CVWu",
+ "adc1cc2081a27206fae25792f28bbc55b831549d",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "33vt8ViH5jsr115AGkW6cEmEz9MpvJSwDk",
+ "188f91a931947eddd7432d6e614387e32b244709",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "mhaMcBxNh5cqXm4aTQ6EcVbKtfL6LGyK2H",
+ "1694f5bc1a7295b600f40018a618a6ea48eeb498",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "2MxgPqX1iThW3oZVk9KoFcE5M4JpiETssVN",
+ "3b9b3fd7a50d4f08d1a5b0f62f644fa7115ae2f3",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "5HtH6GdcwCJA4ggWEL1B3jzBBUB8HPiBi9SBc5h9i4Wk4PSeApR",
+ "091035445ef105fa1bb125eccfb1882f3fe69592265956ade751fd095033d8d0",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "L2xSYmMeVo3Zek3ZTsv9xUrXVAmrWxJ8Ua4cw8pkfbQhcEFhkXT8",
+ "ab2b4bcdfc91d34dee0ae2a8c6b6668dadaeb3a88b9859743156f462325187af",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "92xFEve1Z9N8Z641KQQS7ByCSb8kGjsDzw6fAmjHN1LZGKQXyMq",
+ "b4204389cef18bbe2b353623cbf93e8678fbc92a475b664ae98ed594e6cf0856",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "cVM65tdYu1YK37tNoAyGoJTR13VBYFva1vg9FLuPAsJijGvG6NEA",
+ "e7b230133f1b5489843260236b06edca25f66adb1be455fbd38d4010d48faeef",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "1JwMWBVLtiqtscbaRHai4pqHokhFCbtoB4",
+ "c4c1b72491ede1eedaca00618407ee0b772cad0d",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "3QCzvfL4ZRvmJFiWWBVwxfdaNBT8EtxB5y",
+ "f6fe69bcb548a829cce4c57bf6fff8af3a5981f9",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "mizXiucXRCsEriQCHUkCqef9ph9qtPbZZ6",
+ "261f83568a098a8638844bd7aeca039d5f2352c0",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "2NEWDzHWwY5ZZp8CQWbB7ouNMLqCia6YRda",
+ "e930e1834a4d234702773951d627cce82fbb5d2e",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "5KQmDryMNDcisTzRp3zEq9e4awRmJrEVU1j5vFRTKpRNYPqYrMg",
+ "d1fab7ab7385ad26872237f1eb9789aa25cc986bacc695e07ac571d6cdac8bc0",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "L39Fy7AC2Hhj95gh3Yb2AU5YHh1mQSAHgpNixvm27poizcJyLtUi",
+ "b0bbede33ef254e8376aceb1510253fc3550efd0fcf84dcd0c9998b288f166b3",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "91cTVUcgydqyZLgaANpf1fvL55FH53QMm4BsnCADVNYuWuqdVys",
+ "037f4192c630f399d9271e26c575269b1d15be553ea1a7217f0cb8513cef41cb",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "cQspfSzsgLeiJGB2u8vrAiWpCU4MxUT6JseWo2SjXy4Qbzn2fwDw",
+ "6251e205e8ad508bab5596bee086ef16cd4b239e0cc0c5d7c4e6035441e7d5de",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "19dcawoKcZdQz365WpXWMhX6QCUpR9SY4r",
+ "5eadaf9bb7121f0f192561a5a62f5e5f54210292",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "37Sp6Rv3y4kVd1nQ1JV5pfqXccHNyZm1x3",
+ "3f210e7277c899c3a155cc1c90f4106cbddeec6e",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "myoqcgYiehufrsnnkqdqbp69dddVDMopJu",
+ "c8a3c2a09a298592c3e180f02487cd91ba3400b5",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "2N7FuwuUuoTBrDFdrAZ9KxBmtqMLxce9i1C",
+ "99b31df7c9068d1481b596578ddbb4d3bd90baeb",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": true
+ }
+ ],
+ [
+ "5KL6zEaMtPRXZKo1bbMq7JDjjo1bJuQcsgL33je3oY8uSJCR5b4",
+ "c7666842503db6dc6ea061f092cfb9c388448629a6fe868d068c42a488b478ae",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "KwV9KAfwbwt51veZWNscRTeZs9CKpojyu1MsPnaKTF5kz69H1UN2",
+ "07f0803fc5399e773555ab1e8939907e9badacc17ca129e67a2f5f2ff84351dd",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": false
+ }
+ ],
+ [
+ "93N87D6uxSBzwXvpokpzg8FFmfQPmvX4xHoWQe3pLdYpbiwT5YV",
+ "ea577acfb5d1d14d3b7b195c321566f12f87d2b77ea3a53f68df7ebf8604a801",
+ {
+ "isCompressed": false,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "cMxXusSihaX58wpJ3tNuuUcZEQGt6DKJ1wEpxys88FFaQCYjku9h",
+ "0b3b34f0958d8a268193a9814da92c3e8b58b4a4378a542863e34ac289cd830c",
+ {
+ "isCompressed": true,
+ "isPrivkey": true,
+ "isTestnet": true
+ }
+ ],
+ [
+ "13p1ijLwsnrcuyqcTvJXkq2ASdXqcnEBLE",
+ "1ed467017f043e91ed4c44b4e8dd674db211c4e6",
+ {
+ "addrType": "pubkey",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ],
+ [
+ "3ALJH9Y951VCGcVZYAdpA3KchoP9McEj1G",
+ "5ece0cadddc415b1980f001785947120acdb36fc",
+ {
+ "addrType": "script",
+ "isPrivkey": false,
+ "isTestnet": false
+ }
+ ]
+]
diff --git a/src/test/data/script_invalid.json b/src/test/data/script_invalid.json
index c05d3ba5b2..d413eaee8d 100644
--- a/src/test/data/script_invalid.json
+++ b/src/test/data/script_invalid.json
@@ -3,6 +3,110 @@
["", "NOP"],
["NOP", ""],
["NOP","NOP"],
+
+["0x4c01","0x01 NOP", "PUSHDATA1 with not enough bytes"],
+["0x4d0200ff","0x01 NOP", "PUSHDATA2 with not enough bytes"],
+["0x4e03000000ffff","0x01 NOP", "PUSHDATA4 with not enough bytes"],
+
+["1", "IF 0x50 ENDIF 1", "0x50 is reserved"],
+["0x52", "0x5f ADD 0x60 EQUAL", "0x51 through 0x60 push 1 through 16 onto stack"],
+["0","NOP"],
+["1", "IF VER ELSE 1 ENDIF", "VER non-functional"],
+["0", "IF VERIF ELSE 1 ENDIF", "VERIF illegal everywhere"],
+["0", "IF VERNOTIF ELSE 1 ENDIF", "VERNOT illegal everywhere"],
+
+["1 IF", "1 ENDIF", "IF/ENDIF can't span scriptSig/scriptPubKey"],
+["1 IF 0 ENDIF", "1 ENDIF"],
+["1 ELSE 0 ENDIF", "1"],
+["0 NOTIF", "123"],
+
+["0", "DUP IF ENDIF"],
+["0", "IF 1 ENDIF"],
+["0", "DUP IF ELSE ENDIF"],
+["0", "IF 1 ELSE ENDIF"],
+["0", "NOTIF ELSE 1 ENDIF"],
+
+["0 1", "IF IF 1 ELSE 0 ENDIF ENDIF"],
+["0 0", "IF IF 1 ELSE 0 ENDIF ENDIF"],
+["1 0", "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"],
+["0 1", "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"],
+
+["0 0", "NOTIF IF 1 ELSE 0 ENDIF ENDIF"],
+["0 1", "NOTIF IF 1 ELSE 0 ENDIF ENDIF"],
+["1 1", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"],
+["0 0", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"],
+
+["1", "RETURN"],
+["1", "DUP IF RETURN ENDIF"],
+
+["0", "VERIFY 1"],
+["1", "VERIFY"],
+["1", "VERIFY 0"],
+
+["1 TOALTSTACK", "FROMALTSTACK 1", "alt stack not shared between sig/pubkey"],
+
+["IFDUP", "DEPTH 0 EQUAL"],
+["DROP", "DEPTH 0 EQUAL"],
+["DUP", "DEPTH 0 EQUAL"],
+["1", "DUP 1 ADD 2 EQUALVERIFY 0 EQUAL"],
+["NOP", "NIP"],
+["NOP", "1 NIP"],
+["NOP", "1 0 NIP"],
+["NOP", "OVER 1"],
+["1", "OVER"],
+["0 1", "OVER DEPTH 3 EQUALVERIFY"],
+["19 20 21", "PICK 19 EQUALVERIFY DEPTH 2 EQUAL"],
+["NOP", "0 PICK"],
+["1", "-1 PICK"],
+["19 20 21", "0 PICK 20 EQUALVERIFY DEPTH 3 EQUAL"],
+["19 20 21", "1 PICK 21 EQUALVERIFY DEPTH 3 EQUAL"],
+["19 20 21", "2 PICK 22 EQUALVERIFY DEPTH 3 EQUAL"],
+["NOP", "0 ROLL"],
+["1", "-1 ROLL"],
+["19 20 21", "0 ROLL 20 EQUALVERIFY DEPTH 2 EQUAL"],
+["19 20 21", "1 ROLL 21 EQUALVERIFY DEPTH 2 EQUAL"],
+["19 20 21", "2 ROLL 22 EQUALVERIFY DEPTH 2 EQUAL"],
+["NOP", "ROT 1"],
+["NOP", "1 ROT 1"],
+["NOP", "1 2 ROT 1"],
+["NOP", "0 1 2 ROT"],
+["NOP", "SWAP 1"],
+["1", "SWAP 1"],
+["0 1", "SWAP 1 EQUALVERIFY"],
+["NOP", "TUCK 1"],
+["1", "TUCK 1"],
+["1 0", "TUCK DEPTH 3 EQUALVERIFY SWAP 2DROP"],
+["NOP", "2DUP 1"],
+["1", "2DUP 1"],
+["NOP", "3DUP 1"],
+["1", "3DUP 1"],
+["1 2", "3DUP 1"],
+["NOP", "2OVER 1"],
+["1", "2 3 2OVER 1"],
+["NOP", "2SWAP 1"],
+["1", "2 3 2SWAP 1"],
+
+["'a' 'b'", "CAT", "CAT disabled"],
+["'a' 'b' 0", "IF CAT ELSE 1 ENDIF", "CAT disabled"],
+["'abc' 1 1", "SUBSTR", "SUBSTR disabled"],
+["'abc' 1 1 0", "IF SUBSTR ELSE 1 ENDIF", "SUBSTR disabled"],
+["'abc' 2 0", "IF LEFT ELSE 1 ENDIF", "LEFT disabled"],
+["'abc' 2 0", "IF RIGHT ELSE 1 ENDIF", "RIGHT disabled"],
+
+["NOP", "SIZE 1"],
+
+["'abc'", "IF INVERT ELSE 1 ENDIF", "INVERT disabled"],
+["1 2 0 IF AND ELSE 1 ENDIF", "NOP", "AND disabled"],
+["1 2 0 IF OR ELSE 1 ENDIF", "NOP", "OR disabled"],
+["1 2 0 IF XOR ELSE 1 ENDIF", "NOP", "XOR disabled"],
+["2 0 IF 2MUL ELSE 1 ENDIF", "NOP", "2MUL disabled"],
+["2 0 IF 2DIV ELSE 1 ENDIF", "NOP", "2DIV disabled"],
+["2 2 0 IF MUL ELSE 1 ENDIF", "NOP", "MUL disabled"],
+["2 2 0 IF DIV ELSE 1 ENDIF", "NOP", "DIV disabled"],
+["2 2 0 IF MOD ELSE 1 ENDIF", "NOP", "MOD disabled"],
+["2 2 0 IF LSHIFT ELSE 1 ENDIF", "NOP", "LSHIFT disabled"],
+["2 2 0 IF RSHIFT ELSE 1 ENDIF", "NOP", "RSHIFT disabled"],
+
["0 1","EQUAL"],
["1 1 ADD", "0 EQUAL"],
["11 1 ADD 12 SUB", "11 EQUAL"],
@@ -10,7 +114,7 @@
["2147483648 0 ADD", "NOP", "arithmetic operands must be in range [-2^31...2^31] "],
["-2147483648 0 ADD", "NOP", "arithmetic operands must be in range [-2^31...2^31] "],
["2147483647 DUP ADD", "4294967294 NUMEQUAL", "NUMEQUAL must be in numeric range"],
-["0xaabbccddeeff NOT", "0 EQUAL", "NOT is an arithmetic operand"],
+["'abcdef' NOT", "0 EQUAL", "NOT is an arithmetic operand"],
["2 DUP MUL", "4 EQUAL", "disabled"],
["2 DUP DIV", "1 EQUAL", "disabled"],
@@ -20,6 +124,122 @@
["2 2 LSHIFT", "8 EQUAL", "disabled"],
["2 1 RSHIFT", "1 EQUAL", "disabled"],
+["1","NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 2 EQUAL"],
+["'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 0xc0 ELSE 1 ENDIF"],
+["1", "IF 0xd1 ELSE 1 ENDIF"],
+["1", "IF 0xee ELSE 1 ENDIF"],
+["1", "IF 0xfd ELSE 1 ENDIF"],
+["1", "IF 0xff ELSE 1 ENDIF"],
+
+["NOP", "RIPEMD160"],
+["NOP", "SHA1"],
+["NOP", "SHA256"],
+["NOP", "HASH160"],
+["NOP", "HASH256"],
+
+["NOP",
+"'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'",
+">520 byte push"],
+["0",
+"IF 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' ENDIF 1",
+">520 byte push in non-executed IF branch"],
+["1",
+"0x61616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
+">201 opcodes executed. 0x61 is NOP"],
+["0",
+"IF 0x6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 ENDIF 1",
+">201 opcodes including non-executed IF branch. 0x61 is NOP"],
+["1 2 3 4 5 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+"1 2 3 4 5 6 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+">1,000 stack size (0x6f is 3DUP)"],
+["1 2 3 4 5 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+"1 TOALTSTACK 2 TOALTSTACK 3 4 5 6 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+">1,000 stack+altstack size"],
+["NOP",
+"0 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 2DUP 0x616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
+"10,001-byte scriptPubKey"],
+
+["NOP1","NOP10"],
+
+["1","VER", "OP_VER is reserved"],
+["1","VERIF", "OP_VERIF is reserved"],
+["1","VERNOTIF", "OP_VERNOTIF is reserved"],
+["1","RESERVED1", "OP_RESERVED1 is reserved"],
+["1","RESERVED2", "OP_RESERVED2 is reserved"],
+["1","0xba", "0xba == OP_NOP10 + 1"],
+
+["2147483648", "1ADD 1", "We cannot do math on 5-byte integers"],
+["-2147483648", "1ADD 1", "Because we use a sign bit, -2147483648 is also 5 bytes"],
+
+["1", "1 ENDIF", "ENDIF without IF"],
+["1", "IF 1", "IF without ENDIF"],
+["1 IF 1", "ENDIF", "IFs don't carry over"],
+
+["NOP", "IF 1 ENDIF", "The following tests check the if(stack.size() < N) tests in each opcode"],
+["NOP", "NOTIF 1 ENDIF", "They are here to catch copy-and-paste errors"],
+["NOP", "VERIFY 1", "Most of them are duplicated elsewhere,"],
+
+["NOP", "TOALTSTACK 1", "but, hey, more is always better, right?"],
+["1", "FROMALTSTACK"],
+["1", "2DROP 1"],
+["1", "2DUP"],
+["1 1", "3DUP"],
+["1 1 1", "2OVER"],
+["1 1 1 1 1", "2ROT"],
+["1 1 1", "2SWAP"],
+["NOP", "IFDUP 1"],
+["NOP", "DROP 1"],
+["NOP", "DUP 1"],
+["1", "NIP"],
+["1", "OVER"],
+["1 1 1 3", "PICK"],
+["0", "PICK 1"],
+["1 1 1 3", "ROLL"],
+["0", "ROLL 1"],
+["1 1", "ROT"],
+["1", "SWAP"],
+["1", "TUCK"],
+
+["NOP", "SIZE 1"],
+
+["1", "EQUAL 1"],
+["1", "EQUALVERIFY 1"],
+
+["NOP", "1ADD 1"],
+["NOP", "1SUB 1"],
+["NOP", "NEGATE 1"],
+["NOP", "ABS 1"],
+["NOP", "NOT 1"],
+["NOP", "0NOTEQUAL 1"],
+
+["1", "ADD"],
+["1", "SUB"],
+["1", "BOOLAND"],
+["1", "BOOLOR"],
+["1", "NUMEQUAL"],
+["1", "NUMEQUALVERIFY 1"],
+["1", "NUMNOTEQUAL"],
+["1", "LESSTHAN"],
+["1", "GREATERTHAN"],
+["1", "LESSTHANOREQUAL"],
+["1", "GREATERTHANOREQUAL"],
+["1", "MIN"],
+["1", "MAX"],
+["1 1", "WITHIN"],
+
+["NOP", "RIPEMD160 1"],
+["NOP", "SHA1 1"],
+["NOP", "SHA256 1"],
+["NOP", "HASH160 1"],
+["NOP", "HASH256 1"],
+
+["NOP 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", "Tests for Script.IsPushOnly()"],
+["NOP1 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL"],
-["NOP1","NOP10"]
+["0 0x01 0x50", "HASH160 0x14 0xece424a6bb6ddf4db592c0faed60685047a361b1 EQUAL", "OP_RESERVED in P2SH should fail"],
+["0 0x01 VER", "HASH160 0x14 0x0f4d7845db968f2a81b530b6f3c1d6246d4c7e01 EQUAL", "OP_VER in P2SH should fail"]
]
diff --git a/src/test/data/script_valid.json b/src/test/data/script_valid.json
index e7ad6d9cc0..c33a3c7c66 100644
--- a/src/test/data/script_valid.json
+++ b/src/test/data/script_valid.json
@@ -1,9 +1,101 @@
[
+["0x01 0x0b", "11 EQUAL", "push 1 byte"],
+["0x02 0x417a", "'Az' EQUAL"],
+["0x4b 0x417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a",
+ "'Azzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' EQUAL", "push 75 bytes"],
+
+["0x4c 0x01 0x07","7 EQUAL", "0x4c is OP_PUSHDATA1"],
+["0x4d 0x0100 0x08","8 EQUAL", "0x4d is OP_PUSHDATA2"],
+["0x4e 0x01000000 0x09","9 EQUAL", "0x4e is OP_PUSHDATA4"],
+
+["0x4c 0x00","0 EQUAL"],
+["0x4d 0x0000","0 EQUAL"],
+["0x4e 0x00000000","0 EQUAL"],
+["0x4f 1000 ADD","999 EQUAL"],
+["0", "IF 0x50 ENDIF 1", "0x50 is reserved (ok if not executed)"],
+["0x51", "0x5f ADD 0x60 EQUAL", "0x51 through 0x60 push 1 through 16 onto stack"],
+["1","NOP"],
+["0", "IF VER ELSE 1 ENDIF", "VER non-functional (ok if not executed)"],
+["0", "IF RESERVED1 RESERVED2 ELSE 1 ENDIF", "RESERVED ok in un-executed IF"],
+
+["1", "DUP IF ENDIF"],
+["1", "IF 1 ENDIF"],
+["1", "DUP IF ELSE ENDIF"],
+["1", "IF 1 ELSE ENDIF"],
+["0", "IF ELSE 1 ENDIF"],
+
+["1 1", "IF IF 1 ELSE 0 ENDIF ENDIF"],
+["1 0", "IF IF 1 ELSE 0 ENDIF ENDIF"],
+["1 1", "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"],
+["0 0", "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF"],
+
+["1 0", "NOTIF IF 1 ELSE 0 ENDIF ENDIF"],
+["1 1", "NOTIF IF 1 ELSE 0 ENDIF ENDIF"],
+["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"],
+
+["1 1", "VERIFY"],
+
+["10 0 11 TOALTSTACK DROP FROMALTSTACK", "ADD 21 EQUAL"],
+["'gavin_was_here' TOALTSTACK 11 FROMALTSTACK", "'gavin_was_here' EQUALVERIFY 11 EQUAL"],
+
+["0 IFDUP", "DEPTH 1 EQUALVERIFY 0 EQUAL"],
+["1 IFDUP", "DEPTH 2 EQUALVERIFY 1 EQUALVERIFY 1 EQUAL"],
+["0 DROP", "DEPTH 0 EQUAL"],
+["0", "DUP 1 ADD 1 EQUALVERIFY 0 EQUAL"],
+["0 1", "NIP"],
+["1 0", "OVER DEPTH 3 EQUALVERIFY"],
+["22 21 20", "0 PICK 20 EQUALVERIFY DEPTH 3 EQUAL"],
+["22 21 20", "1 PICK 21 EQUALVERIFY DEPTH 3 EQUAL"],
+["22 21 20", "2 PICK 22 EQUALVERIFY DEPTH 3 EQUAL"],
+["22 21 20", "0 ROLL 20 EQUALVERIFY DEPTH 2 EQUAL"],
+["22 21 20", "1 ROLL 21 EQUALVERIFY DEPTH 2 EQUAL"],
+["22 21 20", "2 ROLL 22 EQUALVERIFY DEPTH 2 EQUAL"],
+["22 21 20", "ROT 22 EQUAL"],
+["22 21 20", "ROT DROP 20 EQUAL"],
+["22 21 20", "ROT DROP DROP 21 EQUAL"],
+["22 21 20", "ROT ROT 21 EQUAL"],
+["22 21 20", "ROT ROT ROT 20 EQUAL"],
+["25 24 23 22 21 20", "2ROT 24 EQUAL"],
+["25 24 23 22 21 20", "2ROT DROP 25 EQUAL"],
+["25 24 23 22 21 20", "2ROT 2DROP 20 EQUAL"],
+["25 24 23 22 21 20", "2ROT 2DROP DROP 21 EQUAL"],
+["25 24 23 22 21 20", "2ROT 2DROP 2DROP 22 EQUAL"],
+["25 24 23 22 21 20", "2ROT 2DROP 2DROP DROP 23 EQUAL"],
+["25 24 23 22 21 20", "2ROT 2ROT 22 EQUAL"],
+["25 24 23 22 21 20", "2ROT 2ROT 2ROT 20 EQUAL"],
+["1 0", "SWAP 1 EQUALVERIFY 0 EQUAL"],
+["0 1", "TUCK DEPTH 3 EQUALVERIFY SWAP 2DROP"],
+["13 14", "2DUP ROT EQUALVERIFY EQUAL"],
+["-1 0 1 2", "3DUP DEPTH 7 EQUALVERIFY ADD ADD 3 EQUALVERIFY 2DROP 0 EQUALVERIFY"],
+["1 2 3 5", "2OVER ADD ADD 8 EQUALVERIFY ADD ADD 6 EQUAL"],
+["1 3 5 7", "2SWAP ADD 4 EQUALVERIFY ADD 12 EQUAL"],
+["0", "SIZE 0 EQUAL"],
+["1", "SIZE 1 EQUAL"],
+["127", "SIZE 1 EQUAL"],
+["128", "SIZE 2 EQUAL"],
+["32767", "SIZE 2 EQUAL"],
+["32768", "SIZE 3 EQUAL"],
+["8388607", "SIZE 3 EQUAL"],
+["8388608", "SIZE 4 EQUAL"],
+["2147483647", "SIZE 4 EQUAL"],
+["2147483648", "SIZE 5 EQUAL"],
+["-1", "SIZE 1 EQUAL"],
+["-127", "SIZE 1 EQUAL"],
+["-128", "SIZE 2 EQUAL"],
+["-32767", "SIZE 2 EQUAL"],
+["-32768", "SIZE 3 EQUAL"],
+["-8388607", "SIZE 3 EQUAL"],
+["-8388608", "SIZE 4 EQUAL"],
+["-2147483647", "SIZE 4 EQUAL"],
+["-2147483648", "SIZE 5 EQUAL"],
+["'abcdefghijklmnopqrstuvwxyz'", "SIZE 26 EQUAL"],
+
+
["2 -2 ADD", "0 EQUAL"],
["2147483647 -2147483647 ADD", "0 EQUAL"],
["-1 -1 ADD", "-2 EQUAL"],
-["1","NOP"],
["0 0","EQUAL"],
["1 1 ADD", "2 EQUAL"],
["1 1ADD", "2 EQUAL"],
@@ -73,6 +165,149 @@
["2147483647 DUP ADD", "4294967294 EQUAL", ">32 bit EQUAL is valid"],
["2147483647 NEGATE DUP ADD", "-4294967294 EQUAL"],
+["''", "RIPEMD160 0x14 0x9c1185a5c5e9fc54612808977ee8f548b2258d31 EQUAL"],
+["'a'", "RIPEMD160 0x14 0x0bdc9d2d256b3ee9daae347be6f4dc835a467ffe EQUAL"],
+["'abcdefghijklmnopqrstuvwxyz'", "RIPEMD160 0x14 0xf71c27109c692c1b56bbdceb5b9d2865b3708dbc EQUAL"],
+["''", "SHA1 0x14 0xda39a3ee5e6b4b0d3255bfef95601890afd80709 EQUAL"],
+["'a'", "SHA1 0x14 0x86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 EQUAL"],
+["'abcdefghijklmnopqrstuvwxyz'", "SHA1 0x14 0x32d10c7b8cf96570ca04ce37f2a19d84240d3a89 EQUAL"],
+["''", "SHA256 0x20 0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 EQUAL"],
+["'a'", "SHA256 0x20 0xca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb EQUAL"],
+["'abcdefghijklmnopqrstuvwxyz'", "SHA256 0x20 0x71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 EQUAL"],
+["''", "DUP HASH160 SWAP SHA256 RIPEMD160 EQUAL"],
+["''", "DUP HASH256 SWAP SHA256 SHA256 EQUAL"],
+["''", "NOP HASH160 0x14 0xb472a266d0bd89c13706a4132ccfb16f7c3b9fcb EQUAL"],
+["'a'", "HASH160 NOP 0x14 0x994355199e516ff76c4fa4aab39337b9d84cf12b EQUAL"],
+["'abcdefghijklmnopqrstuvwxyz'", "HASH160 0x4c 0x14 0xc286a1af0947f58d1ad787385b1c2c4a976f9e71 EQUAL"],
+["''", "HASH256 0x20 0x5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456 EQUAL"],
+["'a'", "HASH256 0x20 0xbf5d3affb73efd2ec6c36ad3112dd933efed63c4e1cbffcfa88e2759c144f2d8 EQUAL"],
+["'abcdefghijklmnopqrstuvwxyz'", "HASH256 0x4c 0x20 0xca139bc10c2f660da42666f72e89a225936fc60f193c161124a672050c434671 EQUAL"],
+
+
+["1","NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 1 EQUAL"],
+["'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 0xc0 ELSE 1 ENDIF"],
+["0", "IF 0xd1 ELSE 1 ENDIF"],
+["0", "IF 0xee ELSE 1 ENDIF"],
+["0", "IF 0xfd ELSE 1 ENDIF"],
+["0", "IF 0xff ELSE 1 ENDIF"],
+
+["NOP",
+"'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'",
+"520 byte push"],
+["1",
+"0x616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
+"201 opcodes executed. 0x61 is NOP"],
+["1 2 3 4 5 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+"1 2 3 4 5 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+"1,000 stack size (0x6f is 3DUP)"],
+["1 TOALTSTACK 2 TOALTSTACK 3 4 5 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+"1 2 3 4 5 6 7 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+"1,000 stack size (altstack cleared between scriptSig/scriptPubKey)"],
+["'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f",
+"'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 2DUP 0x616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161",
+"Max-size (10,000-byte), max-push(520 bytes), max-opcodes(201), max stack size(1,000 items). 0x6f is 3DUP, 0x61 is NOP"],
+
+["NOP","1"],
+
+["1", "0x01 0x01 EQUAL", "The following is useful for checking implementations of BN_bn2mpi"],
+["127", "0x01 0x7F EQUAL"],
+["128", "0x02 0x8000 EQUAL", "Leave room for the sign bit"],
+["32767", "0x02 0xFF7F EQUAL"],
+["32768", "0x03 0x008000 EQUAL"],
+["8388607", "0x03 0xFFFF7F EQUAL"],
+["8388608", "0x04 0x00008000 EQUAL"],
+["2147483647", "0x04 0xFFFFFF7F EQUAL"],
+["2147483648", "0x05 0x0000008000 EQUAL"],
+["-1", "0x01 0x81 EQUAL", "Numbers are little-endian with the MSB being a sign bit"],
+["-127", "0x01 0xFF EQUAL"],
+["-128", "0x02 0x8080 EQUAL"],
+["-32767", "0x02 0xFFFF EQUAL"],
+["-32768", "0x03 0x008080 EQUAL"],
+["-8388607", "0x03 0xFFFFFF EQUAL"],
+["-8388608", "0x04 0x00008080 EQUAL"],
+["-2147483647", "0x04 0xFFFFFFFF EQUAL"],
+["-2147483648", "0x05 0x0000008080 EQUAL"],
+
+["2147483647", "1ADD 2147483648 EQUAL", "We can do math on 4-byte integers, and compare 5-byte ones"],
+["2147483647", "1ADD 1"],
+["-2147483647", "1ADD 1"],
+
+
+["NOP", "NOP 1", "The following tests check the if(stack.size() < N) tests in each opcode"],
+["1", "IF 1 ENDIF", "They are here to catch copy-and-paste errors"],
+["0", "NOTIF 1 ENDIF", "Most of them are duplicated elsewhere,"],
+["1", "VERIFY 1", "but, hey, more is always better, right?"],
+
+["0", "TOALTSTACK 1"],
+["1", "TOALTSTACK FROMALTSTACK"],
+["0 0", "2DROP 1"],
+["0 1", "2DUP"],
+["0 0 1", "3DUP"],
+["0 1 0 0", "2OVER"],
+["0 1 0 0 0 0", "2ROT"],
+["0 1 0 0", "2SWAP"],
+["1", "IFDUP"],
+["NOP", "DEPTH 1"],
+["0", "DROP 1"],
+["1", "DUP"],
+["0 1", "NIP"],
+["1 0", "OVER"],
+["1 0 0 0 3", "PICK"],
+["1 0", "PICK"],
+["1 0 0 0 3", "ROLL"],
+["1 0", "ROLL"],
+["1 0 0", "ROT"],
+["1 0", "SWAP"],
+["0 1", "TUCK"],
+
+["1", "SIZE"],
+
+["0 0", "EQUAL"],
+["0 0", "EQUALVERIFY 1"],
+
+["0", "1ADD"],
+["2", "1SUB"],
+["-1", "NEGATE"],
+["-1", "ABS"],
+["0", "NOT"],
+["-1", "0NOTEQUAL"],
+
+["1 0", "ADD"],
+["1 0", "SUB"],
+["-1 -1", "BOOLAND"],
+["-1 0", "BOOLOR"],
+["0 0", "NUMEQUAL"],
+["0 0", "NUMEQUALVERIFY 1"],
+["-1 0", "NUMNOTEQUAL"],
+["-1 0", "LESSTHAN"],
+["1 0", "GREATERTHAN"],
+["0 0", "LESSTHANOREQUAL"],
+["0 0", "GREATERTHANOREQUAL"],
+["-1 0", "MIN"],
+["1 0", "MAX"],
+["-1 -1 0", "WITHIN"],
+
+["0", "RIPEMD160"],
+["0", "SHA1"],
+["0", "SHA256"],
+["0", "HASH160"],
+["0", "HASH256"],
+["NOP", "CODESEPARATOR 1"],
+
+["NOP", "NOP1 1"],
+["NOP", "NOP2 1"],
+["NOP", "NOP3 1"],
+["NOP", "NOP4 1"],
+["NOP", "NOP5 1"],
+["NOP", "NOP6 1"],
+["NOP", "NOP7 1"],
+["NOP", "NOP8 1"],
+["NOP", "NOP9 1"],
+["NOP", "NOP10 1"],
-["NOP","1"]
+["0 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", "Very basic P2SH"],
+["0x4c 0 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL"]
]
diff --git a/src/test/data/tx_invalid.json b/src/test/data/tx_invalid.json
new file mode 100644
index 0000000000..f01ee06cfa
--- /dev/null
+++ b/src/test/data/tx_invalid.json
@@ -0,0 +1,64 @@
+[
+["The following are deserialized transactions which are invalid."],
+["They are in the form"],
+["[[[prevout hash, prevout index, prevout scriptPubKey], [input 2], ...],"],
+["serializedTransaction, enforceP2SH]"],
+["Objects that are only a single string (like this one) are ignored"],
+
+["0e1b5688cf179cd9f7cbda1fac0090f6e684bbf8cd946660120197c3f3681809 but with extra junk appended to the end of the scriptPubKey"],
+[[["6ca7ec7b1847f6bdbd737176050e6a08d66ccd55bb94ad24f4018024107a5827", 0, "0x41 0x043b640e983c9690a14c039a2037ecc3467b27a0dcd58f19d76c7bc118d09fec45adc5370a1c5bf8067ca9f5557a4cf885fdb0fe0dcc9c3a7137226106fbc779a5 CHECKSIG VERIFY 1"]],
+"010000000127587a10248001f424ad94bb55cd6cd6086a0e05767173bdbdf647187beca76c000000004948304502201b822ad10d6adc1a341ae8835be3f70a25201bbff31f59cbb9c5353a5f0eca18022100ea7b2f7074e9aa9cf70aa8d0ffee13e6b45dddabf1ab961bda378bcdb778fa4701ffffffff0100f2052a010000001976a914fc50c5907d86fed474ba5ce8b12a66e0a4c139d888ac00000000", true],
+
+["This is the nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG from tx_valid.json"],
+["but with the signature duplicated in the scriptPubKey with a non-standard pushdata prefix"],
+["See FindAndDelete, which will only remove if it uses the same pushdata prefix as is standard"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x4c 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000", true],
+
+["Same as above, but with the sig in the scriptSig also pushed with the same non-standard OP_PUSHDATA"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x4c 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006b4c473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000", true],
+
+["An invalid P2SH Transaction"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL"]],
+"010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000", true],
+
+["Tests for CTransaction::CheckTransaction()"],
+["No inputs"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL"]],
+"0100000000010000000000000000015100000000", true],
+
+["No outputs"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x05ab9e14d983742513f0f451e105ffb4198d1dd4 EQUAL"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022100f16703104aab4e4088317c862daec83440242411b039d14280e03dd33b487ab802201318a7be236672c5c56083eb7a5a195bc57a40af7923ff8545016cd3b571e2a601232103c40e5d339df3f30bf753e7e04450ae4ef76c9e45587d1d993bdc4cd06f0651c7acffffffff0000000000", true],
+
+["Negative output"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0xae609aca8061d77c5e111f6bb62501a6bbe2bfdb EQUAL"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006d4830450220063222cbb128731fc09de0d7323746539166544d6c1df84d867ccea84bcc8903022100bf568e8552844de664cd41648a031554327aa8844af34b4f27397c65b92c04de0123210243ec37dee0e2e053a9c976f43147e79bc7d9dc606ea51010af1ac80db6b069e1acffffffff01ffffffffffffffff015100000000", true],
+
+["MAX_MONEY + 1 output"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010140075af0750700015100000000", true],
+
+["MAX_MONEY output + 1 output"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510001000000000000015100000000", true],
+
+["Duplicate inputs"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x236d0639db62b0773fd8ac34dc85ae19e9aba80a EQUAL"]],
+"01000000020001000000000000000000000000000000000000000000000000000000000000000000006c47304402204bb1197053d0d7799bf1b30cd503c44b58d6240cccbdc85b6fe76d087980208f02204beeed78200178ffc6c74237bb74b3f276bbb4098b5605d814304fe128bf1431012321039e8815e15952a7c3fada1905f8cf55419837133bd7756c0ef14fc8dfe50c0deaacffffffff0001000000000000000000000000000000000000000000000000000000000000000000006c47304402202306489afef52a6f62e90bf750bbcdf40c06f5c6b138286e6b6b86176bb9341802200dba98486ea68380f47ebb19a7df173b99e6bc9c681d6ccf3bde31465d1f16b3012321039e8815e15952a7c3fada1905f8cf55419837133bd7756c0ef14fc8dfe50c0deaacffffffff010000000000000000015100000000", true],
+
+["Coinbase of size 1"],
+["Note the input is just required to make the tester happy"],
+[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]],
+"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0151ffffffff010000000000000000015100000000", true],
+
+["Coinbase of size 101"],
+["Note the input is just required to make the tester happy"],
+[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]],
+"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff655151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000", true],
+
+["Null txin"],
+[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "HASH160 0x14 0x02dae7dbbda56097959cba59b1989dd3e47937bf EQUAL"]],
+"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6e49304602210086f39e028e46dafa8e1e3be63906465f4cf038fbe5ed6403dc3e74ae876e6431022100c4625c675cfc5c7e3a0e0d7eaec92ac24da20c73a88eb40d09253e51ac6def5201232103a183ddc41e84753aca47723c965d1b5c8b0e2b537963518355e6dd6cf8415e50acffffffff010000000000000000015100000000", true]
+]
diff --git a/src/test/data/tx_valid.json b/src/test/data/tx_valid.json
new file mode 100644
index 0000000000..5528ae7243
--- /dev/null
+++ b/src/test/data/tx_valid.json
@@ -0,0 +1,71 @@
+[
+["The following are deserialized transactions which are valid."],
+["They are in the form"],
+["[[[prevout hash, prevout index, prevout scriptPubKey], [input 2], ...],"],
+["serializedTransaction, enforceP2SH]"],
+["Objects that are only a single string (like this one) are ignored"],
+
+["The following is 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63"],
+["It is of particular interest because it contains an invalidly-encoded signature which OpenSSL accepts"],
+["See http://r6.ca/blog/20111119T211504Z.html"],
+["It is also the first OP_CHECKMULTISIG transaction in standard form"],
+[[["60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1", 0, "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"]],
+"0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba26000000000490047304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000", true],
+
+["The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63"],
+["It has an arbitrary extra byte stuffed into the signature at pos length - 2"],
+[[["60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1", 0, "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"]],
+"0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004A0048304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2bab01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000", true],
+
+["The following is c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73"],
+["It is of interest because it contains a 0-sequence as well as a signature of SIGHASH type 0 (which is not a real type)"],
+[[["406b2b06bcd34d3c8733e6b79f7a394c8a431fbf4ff5ac705c93f4076bb77602", 0, "DUP HASH160 0x14 0xdc44b1164188067c3a32d4780f5996fa14a4f2d9 EQUALVERIFY CHECKSIG"]],
+"01000000010276b76b07f4935c70acf54fbf1f438a4c397a9fb7e633873c4dd3bc062b6b40000000008c493046022100d23459d03ed7e9511a47d13292d3430a04627de6235b6e51a40f9cd386f2abe3022100e7d25b080f0bb8d8d5f878bba7d54ad2fda650ea8d158a33ee3cbd11768191fd004104b0e2c879e4daf7b9ab68350228c159766676a14f5815084ba166432aab46198d4cca98fa3e9981d0a90b2effc514b76279476550ba3663fdcaff94c38420e9d5000000000100093d00000000001976a9149a7b0f3b80c6baaeedce0a0842553800f832ba1f88ac00000000", true],
+
+["A nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000", true],
+
+["Same as above, but with the signature duplicated in the scriptPubKey with the proper pushdata prefix"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000", true],
+
+["The following is f7fdd091fa6d8f5e7a8c2458f5c38faffff2d3f1406b6e4fe2c99dcc0d2d1cbb"],
+["It caught a bug in the workaround for 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63 in an overly simple implementation"],
+[[["b464e85df2a238416f8bdae11d120add610380ea07f4ef19c5f9dfd472f96c3d", 0, "DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG"],
+["b7978cc96e59a8b13e0865d3f95657561a7f725be952438637475920bac9eb21", 1, "DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG"]],
+"01000000023d6cf972d4dff9c519eff407ea800361dd0a121de1da8b6f4138a2f25de864b4000000008a4730440220ffda47bfc776bcd269da4832626ac332adfca6dd835e8ecd83cd1ebe7d709b0e022049cffa1cdc102a0b56e0e04913606c70af702a1149dc3b305ab9439288fee090014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff21ebc9ba20594737864352e95b727f1a565756f9d365083eb1a8596ec98c97b7010000008a4730440220503ff10e9f1e0de731407a4a245531c9ff17676eda461f8ceeb8c06049fa2c810220c008ac34694510298fa60b3f000df01caa244f165b727d4896eb84f81e46bcc4014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff01f0da5200000000001976a914857ccd42dded6df32949d4646dfa10a92458cfaa88ac00000000", true],
+
+["The following tests for the presence of a bug in the handling of SIGHASH_SINGLE"],
+["It results in signing the constant 1, instead of something generated based on the transaction,"],
+["when the input doing the signing has an index greater than the maximum output index"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0xe52b482f2faa8ecbf0db344f93c84ac908557f33 EQUALVERIFY CHECKSIG"], ["0000000000000000000000000000000000000000000000000000000000000200", 0, "1"]],
+"01000000020002000000000000000000000000000000000000000000000000000000000000000000000151ffffffff0001000000000000000000000000000000000000000000000000000000000000000000006b483045022100c9cdd08798a28af9d1baf44a6c77bcc7e279f47dc487c8c899911bc48feaffcc0220503c5c50ae3998a733263c5c0f7061b483e2b56c4c41b456e7d2f5a78a74c077032102d5c25adb51b61339d2b05315791e21bbe80ea470a49db0135720983c905aace0ffffffff010000000000000000015100000000", true],
+
+["An invalid P2SH Transaction"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL"]],
+"010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000", false],
+
+["A valid P2SH Transaction using the standard transaction type put forth in BIP 16"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x8febbed40483661de6958d957412f82deed8e2f7 EQUAL"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100c66c9cdf4c43609586d15424c54707156e316d88b0a1534c9e6b0d4f311406310221009c0fe51dbc9c4ab7cc25d3fdbeccf6679fe6827f08edf2b4a9f16ee3eb0e438a0123210338e8034509af564c62644c07691942e0c056752008a173c89f60ab2a88ac2ebfacffffffff010000000000000000015100000000", true],
+
+["Tests for CTransaction::CheckTransaction()"],
+["MAX_MONEY output"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010040075af0750700015100000000", true],
+
+["MAX_MONEY output + 0 output"],
+[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL"]],
+"01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510000000000000000015100000000", true],
+
+["Coinbase of size 2"],
+["Note the input is just required to make the tester happy"],
+[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]],
+"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025151ffffffff010000000000000000015100000000", true],
+
+["Coinbase of size 100"],
+["Note the input is just required to make the tester happy"],
+[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]],
+"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6451515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000", true]
+]
diff --git a/src/test/key_tests.cpp b/src/test/key_tests.cpp
index a6dab623b0..0a6df88fef 100644
--- a/src/test/key_tests.cpp
+++ b/src/test/key_tests.cpp
@@ -10,11 +10,18 @@
using namespace std;
-static const string strSecret1 ("5HxWvvfubhXpYYpS3tJkw6fq9jE9j18THftkZjHHfmFiWtmAbrj");
-static const string strSecret2 ("5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3");
-static const string strSecret1C("Kwr371tjA9u2rFSMZjTNun2PXXP3WPZu2afRHTcta6KxEUdm1vEw");
-static const string strSecret2C("L3Hq7a8FEQwJkW1M2GNKDW28546Vp5miewcCzSqUD9kCAXrJdS3g");
-static const string strAddress1("1HV9Lc3sNHZxwj4Zk6fB38tEmBryq2cBiF");
+static const string strSecret1 ("5HxWvvfubhXpYYpS3tJkw6fq9jE9j18THftkZjHHfmFiWtmAbrj");
+static const string strSecret2 ("5KC4ejrDjv152FGwP386VD1i2NYc5KkfSMyv1nGy1VGDxGHqVY3");
+static const string strSecret1C ("Kwr371tjA9u2rFSMZjTNun2PXXP3WPZu2afRHTcta6KxEUdm1vEw");
+static const string strSecret2C ("L3Hq7a8FEQwJkW1M2GNKDW28546Vp5miewcCzSqUD9kCAXrJdS3g");
+static const CBitcoinAddress addr1 ("1QFqqMUD55ZV3PJEJZtaKCsQmjLT6JkjvJ");
+static const CBitcoinAddress addr2 ("1F5y5E5FMc5YzdJtB9hLaUe43GDxEKXENJ");
+static const CBitcoinAddress addr1C("1NoJrossxPBKfCHuJXT4HadJrXRE9Fxiqs");
+static const CBitcoinAddress addr2C("1CRj2HyM1CXWzHAXLQtiGLyggNT9WQqsDs");
+
+
+static const string strAddressBad("1HV9Lc3sNHZxwj4Zk6fB38tEmBryq2cBiF");
+
#ifdef KEY_TESTS_DUMPINFO
void dumpKeyInfo(uint256 privkey)
@@ -53,7 +60,7 @@ BOOST_AUTO_TEST_CASE(key_test1)
BOOST_CHECK( bsecret2.SetString (strSecret2));
BOOST_CHECK( bsecret1C.SetString(strSecret1C));
BOOST_CHECK( bsecret2C.SetString(strSecret2C));
- BOOST_CHECK(!baddress1.SetString(strAddress1));
+ BOOST_CHECK(!baddress1.SetString(strAddressBad));
bool fCompressed;
CSecret secret1 = bsecret1.GetSecret (fCompressed);
@@ -74,10 +81,10 @@ BOOST_AUTO_TEST_CASE(key_test1)
key1C.SetSecret(secret1, true);
key2C.SetSecret(secret2, true);
- BOOST_CHECK(CBitcoinAddress(key1.GetPubKey ()).ToString() == "1QFqqMUD55ZV3PJEJZtaKCsQmjLT6JkjvJ");
- BOOST_CHECK(CBitcoinAddress(key2.GetPubKey ()).ToString() == "1F5y5E5FMc5YzdJtB9hLaUe43GDxEKXENJ");
- BOOST_CHECK(CBitcoinAddress(key1C.GetPubKey()).ToString() == "1NoJrossxPBKfCHuJXT4HadJrXRE9Fxiqs");
- BOOST_CHECK(CBitcoinAddress(key2C.GetPubKey()).ToString() == "1CRj2HyM1CXWzHAXLQtiGLyggNT9WQqsDs");
+ BOOST_CHECK(addr1.Get() == CTxDestination(key1.GetPubKey().GetID()));
+ BOOST_CHECK(addr2.Get() == CTxDestination(key2.GetPubKey().GetID()));
+ BOOST_CHECK(addr1C.Get() == CTxDestination(key1C.GetPubKey().GetID()));
+ BOOST_CHECK(addr2C.Get() == CTxDestination(key2C.GetPubKey().GetID()));
for (int n=0; n<16; n++)
{
diff --git a/src/test/miner_tests.cpp b/src/test/miner_tests.cpp
index 5712b4a1b1..4558a76a28 100644
--- a/src/test/miner_tests.cpp
+++ b/src/test/miner_tests.cpp
@@ -1,12 +1,203 @@
#include <boost/test/unit_test.hpp>
+#include "init.h"
+#include "main.h"
#include "uint256.h"
#include "util.h"
+#include "wallet.h"
extern void SHA256Transform(void* pstate, void* pinput, const void* pinit);
BOOST_AUTO_TEST_SUITE(miner_tests)
+static
+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},
+};
+
+// NOTE: These tests rely on CreateNewBlock doing its own self-validation!
+BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
+{
+ CReserveKey reservekey(pwalletMain);
+ CBlock *pblock;
+ CTransaction tx;
+ CScript script;
+ uint256 hash;
+
+ // Simple block creation, nothing special yet:
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+
+ // We can't make transactions until we have inputs
+ // Therefore, load 100 blocks :)
+ std::vector<CTransaction*>txFirst;
+ for (unsigned int i = 0; i < sizeof(blockinfo)/sizeof(*blockinfo); ++i)
+ {
+ pblock->nVersion = 1;
+ pblock->nTime = pindexBest->GetMedianTimePast()+1;
+ pblock->vtx[0].vin[0].scriptSig = CScript();
+ pblock->vtx[0].vin[0].scriptSig.push_back(blockinfo[i].extranonce);
+ pblock->vtx[0].vin[0].scriptSig.push_back(pindexBest->nHeight);
+ pblock->vtx[0].vout[0].scriptPubKey = CScript();
+ if (txFirst.size() < 2)
+ txFirst.push_back(new CTransaction(pblock->vtx[0]));
+ pblock->hashMerkleRoot = pblock->BuildMerkleTree();
+ pblock->nNonce = blockinfo[i].nonce;
+ assert(ProcessBlock(NULL, pblock));
+ pblock->hashPrevBlock = pblock->GetHash();
+ }
+ delete pblock;
+
+ // Just to make sure we can still make simple blocks
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+
+ // block sigops > limit: 1000 CHECKMULTISIG + 1
+ tx.vin.resize(1);
+ // NOTE: OP_NOP is used to force 20 SigOps for the CHECKMULTISIG
+ tx.vin[0].scriptSig = CScript() << OP_0 << OP_0 << OP_0 << OP_NOP << OP_CHECKMULTISIG << OP_1;
+ tx.vin[0].prevout.hash = txFirst[0]->GetHash();
+ tx.vin[0].prevout.n = 0;
+ tx.vout.resize(1);
+ tx.vout[0].nValue = 5000000000LL;
+ for (unsigned int i = 0; i < 1001; ++i)
+ {
+ tx.vout[0].nValue -= 1000000;
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ tx.vin[0].prevout.hash = hash;
+ }
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ mempool.clear();
+
+ // block size > limit
+ tx.vin[0].scriptSig = CScript();
+ // 18 * (520char + DROP) + OP_1 = 9433 bytes
+ std::vector<unsigned char> vchData(520);
+ for (unsigned int i = 0; i < 18; ++i)
+ tx.vin[0].scriptSig << vchData << OP_DROP;
+ tx.vin[0].scriptSig << OP_1;
+ tx.vin[0].prevout.hash = txFirst[0]->GetHash();
+ tx.vout[0].nValue = 5000000000LL;
+ for (unsigned int i = 0; i < 128; ++i)
+ {
+ tx.vout[0].nValue -= 10000000;
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ tx.vin[0].prevout.hash = hash;
+ }
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ mempool.clear();
+
+ // orphan in mempool
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ mempool.clear();
+
+ // child with higher priority than parent
+ tx.vin[0].scriptSig = CScript() << OP_1;
+ tx.vin[0].prevout.hash = txFirst[1]->GetHash();
+ tx.vout[0].nValue = 4900000000LL;
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ tx.vin[0].prevout.hash = hash;
+ tx.vin.resize(2);
+ tx.vin[1].scriptSig = CScript() << OP_1;
+ tx.vin[1].prevout.hash = txFirst[0]->GetHash();
+ tx.vin[1].prevout.n = 0;
+ tx.vout[0].nValue = 5900000000LL;
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ mempool.clear();
+
+ // coinbase in mempool
+ tx.vin.resize(1);
+ tx.vin[0].prevout.SetNull();
+ tx.vin[0].scriptSig = CScript() << OP_0 << OP_1;
+ tx.vout[0].nValue = 0;
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ mempool.clear();
+
+ // invalid (pre-p2sh) txn in mempool
+ tx.vin[0].prevout.hash = txFirst[0]->GetHash();
+ tx.vin[0].prevout.n = 0;
+ tx.vin[0].scriptSig = CScript() << OP_1;
+ tx.vout[0].nValue = 4900000000LL;
+ script = CScript() << OP_0;
+ tx.vout[0].scriptPubKey.SetDestination(script.GetID());
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ tx.vin[0].prevout.hash = hash;
+ tx.vin[0].scriptSig = CScript() << (std::vector<unsigned char>)script;
+ tx.vout[0].nValue -= 1000000;
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash,tx);
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ mempool.clear();
+
+ // double spend txn pair in mempool
+ tx.vin[0].prevout.hash = txFirst[0]->GetHash();
+ tx.vin[0].scriptSig = CScript() << OP_1;
+ tx.vout[0].nValue = 4900000000LL;
+ tx.vout[0].scriptPubKey = CScript() << OP_1;
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ tx.vout[0].scriptPubKey = CScript() << OP_2;
+ hash = tx.GetHash();
+ mempool.addUnchecked(hash, tx);
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ mempool.clear();
+
+ // subsidy changing
+ int nHeight = pindexBest->nHeight;
+ pindexBest->nHeight = 209999;
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ pindexBest->nHeight = 210000;
+ BOOST_CHECK(pblock = CreateNewBlock(reservekey));
+ delete pblock;
+ pindexBest->nHeight = nHeight;
+}
+
BOOST_AUTO_TEST_CASE(sha256transform_equality)
{
unsigned int pSHA256InitState[8] = {0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19};
diff --git a/src/test/multisig_tests.cpp b/src/test/multisig_tests.cpp
index 521b787d0d..6bc5e3b99e 100644
--- a/src/test/multisig_tests.cpp
+++ b/src/test/multisig_tests.cpp
@@ -175,12 +175,12 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
//
CBasicKeyStore keystore, emptykeystore, partialkeystore;
CKey key[3];
- CBitcoinAddress keyaddr[3];
+ CTxDestination keyaddr[3];
for (int i = 0; i < 3; i++)
{
key[i].MakeNewKey(true);
keystore.AddKey(key[i]);
- keyaddr[i].SetPubKey(key[i].GetPubKey());
+ keyaddr[i] = key[i].GetPubKey().GetID();
}
partialkeystore.AddKey(key[0]);
@@ -191,8 +191,8 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
s << key[0].GetPubKey() << OP_CHECKSIG;
BOOST_CHECK(Solver(s, whichType, solutions));
BOOST_CHECK(solutions.size() == 1);
- CBitcoinAddress addr;
- BOOST_CHECK(ExtractAddress(s, addr));
+ CTxDestination addr;
+ BOOST_CHECK(ExtractDestination(s, addr));
BOOST_CHECK(addr == keyaddr[0]);
BOOST_CHECK(IsMine(keystore, s));
BOOST_CHECK(!IsMine(emptykeystore, s));
@@ -201,11 +201,11 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
vector<valtype> solutions;
txnouttype whichType;
CScript s;
- s << OP_DUP << OP_HASH160 << Hash160(key[0].GetPubKey()) << OP_EQUALVERIFY << OP_CHECKSIG;
+ s << OP_DUP << OP_HASH160 << key[0].GetPubKey().GetID() << OP_EQUALVERIFY << OP_CHECKSIG;
BOOST_CHECK(Solver(s, whichType, solutions));
BOOST_CHECK(solutions.size() == 1);
- CBitcoinAddress addr;
- BOOST_CHECK(ExtractAddress(s, addr));
+ CTxDestination addr;
+ BOOST_CHECK(ExtractDestination(s, addr));
BOOST_CHECK(addr == keyaddr[0]);
BOOST_CHECK(IsMine(keystore, s));
BOOST_CHECK(!IsMine(emptykeystore, s));
@@ -217,8 +217,8 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
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);
- CBitcoinAddress addr;
- BOOST_CHECK(!ExtractAddress(s, addr));
+ CTxDestination addr;
+ BOOST_CHECK(!ExtractDestination(s, addr));
BOOST_CHECK(IsMine(keystore, s));
BOOST_CHECK(!IsMine(emptykeystore, s));
BOOST_CHECK(!IsMine(partialkeystore, s));
@@ -230,9 +230,9 @@ BOOST_AUTO_TEST_CASE(multisig_Solver1)
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);
- vector<CBitcoinAddress> addrs;
+ vector<CTxDestination> addrs;
int nRequired;
- BOOST_CHECK(ExtractAddresses(s, whichType, addrs, nRequired));
+ BOOST_CHECK(ExtractDestinations(s, whichType, addrs, nRequired));
BOOST_CHECK(addrs[0] == keyaddr[0]);
BOOST_CHECK(addrs[1] == keyaddr[1]);
BOOST_CHECK(nRequired == 1);
diff --git a/src/test/netbase_tests.cpp b/src/test/netbase_tests.cpp
new file mode 100644
index 0000000000..e5a7562d97
--- /dev/null
+++ b/src/test/netbase_tests.cpp
@@ -0,0 +1,102 @@
+#include <boost/test/unit_test.hpp>
+
+#include <string>
+#include <vector>
+
+#include "netbase.h"
+
+using namespace std;
+
+BOOST_AUTO_TEST_SUITE(netbase_tests)
+
+BOOST_AUTO_TEST_CASE(netbase_networks)
+{
+ BOOST_CHECK(CNetAddr("127.0.0.1").GetNetwork() == NET_UNROUTABLE);
+ BOOST_CHECK(CNetAddr("::1").GetNetwork() == NET_UNROUTABLE);
+ BOOST_CHECK(CNetAddr("8.8.8.8").GetNetwork() == NET_IPV4);
+ BOOST_CHECK(CNetAddr("2001::8888").GetNetwork() == NET_IPV6);
+ BOOST_CHECK(CNetAddr("FD87:D87E:EB43:edb1:8e4:3588:e546:35ca").GetNetwork() == NET_TOR);
+}
+
+BOOST_AUTO_TEST_CASE(netbase_properties)
+{
+ BOOST_CHECK(CNetAddr("127.0.0.1").IsIPv4());
+ BOOST_CHECK(CNetAddr("::FFFF:192.168.1.1").IsIPv4());
+ BOOST_CHECK(CNetAddr("::1").IsIPv6());
+ BOOST_CHECK(CNetAddr("10.0.0.1").IsRFC1918());
+ BOOST_CHECK(CNetAddr("192.168.1.1").IsRFC1918());
+ BOOST_CHECK(CNetAddr("172.31.255.255").IsRFC1918());
+ BOOST_CHECK(CNetAddr("2001:0DB8::").IsRFC3849());
+ BOOST_CHECK(CNetAddr("169.254.1.1").IsRFC3927());
+ BOOST_CHECK(CNetAddr("2002::1").IsRFC3964());
+ BOOST_CHECK(CNetAddr("FC00::").IsRFC4193());
+ BOOST_CHECK(CNetAddr("2001::2").IsRFC4380());
+ BOOST_CHECK(CNetAddr("2001:10::").IsRFC4843());
+ BOOST_CHECK(CNetAddr("FE80::").IsRFC4862());
+ BOOST_CHECK(CNetAddr("64:FF9B::").IsRFC6052());
+ BOOST_CHECK(CNetAddr("FD87:D87E:EB43:edb1:8e4:3588:e546:35ca").IsTor());
+ BOOST_CHECK(CNetAddr("127.0.0.1").IsLocal());
+ BOOST_CHECK(CNetAddr("::1").IsLocal());
+ BOOST_CHECK(CNetAddr("8.8.8.8").IsRoutable());
+ BOOST_CHECK(CNetAddr("2001::1").IsRoutable());
+ BOOST_CHECK(CNetAddr("127.0.0.1").IsValid());
+}
+
+bool static TestSplitHost(string test, string host, int port)
+{
+ string hostOut;
+ int portOut = -1;
+ SplitHostPort(test, portOut, hostOut);
+ return hostOut == host && port == portOut;
+}
+
+BOOST_AUTO_TEST_CASE(netbase_splithost)
+{
+ BOOST_CHECK(TestSplitHost("www.bitcoin.org", "www.bitcoin.org", -1));
+ BOOST_CHECK(TestSplitHost("[www.bitcoin.org]", "www.bitcoin.org", -1));
+ BOOST_CHECK(TestSplitHost("www.bitcoin.org:80", "www.bitcoin.org", 80));
+ BOOST_CHECK(TestSplitHost("[www.bitcoin.org]:80", "www.bitcoin.org", 80));
+ BOOST_CHECK(TestSplitHost("127.0.0.1", "127.0.0.1", -1));
+ BOOST_CHECK(TestSplitHost("127.0.0.1:8333", "127.0.0.1", 8333));
+ BOOST_CHECK(TestSplitHost("[127.0.0.1]", "127.0.0.1", -1));
+ BOOST_CHECK(TestSplitHost("[127.0.0.1]:8333", "127.0.0.1", 8333));
+ BOOST_CHECK(TestSplitHost("::ffff:127.0.0.1", "::ffff:127.0.0.1", -1));
+ BOOST_CHECK(TestSplitHost("[::ffff:127.0.0.1]:8333", "::ffff:127.0.0.1", 8333));
+ BOOST_CHECK(TestSplitHost("[::]:8333", "::", 8333));
+ BOOST_CHECK(TestSplitHost("::8333", "::8333", -1));
+ BOOST_CHECK(TestSplitHost(":8333", "", 8333));
+ BOOST_CHECK(TestSplitHost("[]:8333", "", 8333));
+ BOOST_CHECK(TestSplitHost("", "", -1));
+}
+
+bool static TestParse(string src, string canon)
+{
+ CService addr;
+ if (!LookupNumeric(src.c_str(), addr, 65535))
+ return canon == "";
+ return canon == addr.ToString();
+}
+
+BOOST_AUTO_TEST_CASE(netbase_lookupnumeric)
+{
+ BOOST_CHECK(TestParse("127.0.0.1", "127.0.0.1:65535"));
+ BOOST_CHECK(TestParse("127.0.0.1:8333", "127.0.0.1:8333"));
+ BOOST_CHECK(TestParse("::ffff:127.0.0.1", "127.0.0.1:65535"));
+ BOOST_CHECK(TestParse("::", "[::]:65535"));
+ BOOST_CHECK(TestParse("[::]:8333", "[::]:8333"));
+ BOOST_CHECK(TestParse("[127.0.0.1]", "127.0.0.1:65535"));
+ BOOST_CHECK(TestParse(":::", ""));
+}
+
+BOOST_AUTO_TEST_CASE(onioncat_test)
+{
+ // values from http://www.cypherpunk.at/onioncat/wiki/OnionCat
+ CNetAddr addr1("5wyqrzbvrdsumnok.onion");
+ CNetAddr addr2("FD87:D87E:EB43:edb1:8e4:3588:e546:35ca");
+ BOOST_CHECK(addr1 == addr2);
+ BOOST_CHECK(addr1.IsTor());
+ BOOST_CHECK(addr1.ToStringIP() == "5wyqrzbvrdsumnok.onion");
+ BOOST_CHECK(addr1.IsRoutable());
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/test/script_P2SH_tests.cpp b/src/test/script_P2SH_tests.cpp
index b84b903721..eabfcd0304 100644
--- a/src/test/script_P2SH_tests.cpp
+++ b/src/test/script_P2SH_tests.cpp
@@ -65,14 +65,14 @@ BOOST_AUTO_TEST_CASE(sign)
// different keys, straight/P2SH, pubkey/pubkeyhash
CScript standardScripts[4];
standardScripts[0] << key[0].GetPubKey() << OP_CHECKSIG;
- standardScripts[1].SetBitcoinAddress(key[1].GetPubKey());
+ standardScripts[1].SetDestination(key[1].GetPubKey().GetID());
standardScripts[2] << key[1].GetPubKey() << OP_CHECKSIG;
- standardScripts[3].SetBitcoinAddress(key[2].GetPubKey());
+ standardScripts[3].SetDestination(key[2].GetPubKey().GetID());
CScript evalScripts[4];
for (int i = 0; i < 4; i++)
{
keystore.AddCScript(standardScripts[i]);
- evalScripts[i].SetPayToScriptHash(standardScripts[i]);
+ evalScripts[i].SetDestination(standardScripts[i].GetID());
}
CTransaction txFrom; // Funding transaction:
@@ -122,7 +122,7 @@ BOOST_AUTO_TEST_CASE(norecurse)
invalidAsScript << OP_INVALIDOPCODE << OP_INVALIDOPCODE;
CScript p2sh;
- p2sh.SetPayToScriptHash(invalidAsScript);
+ p2sh.SetDestination(invalidAsScript.GetID());
CScript scriptSig;
scriptSig << Serialize(invalidAsScript);
@@ -133,7 +133,7 @@ BOOST_AUTO_TEST_CASE(norecurse)
// Try to recur, and verification should succeed because
// the inner HASH160 <> EQUAL should only check the hash:
CScript p2sh2;
- p2sh2.SetPayToScriptHash(p2sh);
+ p2sh2.SetDestination(p2sh.GetID());
CScript scriptSig2;
scriptSig2 << Serialize(invalidAsScript) << Serialize(p2sh);
@@ -154,7 +154,7 @@ BOOST_AUTO_TEST_CASE(set)
}
CScript inner[4];
- inner[0].SetBitcoinAddress(key[0].GetPubKey());
+ inner[0].SetDestination(key[0].GetPubKey().GetID());
inner[1].SetMultisig(2, std::vector<CKey>(keys.begin(), keys.begin()+2));
inner[2].SetMultisig(1, std::vector<CKey>(keys.begin(), keys.begin()+2));
inner[3].SetMultisig(2, std::vector<CKey>(keys.begin(), keys.begin()+3));
@@ -162,7 +162,7 @@ BOOST_AUTO_TEST_CASE(set)
CScript outer[4];
for (int i = 0; i < 4; i++)
{
- outer[i].SetPayToScriptHash(inner[i]);
+ outer[i].SetDestination(inner[i].GetID());
keystore.AddCScript(inner[i]);
}
@@ -232,7 +232,7 @@ BOOST_AUTO_TEST_CASE(switchover)
scriptSig << Serialize(notValid);
CScript fund;
- fund.SetPayToScriptHash(notValid);
+ fund.SetDestination(notValid.GetID());
// Validation should succeed under old rules (hash is correct):
@@ -258,9 +258,9 @@ BOOST_AUTO_TEST_CASE(AreInputsStandard)
txFrom.vout.resize(6);
// First three are standard:
- CScript pay1; pay1.SetBitcoinAddress(key[0].GetPubKey());
+ CScript pay1; pay1.SetDestination(key[0].GetPubKey().GetID());
keystore.AddCScript(pay1);
- CScript payScriptHash1; payScriptHash1.SetPayToScriptHash(pay1);
+ CScript payScriptHash1; payScriptHash1.SetDestination(pay1.GetID());
CScript pay1of3; pay1of3.SetMultisig(1, keys);
txFrom.vout[0].scriptPubKey = payScriptHash1;
@@ -278,13 +278,13 @@ BOOST_AUTO_TEST_CASE(AreInputsStandard)
for (int i = 0; i < 11; i++)
oneOfEleven << key[0].GetPubKey();
oneOfEleven << OP_11 << OP_CHECKMULTISIG;
- txFrom.vout[5].scriptPubKey.SetPayToScriptHash(oneOfEleven);
+ txFrom.vout[5].scriptPubKey.SetDestination(oneOfEleven.GetID());
mapInputs[txFrom.GetHash()] = make_pair(CTxIndex(), txFrom);
CTransaction txTo;
txTo.vout.resize(1);
- txTo.vout[0].scriptPubKey.SetBitcoinAddress(key[1].GetPubKey());
+ txTo.vout[0].scriptPubKey.SetDestination(key[1].GetPubKey().GetID());
txTo.vin.resize(3);
txTo.vin[0].prevout.n = 0;
@@ -311,7 +311,7 @@ BOOST_AUTO_TEST_CASE(AreInputsStandard)
CTransaction txToNonStd;
txToNonStd.vout.resize(1);
- txToNonStd.vout[0].scriptPubKey.SetBitcoinAddress(key[1].GetPubKey());
+ txToNonStd.vout[0].scriptPubKey.SetDestination(key[1].GetPubKey().GetID());
txToNonStd.vin.resize(2);
txToNonStd.vin[0].prevout.n = 4;
txToNonStd.vin[0].prevout.hash = txFrom.GetHash();
diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp
index 745df4bd7b..61d9a64eeb 100644
--- a/src/test/script_tests.cpp
+++ b/src/test/script_tests.cpp
@@ -59,13 +59,15 @@ ParseScript(string s)
}
else if (starts_with(w, "0x") && IsHex(string(w.begin()+2, w.end())))
{
- // Hex data:
- result << ParseHex(string(w.begin()+2, w.end()));
+ // Raw hex data, inserted NOT pushed onto stack:
+ std::vector<unsigned char> raw = ParseHex(string(w.begin()+2, w.end()));
+ result.insert(result.end(), raw.begin(), raw.end());
}
- else if (s.size() >= 2 && starts_with(w, "'") && ends_with(w, "'"))
+ else if (w.size() >= 2 && starts_with(w, "'") && ends_with(w, "'"))
{
- // Single-quoted string, pushed as data:
- std::vector<unsigned char> value(s.begin()+1, s.end()-1);
+ // Single-quoted string, pushed as data. NOTE: this is poor-man's
+ // parsing, spaces/tabs/newlines in single-quoted strings won't work.
+ std::vector<unsigned char> value(w.begin()+1, w.end()-1);
result << value;
}
else if (mapOpNames.count(w))
@@ -100,7 +102,10 @@ read_json(const std::string& filename)
Value v;
if (!read_stream(ifs, v))
{
- BOOST_ERROR("Cound not find/open " << filename);
+ if (ifs.fail())
+ BOOST_ERROR("Cound not find/open " << filename);
+ else
+ BOOST_ERROR("JSON syntax error in " << filename);
return Array();
}
if (v.type() != array_type)
@@ -323,5 +328,118 @@ BOOST_AUTO_TEST_CASE(script_CHECKMULTISIG23)
BOOST_CHECK(!VerifyScript(badsig6, scriptPubKey23, txTo23, 0, true, 0));
}
+BOOST_AUTO_TEST_CASE(script_combineSigs)
+{
+ // Test the CombineSignatures function
+ CBasicKeyStore keystore;
+ vector<CKey> keys;
+ for (int i = 0; i < 3; i++)
+ {
+ CKey key;
+ key.MakeNewKey(i%2 == 1);
+ keys.push_back(key);
+ keystore.AddKey(key);
+ }
+
+ CTransaction txFrom;
+ txFrom.vout.resize(1);
+ txFrom.vout[0].scriptPubKey.SetDestination(keys[0].GetPubKey().GetID());
+ CScript& scriptPubKey = txFrom.vout[0].scriptPubKey;
+ CTransaction txTo;
+ txTo.vin.resize(1);
+ txTo.vout.resize(1);
+ txTo.vin[0].prevout.n = 0;
+ txTo.vin[0].prevout.hash = txFrom.GetHash();
+ CScript& scriptSig = txTo.vin[0].scriptSig;
+ txTo.vout[0].nValue = 1;
+
+ CScript empty;
+ CScript combined = CombineSignatures(scriptPubKey, txTo, 0, empty, empty);
+ BOOST_CHECK(combined.empty());
+
+ // Single signature case:
+ SignSignature(keystore, txFrom, txTo, 0); // changes scriptSig
+ combined = CombineSignatures(scriptPubKey, txTo, 0, scriptSig, empty);
+ BOOST_CHECK(combined == scriptSig);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, empty, scriptSig);
+ BOOST_CHECK(combined == scriptSig);
+ CScript scriptSigCopy = scriptSig;
+ // Signing again will give a different, valid signature:
+ SignSignature(keystore, txFrom, txTo, 0);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, scriptSigCopy, scriptSig);
+ BOOST_CHECK(combined == scriptSigCopy || combined == scriptSig);
+
+ // P2SH, single-signature case:
+ CScript pkSingle; pkSingle << keys[0].GetPubKey() << OP_CHECKSIG;
+ keystore.AddCScript(pkSingle);
+ scriptPubKey.SetDestination(pkSingle.GetID());
+ SignSignature(keystore, txFrom, txTo, 0);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, scriptSig, empty);
+ BOOST_CHECK(combined == scriptSig);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, empty, scriptSig);
+ BOOST_CHECK(combined == scriptSig);
+ scriptSigCopy = scriptSig;
+ SignSignature(keystore, txFrom, txTo, 0);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, scriptSigCopy, scriptSig);
+ BOOST_CHECK(combined == scriptSigCopy || combined == scriptSig);
+ // dummy scriptSigCopy with placeholder, should always choose non-placeholder:
+ scriptSigCopy = CScript() << OP_0 << static_cast<vector<unsigned char> >(pkSingle);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, scriptSigCopy, scriptSig);
+ BOOST_CHECK(combined == scriptSig);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, scriptSig, scriptSigCopy);
+ BOOST_CHECK(combined == scriptSig);
+
+ // Hardest case: Multisig 2-of-3
+ scriptPubKey.SetMultisig(2, keys);
+ keystore.AddCScript(scriptPubKey);
+ SignSignature(keystore, txFrom, txTo, 0);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, scriptSig, empty);
+ BOOST_CHECK(combined == scriptSig);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, empty, scriptSig);
+ BOOST_CHECK(combined == scriptSig);
+
+ // A couple of partially-signed versions:
+ vector<unsigned char> sig1;
+ uint256 hash1 = SignatureHash(scriptPubKey, txTo, 0, SIGHASH_ALL);
+ BOOST_CHECK(keys[0].Sign(hash1, sig1));
+ sig1.push_back(SIGHASH_ALL);
+ vector<unsigned char> sig2;
+ uint256 hash2 = SignatureHash(scriptPubKey, txTo, 0, SIGHASH_NONE);
+ BOOST_CHECK(keys[1].Sign(hash2, sig2));
+ sig2.push_back(SIGHASH_NONE);
+ vector<unsigned char> sig3;
+ uint256 hash3 = SignatureHash(scriptPubKey, txTo, 0, SIGHASH_SINGLE);
+ BOOST_CHECK(keys[2].Sign(hash3, sig3));
+ sig3.push_back(SIGHASH_SINGLE);
+
+ // Not fussy about order (or even existence) of placeholders or signatures:
+ CScript partial1a = CScript() << OP_0 << sig1 << OP_0;
+ CScript partial1b = CScript() << OP_0 << OP_0 << sig1;
+ CScript partial2a = CScript() << OP_0 << sig2;
+ CScript partial2b = CScript() << sig2 << OP_0;
+ CScript partial3a = CScript() << sig3;
+ CScript partial3b = CScript() << OP_0 << OP_0 << sig3;
+ CScript partial3c = CScript() << OP_0 << sig3 << OP_0;
+ CScript complete12 = CScript() << OP_0 << sig1 << sig2;
+ CScript complete13 = CScript() << OP_0 << sig1 << sig3;
+ CScript complete23 = CScript() << OP_0 << sig2 << sig3;
+
+ combined = CombineSignatures(scriptPubKey, txTo, 0, partial1a, partial1b);
+ BOOST_CHECK(combined == partial1a);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, partial1a, partial2a);
+ BOOST_CHECK(combined == complete12);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, partial2a, partial1a);
+ BOOST_CHECK(combined == complete12);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, partial1b, partial2b);
+ BOOST_CHECK(combined == complete12);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, partial3b, partial1b);
+ BOOST_CHECK(combined == complete13);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, partial2a, partial3a);
+ BOOST_CHECK(combined == complete23);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, partial3b, partial2b);
+ BOOST_CHECK(combined == complete23);
+ combined = CombineSignatures(scriptPubKey, txTo, 0, partial3b, partial3a);
+ BOOST_CHECK(combined == partial3c);
+}
BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/test/sigopcount_tests.cpp b/src/test/sigopcount_tests.cpp
index d301313a9d..59673f9b3d 100644
--- a/src/test/sigopcount_tests.cpp
+++ b/src/test/sigopcount_tests.cpp
@@ -32,7 +32,7 @@ BOOST_AUTO_TEST_CASE(GetSigOpCount)
BOOST_CHECK_EQUAL(s1.GetSigOpCount(false), 21);
CScript p2sh;
- p2sh.SetPayToScriptHash(s1);
+ p2sh.SetDestination(s1.GetID());
CScript scriptSig;
scriptSig << OP_0 << Serialize(s1);
BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(scriptSig), 3);
@@ -49,7 +49,7 @@ BOOST_AUTO_TEST_CASE(GetSigOpCount)
BOOST_CHECK_EQUAL(s2.GetSigOpCount(true), 3);
BOOST_CHECK_EQUAL(s2.GetSigOpCount(false), 20);
- p2sh.SetPayToScriptHash(s2);
+ p2sh.SetDestination(s2.GetID());
BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(true), 0);
BOOST_CHECK_EQUAL(p2sh.GetSigOpCount(false), 0);
CScript scriptSig2;
diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp
index c7e4bdd556..bcf0907871 100644
--- a/src/test/test_bitcoin.cpp
+++ b/src/test/test_bitcoin.cpp
@@ -1,22 +1,32 @@
#define BOOST_TEST_MODULE Bitcoin Test Suite
#include <boost/test/unit_test.hpp>
+#include "db.h"
#include "main.h"
#include "wallet.h"
CWallet* pwalletMain;
+CClientUIInterface uiInterface;
extern bool fPrintToConsole;
+extern void noui_connect();
+
struct TestingSetup {
TestingSetup() {
- fPrintToConsole = true; // don't want to write to debug.log file
- pwalletMain = new CWallet();
+ fPrintToDebugger = true; // don't want to write to debug.log file
+ noui_connect();
+ bitdb.MakeMock();
+ LoadBlockIndex(true);
+ bool fFirstRun;
+ pwalletMain = new CWallet("wallet.dat");
+ pwalletMain->LoadWallet(fFirstRun);
RegisterWallet(pwalletMain);
}
~TestingSetup()
{
delete pwalletMain;
pwalletMain = NULL;
+ bitdb.Flush(true);
}
};
diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp
index b680ede9a5..c230458866 100644
--- a/src/test/transaction_tests.cpp
+++ b/src/test/transaction_tests.cpp
@@ -1,12 +1,156 @@
+#include <map>
+#include <string>
#include <boost/test/unit_test.hpp>
+#include "json/json_spirit_writer_template.h"
#include "main.h"
#include "wallet.h"
using namespace std;
+using namespace json_spirit;
+
+// In script_tests.cpp
+extern Array read_json(const std::string& filename);
+extern CScript ParseScript(string s);
BOOST_AUTO_TEST_SUITE(transaction_tests)
+BOOST_AUTO_TEST_CASE(tx_valid)
+{
+ // Read tests from test/data/tx_valid.json
+ // Format is an array of arrays
+ // Inner arrays are either [ "comment" ]
+ // or [[[prevout hash, prevout index, prevout scriptPubKey], [input 2], ...],"], serializedTransaction, enforceP2SH
+ // ... where all scripts are stringified scripts.
+ Array tests = read_json("tx_valid.json");
+
+ BOOST_FOREACH(Value& tv, tests)
+ {
+ Array test = tv.get_array();
+ string strTest = write_string(tv, false);
+ if (test[0].type() == array_type)
+ {
+ if (test.size() != 3 || test[1].type() != str_type || test[2].type() != bool_type)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+
+ map<COutPoint, CScript> mapprevOutScriptPubKeys;
+ Array inputs = test[0].get_array();
+ bool fValid = true;
+ BOOST_FOREACH(Value& input, inputs)
+ {
+ if (input.type() != array_type)
+ {
+ fValid = false;
+ break;
+ }
+ Array vinput = input.get_array();
+ if (vinput.size() != 3)
+ {
+ fValid = false;
+ break;
+ }
+
+ mapprevOutScriptPubKeys[COutPoint(uint256(vinput[0].get_str()), vinput[1].get_int())] = ParseScript(vinput[2].get_str());
+ }
+ if (!fValid)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+
+ string transaction = test[1].get_str();
+ CDataStream stream(ParseHex(transaction), SER_NETWORK, PROTOCOL_VERSION);
+ CTransaction tx;
+ stream >> tx;
+
+ BOOST_CHECK_MESSAGE(tx.CheckTransaction(), strTest);
+
+ for (unsigned int i = 0; i < tx.vin.size(); i++)
+ {
+ if (!mapprevOutScriptPubKeys.count(tx.vin[i].prevout))
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ break;
+ }
+
+ BOOST_CHECK_MESSAGE(VerifyScript(tx.vin[i].scriptSig, mapprevOutScriptPubKeys[tx.vin[i].prevout], tx, i, test[2].get_bool(), 0), strTest);
+ }
+ }
+ }
+}
+
+BOOST_AUTO_TEST_CASE(tx_invalid)
+{
+ // Read tests from test/data/tx_invalid.json
+ // Format is an array of arrays
+ // Inner arrays are either [ "comment" ]
+ // or [[[prevout hash, prevout index, prevout scriptPubKey], [input 2], ...],"], serializedTransaction, enforceP2SH
+ // ... where all scripts are stringified scripts.
+ Array tests = read_json("tx_invalid.json");
+
+ BOOST_FOREACH(Value& tv, tests)
+ {
+ Array test = tv.get_array();
+ string strTest = write_string(tv, false);
+ if (test[0].type() == array_type)
+ {
+ if (test.size() != 3 || test[1].type() != str_type || test[2].type() != bool_type)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+
+ map<COutPoint, CScript> mapprevOutScriptPubKeys;
+ Array inputs = test[0].get_array();
+ bool fValid = true;
+ BOOST_FOREACH(Value& input, inputs)
+ {
+ if (input.type() != array_type)
+ {
+ fValid = false;
+ break;
+ }
+ Array vinput = input.get_array();
+ if (vinput.size() != 3)
+ {
+ fValid = false;
+ break;
+ }
+
+ mapprevOutScriptPubKeys[COutPoint(uint256(vinput[0].get_str()), vinput[1].get_int())] = ParseScript(vinput[2].get_str());
+ }
+ if (!fValid)
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ continue;
+ }
+
+ string transaction = test[1].get_str();
+ CDataStream stream(ParseHex(transaction), SER_NETWORK, PROTOCOL_VERSION);
+ CTransaction tx;
+ stream >> tx;
+
+ fValid = tx.CheckTransaction();
+
+ for (unsigned int i = 0; i < tx.vin.size() && fValid; i++)
+ {
+ if (!mapprevOutScriptPubKeys.count(tx.vin[i].prevout))
+ {
+ BOOST_ERROR("Bad test: " << strTest);
+ break;
+ }
+
+ fValid = VerifyScript(tx.vin[i].scriptSig, mapprevOutScriptPubKeys[tx.vin[i].prevout], tx, i, test[2].get_bool(), 0);
+ }
+
+ BOOST_CHECK_MESSAGE(!fValid, strTest);
+ }
+ }
+}
+
BOOST_AUTO_TEST_CASE(basic_transaction_tests)
{
// Random real transaction (e2769b09e784f32f62ef849763d4f45b98e07ba658647343b915ff832b110436)
@@ -52,9 +196,9 @@ SetupDummyInputs(CBasicKeyStore& keystoreRet, MapPrevTx& inputsRet)
dummyTransactions[1].vout.resize(2);
dummyTransactions[1].vout[0].nValue = 21*CENT;
- dummyTransactions[1].vout[0].scriptPubKey.SetBitcoinAddress(key[2].GetPubKey());
+ dummyTransactions[1].vout[0].scriptPubKey.SetDestination(key[2].GetPubKey().GetID());
dummyTransactions[1].vout[1].nValue = 22*CENT;
- dummyTransactions[1].vout[1].scriptPubKey.SetBitcoinAddress(key[3].GetPubKey());
+ dummyTransactions[1].vout[1].scriptPubKey.SetDestination(key[3].GetPubKey().GetID());
inputsRet[dummyTransactions[1].GetHash()] = make_pair(CTxIndex(), dummyTransactions[1]);
return dummyTransactions;
diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp
index 0393edb1a7..3a4c035a30 100644
--- a/src/test/util_tests.cpp
+++ b/src/test/util_tests.cpp
@@ -103,11 +103,13 @@ BOOST_AUTO_TEST_CASE(util_HexStr)
BOOST_AUTO_TEST_CASE(util_DateTimeStrFormat)
{
+/*These are platform-dependant and thus removed to avoid useless test failures
BOOST_CHECK_EQUAL(DateTimeStrFormat("%x %H:%M:%S", 0), "01/01/70 00:00:00");
BOOST_CHECK_EQUAL(DateTimeStrFormat("%x %H:%M:%S", 0x7FFFFFFF), "01/19/38 03:14:07");
- // Formats used within bitcoin
+ // Formats used within Bitcoin
BOOST_CHECK_EQUAL(DateTimeStrFormat("%x %H:%M:%S", 1317425777), "09/30/11 23:36:17");
BOOST_CHECK_EQUAL(DateTimeStrFormat("%x %H:%M", 1317425777), "09/30/11 23:36");
+*/
}
BOOST_AUTO_TEST_CASE(util_ParseParameters)
diff --git a/src/test/wallet_tests.cpp b/src/test/wallet_tests.cpp
new file mode 100644
index 0000000000..b0b3c47967
--- /dev/null
+++ b/src/test/wallet_tests.cpp
@@ -0,0 +1,295 @@
+#include <boost/test/unit_test.hpp>
+
+#include "main.h"
+#include "wallet.h"
+
+// how many times to run all the tests to have a chance to catch errors that only show up with particular random shuffles
+#define RUN_TESTS 100
+
+// some tests fail 1% of the time due to bad luck.
+// we repeat those tests this many times and only complain if all iterations of the test fail
+#define RANDOM_REPEATS 5
+
+using namespace std;
+
+typedef set<pair<const CWalletTx*,unsigned int> > CoinSet;
+
+BOOST_AUTO_TEST_SUITE(wallet_tests)
+
+static CWallet wallet;
+static vector<COutput> vCoins;
+
+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;
+ if (fIsFromMe)
+ {
+ // IsFromMe() returns (GetDebit() > 0), and GetDebit() is 0 if vin.empty(),
+ // so stop vin being empty, and cache a non-zero Debit to fake out IsFromMe()
+ wtx->vin.resize(1);
+ wtx->fDebitCached = true;
+ wtx->nDebitCached = 1;
+ }
+ COutput output(wtx, nInput, nAge);
+ vCoins.push_back(output);
+}
+
+static void empty_wallet(void)
+{
+ BOOST_FOREACH(COutput output, vCoins)
+ delete output.tx;
+ vCoins.clear();
+}
+
+static bool equal_sets(CoinSet a, CoinSet b)
+{
+ pair<CoinSet::iterator, CoinSet::iterator> ret = mismatch(a.begin(), a.end(), b.begin());
+ return ret.first == a.end() && ret.second == b.end();
+}
+
+BOOST_AUTO_TEST_CASE(coin_selection_tests)
+{
+ static CoinSet setCoinsRet, setCoinsRet2;
+ static int64 nValueRet;
+
+ // test multiple times to allow for differences in the shuffle order
+ for (int i = 0; i < RUN_TESTS; i++)
+ {
+ empty_wallet();
+
+ // with an empty wallet we can't even pay one cent
+ BOOST_CHECK(!wallet.SelectCoinsMinConf( 1 * CENT, 1, 6, vCoins, setCoinsRet, nValueRet));
+
+ add_coin(1*CENT, 4); // add a new 1 cent coin
+
+ // with a new 1 cent coin, we still can't find a mature 1 cent
+ BOOST_CHECK(!wallet.SelectCoinsMinConf( 1 * CENT, 1, 6, vCoins, setCoinsRet, nValueRet));
+
+ // but we can find a new 1 cent
+ BOOST_CHECK( wallet.SelectCoinsMinConf( 1 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet));
+ BOOST_CHECK_EQUAL(nValueRet, 1 * CENT);
+
+ add_coin(2*CENT); // add a mature 2 cent coin
+
+ // we can't make 3 cents of mature coins
+ BOOST_CHECK(!wallet.SelectCoinsMinConf( 3 * CENT, 1, 6, vCoins, setCoinsRet, nValueRet));
+
+ // we can make 3 cents of new coins
+ BOOST_CHECK( wallet.SelectCoinsMinConf( 3 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet));
+ BOOST_CHECK_EQUAL(nValueRet, 3 * CENT);
+
+ add_coin(5*CENT); // add a mature 5 cent coin,
+ add_coin(10*CENT, 3, true); // a new 10 cent coin sent from one of our own addresses
+ add_coin(20*CENT); // and a mature 20 cent coin
+
+ // now we have new: 1+10=11 (of which 10 was self-sent), and mature: 2+5+20=27. total = 38
+
+ // we can't make 38 cents only if we disallow new coins:
+ BOOST_CHECK(!wallet.SelectCoinsMinConf(38 * CENT, 1, 6, vCoins, setCoinsRet, nValueRet));
+ // we can't even make 37 cents if we don't allow new coins even if they're from us
+ BOOST_CHECK(!wallet.SelectCoinsMinConf(38 * CENT, 6, 6, vCoins, setCoinsRet, nValueRet));
+ // but we can make 37 cents if we accept new coins from ourself
+ BOOST_CHECK( wallet.SelectCoinsMinConf(37 * CENT, 1, 6, vCoins, setCoinsRet, nValueRet));
+ BOOST_CHECK_EQUAL(nValueRet, 37 * CENT);
+ // and we can make 38 cents if we accept all new coins
+ BOOST_CHECK( wallet.SelectCoinsMinConf(38 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet));
+ BOOST_CHECK_EQUAL(nValueRet, 38 * CENT);
+
+ // 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)
+
+ // 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);
+
+ // 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);
+
+ // 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);
+
+ // now clear out the wallet and start again to test choosing between subsets of smaller coins and the next biggest coin
+ empty_wallet();
+
+ add_coin( 6*CENT);
+ add_coin( 7*CENT);
+ add_coin( 8*CENT);
+ add_coin(20*CENT);
+ add_coin(30*CENT); // now we have 6+7+8+20+30 = 71 cents total
+
+ // check that we have 71 and not 72
+ BOOST_CHECK( wallet.SelectCoinsMinConf(71 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet));
+ BOOST_CHECK(!wallet.SelectCoinsMinConf(72 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet));
+
+ // 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);
+
+ 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);
+
+ 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
+
+ // 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);
+
+ // check that the smallest bigger coin is used
+ add_coin( 1*COIN);
+ add_coin( 2*COIN);
+ add_coin( 3*COIN);
+ 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( 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);
+
+ // empty the wallet and start again, now with fractions of a cent, to test sub-cent change avoidance
+ empty_wallet();
+ add_coin(0.1*CENT);
+ add_coin(0.2*CENT);
+ add_coin(0.3*CENT);
+ add_coin(0.4*CENT);
+ add_coin(0.5*CENT);
+
+ // try making 1 cent from 0.1 + 0.2 + 0.3 + 0.4 + 0.5 = 1.5 cents
+ // we'll get sub-cent change whatever happens, so can expect 1.0 exactly
+ BOOST_CHECK( wallet.SelectCoinsMinConf(1 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet));
+ BOOST_CHECK_EQUAL(nValueRet, 1 * CENT);
+
+ // but if we add a bigger coin, making it possible to avoid sub-cent change, things change:
+ add_coin(1111*CENT);
+
+ // try making 1 cent from 0.1 + 0.2 + 0.3 + 0.4 + 0.5 + 1111 = 1112.5 cents
+ BOOST_CHECK( wallet.SelectCoinsMinConf(1 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet));
+ BOOST_CHECK_EQUAL(nValueRet, 1 * CENT); // we should get the exact amount
+
+ // if we add more sub-cent coins:
+ add_coin(0.6*CENT);
+ add_coin(0.7*CENT);
+
+ // and try again to make 1.0 cents, we can still make 1.0 cents
+ BOOST_CHECK( wallet.SelectCoinsMinConf(1 * CENT, 1, 1, vCoins, setCoinsRet, nValueRet));
+ BOOST_CHECK_EQUAL(nValueRet, 1 * CENT); // we should get the exact amount
+
+ // run the 'mtgox' test (see http://blockexplorer.com/tx/29a3efd3ef04f9153d47a990bd7b048a4b2d213daaa5fb8ed670fb85f13bdbcf)
+ // they tried to consolidate 10 50k coins into one 500k coin, and ended up with 50k in change
+ empty_wallet();
+ for (int i = 0; i < 20; i++)
+ add_coin(50000 * COIN);
+
+ 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
+
+ // 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
+
+ // sometimes it will fail, and so we use the next biggest coin:
+ empty_wallet();
+ add_coin(0.5 * CENT);
+ add_coin(0.6 * CENT);
+ add_coin(0.7 * CENT);
+ 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);
+
+ // but sometimes it's possible, and we use an exact subset (0.4 + 0.6 = 1.0)
+ empty_wallet();
+ add_coin(0.4 * CENT);
+ add_coin(0.6 * CENT);
+ add_coin(0.8 * CENT);
+ 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
+
+ // test avoiding sub-cent change
+ empty_wallet();
+ add_coin(0.0005 * COIN);
+ add_coin(0.01 * COIN);
+ add_coin(1 * COIN);
+
+ // 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);
+
+ // 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);
+
+ // test randomness
+ {
+ empty_wallet();
+ for (int i2 = 0; i2 < 100; i2++)
+ add_coin(COIN);
+
+ // picking 50 from 100 coins doesn't depend on the shuffle,
+ // but does depend on randomness in the stochastic approximation code
+ BOOST_CHECK(wallet.SelectCoinsMinConf(50 * COIN, 1, 6, vCoins, setCoinsRet , nValueRet));
+ BOOST_CHECK(wallet.SelectCoinsMinConf(50 * COIN, 1, 6, vCoins, setCoinsRet2, nValueRet));
+ BOOST_CHECK(!equal_sets(setCoinsRet, setCoinsRet2));
+
+ int fails = 0;
+ for (int i = 0; i < RANDOM_REPEATS; i++)
+ {
+ // selecting 1 from 100 identical coins depends on the shuffle; this test will fail 1% of the time
+ // run the test RANDOM_REPEATS times and only complain if all of them fail
+ BOOST_CHECK(wallet.SelectCoinsMinConf(COIN, 1, 6, vCoins, setCoinsRet , nValueRet));
+ BOOST_CHECK(wallet.SelectCoinsMinConf(COIN, 1, 6, vCoins, setCoinsRet2, nValueRet));
+ if (equal_sets(setCoinsRet, setCoinsRet2))
+ fails++;
+ }
+ BOOST_CHECK_NE(fails, RANDOM_REPEATS);
+
+ // add 75 cents in small change. not enough to make 90 cents,
+ // then try making 90 cents. there are multiple competing "smallest bigger" coins,
+ // one of which should be picked at random
+ add_coin( 5*CENT); add_coin(10*CENT); add_coin(15*CENT); add_coin(20*CENT); add_coin(25*CENT);
+
+ fails = 0;
+ for (int i = 0; i < RANDOM_REPEATS; i++)
+ {
+ // selecting 1 from 100 identical coins depends on the shuffle; this test will fail 1% of the time
+ // run the test RANDOM_REPEATS times and only complain if all of them fail
+ BOOST_CHECK(wallet.SelectCoinsMinConf(90*CENT, 1, 6, vCoins, setCoinsRet , nValueRet));
+ BOOST_CHECK(wallet.SelectCoinsMinConf(90*CENT, 1, 6, vCoins, setCoinsRet2, nValueRet));
+ if (equal_sets(setCoinsRet, setCoinsRet2))
+ fails++;
+ }
+ BOOST_CHECK_NE(fails, RANDOM_REPEATS);
+ }
+ }
+}
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/ui_interface.h b/src/ui_interface.h
index 6f3aa48926..0f7fdef264 100644
--- a/src/ui_interface.h
+++ b/src/ui_interface.h
@@ -7,45 +7,99 @@
#include <string>
#include "util.h" // for int64
+#include <boost/signals2/signal.hpp>
+#include <boost/signals2/last_value.hpp>
-#define wxYES 0x00000002
-#define wxOK 0x00000004
-#define wxNO 0x00000008
-#define wxYES_NO (wxYES|wxNO)
-#define wxCANCEL 0x00000010
-#define wxAPPLY 0x00000020
-#define wxCLOSE 0x00000040
-#define wxOK_DEFAULT 0x00000000
-#define wxYES_DEFAULT 0x00000000
-#define wxNO_DEFAULT 0x00000080
-#define wxCANCEL_DEFAULT 0x80000000
-#define wxICON_EXCLAMATION 0x00000100
-#define wxICON_HAND 0x00000200
-#define wxICON_WARNING wxICON_EXCLAMATION
-#define wxICON_ERROR wxICON_HAND
-#define wxICON_QUESTION 0x00000400
-#define wxICON_INFORMATION 0x00000800
-#define wxICON_STOP wxICON_HAND
-#define wxICON_ASTERISK wxICON_INFORMATION
-#define wxICON_MASK (0x00000100|0x00000200|0x00000400|0x00000800)
-#define wxFORWARD 0x00001000
-#define wxBACKWARD 0x00002000
-#define wxRESET 0x00004000
-#define wxHELP 0x00008000
-#define wxMORE 0x00010000
-#define wxSETUP 0x00020000
-// Force blocking, modal message box dialog (not just notification)
-#define wxMODAL 0x00040000
-
-/* These UI communication functions are implemented in bitcoin.cpp (for ui) and noui.cpp (no ui) */
-
-extern int ThreadSafeMessageBox(const std::string& message, const std::string& caption, int style=wxOK);
-extern bool ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption);
-extern void ThreadSafeHandleURI(const std::string& strURI);
-extern void MainFrameRepaint();
-extern void AddressBookRepaint();
-extern void QueueShutdown();
-extern void InitMessage(const std::string &message);
-extern std::string _(const char* psz);
+class CBasicKeyStore;
+class CWallet;
+class uint256;
+
+/** General change type (added, updated, removed). */
+enum ChangeType
+{
+ CT_NEW,
+ CT_UPDATED,
+ CT_DELETED
+};
+
+/** Signals for UI communication. */
+class CClientUIInterface
+{
+public:
+ /** Flags for CClientUIInterface::ThreadSafeMessageBox */
+ enum MessageBoxFlags
+ {
+ YES = 0x00000002,
+ OK = 0x00000004,
+ NO = 0x00000008,
+ YES_NO = (YES|NO),
+ CANCEL = 0x00000010,
+ APPLY = 0x00000020,
+ CLOSE = 0x00000040,
+ OK_DEFAULT = 0x00000000,
+ YES_DEFAULT = 0x00000000,
+ NO_DEFAULT = 0x00000080,
+ CANCEL_DEFAULT = 0x80000000,
+ ICON_EXCLAMATION = 0x00000100,
+ ICON_HAND = 0x00000200,
+ ICON_WARNING = ICON_EXCLAMATION,
+ ICON_ERROR = ICON_HAND,
+ ICON_QUESTION = 0x00000400,
+ ICON_INFORMATION = 0x00000800,
+ ICON_STOP = ICON_HAND,
+ ICON_ASTERISK = ICON_INFORMATION,
+ ICON_MASK = (0x00000100|0x00000200|0x00000400|0x00000800),
+ FORWARD = 0x00001000,
+ BACKWARD = 0x00002000,
+ RESET = 0x00004000,
+ HELP = 0x00008000,
+ MORE = 0x00010000,
+ SETUP = 0x00020000,
+ // Force blocking, modal message box dialog (not just OS notification)
+ MODAL = 0x00040000
+ };
+
+ /** Show message box. */
+ boost::signals2::signal<void (const std::string& message, const std::string& caption, int style)> ThreadSafeMessageBox;
+
+ /** Ask the user whether they want to pay a fee or not. */
+ boost::signals2::signal<bool (int64 nFeeRequired, const std::string& strCaption), boost::signals2::last_value<bool> > ThreadSafeAskFee;
+
+ /** Handle a URL passed at the command line. */
+ boost::signals2::signal<void (const std::string& strURI)> ThreadSafeHandleURI;
+
+ /** Progress message during initialization. */
+ boost::signals2::signal<void (const std::string &message)> InitMessage;
+
+ /** Initiate client shutdown. */
+ boost::signals2::signal<void ()> QueueShutdown;
+
+ /** Translate a message to the native language of the user. */
+ boost::signals2::signal<std::string (const char* psz)> Translate;
+
+ /** Block chain changed. */
+ boost::signals2::signal<void ()> NotifyBlocksChanged;
+
+ /** Number of network connections changed. */
+ boost::signals2::signal<void (int newNumConnections)> NotifyNumConnectionsChanged;
+
+ /**
+ * New, updated or cancelled alert.
+ * @note called with lock cs_mapAlerts held.
+ */
+ boost::signals2::signal<void (const uint256 &hash, ChangeType status)> NotifyAlertChanged;
+};
+
+extern CClientUIInterface uiInterface;
+
+/**
+ * Translation function: Call Translate signal on UI interface, which returns a boost::optional result.
+ * If no translation slot is registered, nothing is returned, and simply return the input.
+ */
+inline std::string _(const char* psz)
+{
+ boost::optional<std::string> rv = uiInterface.Translate(psz);
+ return rv ? (*rv) : psz;
+}
#endif
diff --git a/src/uint256.h b/src/uint256.h
index fc5ed26592..abd0b71e6f 100644
--- a/src/uint256.h
+++ b/src/uint256.h
@@ -306,7 +306,7 @@ public:
psz += 2;
// hex string to uint
- static unsigned char phexdigit[256] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0, 0,0xa,0xb,0xc,0xd,0xe,0xf,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0xa,0xb,0xc,0xd,0xe,0xf,0,0,0,0,0,0,0,0,0 };
+ static const unsigned char phexdigit[256] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0, 0,0xa,0xb,0xc,0xd,0xe,0xf,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0xa,0xb,0xc,0xd,0xe,0xf,0,0,0,0,0,0,0,0,0 };
const char* pbegin = psz;
while (phexdigit[(unsigned char)*psz] || *psz == '0')
psz++;
diff --git a/src/util.cpp b/src/util.cpp
index 07319f0df0..6072ec5dca 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -4,6 +4,7 @@
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include "util.h"
+#include "sync.h"
#include "strlcpy.h"
#include "version.h"
#include "ui_interface.h"
@@ -23,12 +24,11 @@ namespace boost {
#include <boost/program_options/parsers.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
-#include <boost/interprocess/sync/interprocess_mutex.hpp>
-#include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
#include <boost/foreach.hpp>
#include <boost/thread.hpp>
#include <openssl/crypto.h>
#include <openssl/rand.h>
+#include <stdarg.h>
#ifdef WIN32
#ifdef _MSC_VER
@@ -44,21 +44,23 @@ namespace boost {
#ifdef _WIN32_IE
#undef _WIN32_IE
#endif
-#define _WIN32_IE 0x0400
+#define _WIN32_IE 0x0501
#define WIN32_LEAN_AND_MEAN 1
#ifndef NOMINMAX
#define NOMINMAX
#endif
+#include <io.h> /* for _commit */
#include "shlobj.h"
-#include "shlwapi.h"
+#elif defined(__linux__)
+# include <sys/prctl.h>
#endif
using namespace std;
-using namespace boost;
map<string, string> mapArgs;
map<string, vector<string> > mapMultiArgs;
bool fDebug = false;
+bool fDebugNet = false;
bool fPrintToConsole = false;
bool fPrintToDebugger = false;
bool fRequestShutdown = false;
@@ -71,17 +73,21 @@ bool fTestNet = false;
bool fNoListen = false;
bool fLogTimestamps = false;
CMedianFilter<int64> vTimeOffsets(200,0);
+bool fReopenDebugLog = false;
// Init OpenSSL library multithreading support
-static boost::interprocess::interprocess_mutex** ppmutexOpenSSL;
+static CCriticalSection** ppmutexOpenSSL;
void locking_callback(int mode, int i, const char* file, int line)
{
- if (mode & CRYPTO_LOCK)
- ppmutexOpenSSL[i]->lock();
- else
- ppmutexOpenSSL[i]->unlock();
+ if (mode & CRYPTO_LOCK) {
+ ENTER_CRITICAL_SECTION(*ppmutexOpenSSL[i]);
+ } else {
+ LEAVE_CRITICAL_SECTION(*ppmutexOpenSSL[i]);
+ }
}
+LockedPageManager LockedPageManager::instance;
+
// Init
class CInit
{
@@ -89,9 +95,9 @@ public:
CInit()
{
// Init OpenSSL library multithreading support
- ppmutexOpenSSL = (boost::interprocess::interprocess_mutex**)OPENSSL_malloc(CRYPTO_num_locks() * sizeof(boost::interprocess::interprocess_mutex*));
+ ppmutexOpenSSL = (CCriticalSection**)OPENSSL_malloc(CRYPTO_num_locks() * sizeof(CCriticalSection*));
for (int i = 0; i < CRYPTO_num_locks(); i++)
- ppmutexOpenSSL[i] = new boost::interprocess::interprocess_mutex();
+ ppmutexOpenSSL[i] = new CCriticalSection();
CRYPTO_set_locking_callback(locking_callback);
#ifdef WIN32
@@ -150,7 +156,7 @@ void RandAddSeedPerfmon()
{
RAND_add(pdata, nSize, nSize/100.0);
OPENSSL_cleanse(pdata, nSize);
- printf("%s RandAddSeed() %d bytes\n", DateTimeStrFormat("%x %H:%M", GetTime()).c_str(), nSize);
+ printf("RandAddSeed() %lu bytes\n", nSize);
}
#endif
}
@@ -189,8 +195,6 @@ uint256 GetRandHash()
-
-
inline int OutputDebugStringF(const char* pszFormat, ...)
{
int ret = 0;
@@ -202,7 +206,7 @@ inline int OutputDebugStringF(const char* pszFormat, ...)
ret = vprintf(pszFormat, arg_ptr);
va_end(arg_ptr);
}
- else
+ else if (!fPrintToDebugger)
{
// print to debug.log
static FILE* fileout = NULL;
@@ -225,6 +229,14 @@ inline int OutputDebugStringF(const char* pszFormat, ...)
if (mutexDebugLog == NULL) mutexDebugLog = new boost::mutex();
boost::mutex::scoped_lock scoped_lock(*mutexDebugLog);
+ // reopen the log file, if requested
+ if (fReopenDebugLog) {
+ fReopenDebugLog = false;
+ boost::filesystem::path pathDebug = GetDataDir() / "debug.log";
+ if (freopen(pathDebug.string().c_str(),"a",fileout) != NULL)
+ setbuf(fileout, NULL); // unbuffered
+ }
+
// Debug print useful for profiling
if (fLogTimestamps && fStartedNewLine)
fprintf(fileout, "%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str());
@@ -245,68 +257,30 @@ inline int OutputDebugStringF(const char* pszFormat, ...)
{
static CCriticalSection cs_OutputDebugStringF;
- // accumulate a line at a time
+ // accumulate and output a line at a time
{
LOCK(cs_OutputDebugStringF);
- static char pszBuffer[50000];
- static char* pend;
- if (pend == NULL)
- pend = pszBuffer;
+ static std::string buffer;
+
va_list arg_ptr;
va_start(arg_ptr, pszFormat);
- int limit = END(pszBuffer) - pend - 2;
- int ret = _vsnprintf(pend, limit, pszFormat, arg_ptr);
+ buffer += vstrprintf(pszFormat, arg_ptr);
va_end(arg_ptr);
- if (ret < 0 || ret >= limit)
- {
- pend = END(pszBuffer) - 2;
- *pend++ = '\n';
- }
- else
- pend += ret;
- *pend = '\0';
- char* p1 = pszBuffer;
- char* p2;
- while ((p2 = strchr(p1, '\n')))
+
+ int line_start = 0, line_end;
+ while((line_end = buffer.find('\n', line_start)) != -1)
{
- p2++;
- char c = *p2;
- *p2 = '\0';
- OutputDebugStringA(p1);
- *p2 = c;
- p1 = p2;
+ OutputDebugStringA(buffer.substr(line_start, line_end - line_start).c_str());
+ line_start = line_end + 1;
}
- if (p1 != pszBuffer)
- memmove(pszBuffer, p1, pend - p1 + 1);
- pend -= (p1 - pszBuffer);
+ buffer.erase(0, line_start);
}
}
#endif
return ret;
}
-
-// Safer snprintf
-// - prints up to limit-1 characters
-// - output string is always null terminated even if limit reached
-// - return value is the number of characters actually printed
-int my_snprintf(char* buffer, size_t limit, const char* format, ...)
-{
- if (limit == 0)
- return 0;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- int ret = _vsnprintf(buffer, limit, format, arg_ptr);
- va_end(arg_ptr);
- if (ret < 0 || ret >= (int)limit)
- {
- ret = limit - 1;
- buffer[limit-1] = 0;
- }
- return ret;
-}
-
-string real_strprintf(const std::string &format, int dummy, ...)
+string vstrprintf(const char *format, va_list ap)
{
char buffer[50000];
char* p = buffer;
@@ -315,8 +289,12 @@ string real_strprintf(const std::string &format, int dummy, ...)
loop
{
va_list arg_ptr;
- va_start(arg_ptr, dummy);
- ret = _vsnprintf(p, limit, format.c_str(), arg_ptr);
+ va_copy(arg_ptr, ap);
+#ifdef WIN32
+ ret = _vsnprintf(p, limit, format, arg_ptr);
+#else
+ ret = vsnprintf(p, limit, format, arg_ptr);
+#endif
va_end(arg_ptr);
if (ret >= 0 && ret < limit)
break;
@@ -333,19 +311,31 @@ string real_strprintf(const std::string &format, int dummy, ...)
return str;
}
+string real_strprintf(const char *format, int dummy, ...)
+{
+ va_list arg_ptr;
+ va_start(arg_ptr, dummy);
+ string str = vstrprintf(format, arg_ptr);
+ va_end(arg_ptr);
+ return str;
+}
+
+string real_strprintf(const std::string &format, int dummy, ...)
+{
+ va_list arg_ptr;
+ va_start(arg_ptr, dummy);
+ string str = vstrprintf(format.c_str(), arg_ptr);
+ va_end(arg_ptr);
+ return str;
+}
+
bool error(const char *format, ...)
{
- char buffer[50000];
- int limit = sizeof(buffer);
va_list arg_ptr;
va_start(arg_ptr, format);
- int ret = _vsnprintf(buffer, limit, format, arg_ptr);
+ std::string str = vstrprintf(format, arg_ptr);
va_end(arg_ptr);
- if (ret < 0 || ret >= limit)
- {
- buffer[limit-1] = 0;
- }
- printf("ERROR: %s\n", buffer);
+ printf("ERROR: %s\n", str.c_str());
return false;
}
@@ -440,7 +430,7 @@ bool ParseMoney(const char* pszIn, int64& nRet)
}
-static signed char phexdigit[256] =
+static const signed char phexdigit[256] =
{ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
@@ -509,7 +499,7 @@ static void InterpretNegativeSetting(string name, map<string, string>& mapSettin
}
}
-void ParseParameters(int argc, const char*const argv[])
+void ParseParameters(int argc, const char* const argv[])
{
mapArgs.clear();
mapMultiArgs.clear();
@@ -736,6 +726,193 @@ string DecodeBase64(const string& str)
return string((const char*)&vchRet[0], vchRet.size());
}
+string EncodeBase32(const unsigned char* pch, size_t len)
+{
+ static const char *pbase32 = "abcdefghijklmnopqrstuvwxyz234567";
+
+ string strRet="";
+ strRet.reserve((len+4)/5*8);
+
+ int mode=0, left=0;
+ const unsigned char *pchEnd = pch+len;
+
+ while (pch<pchEnd)
+ {
+ int enc = *(pch++);
+ switch (mode)
+ {
+ case 0: // we have no bits
+ strRet += pbase32[enc >> 3];
+ left = (enc & 7) << 2;
+ mode = 1;
+ break;
+
+ case 1: // we have three bits
+ strRet += pbase32[left | (enc >> 6)];
+ strRet += pbase32[(enc >> 1) & 31];
+ left = (enc & 1) << 4;
+ mode = 2;
+ break;
+
+ case 2: // we have one bit
+ strRet += pbase32[left | (enc >> 4)];
+ left = (enc & 15) << 1;
+ mode = 3;
+ break;
+
+ case 3: // we have four bits
+ strRet += pbase32[left | (enc >> 7)];
+ strRet += pbase32[(enc >> 2) & 31];
+ left = (enc & 3) << 3;
+ mode = 4;
+ break;
+
+ case 4: // we have two bits
+ strRet += pbase32[left | (enc >> 5)];
+ strRet += pbase32[enc & 31];
+ mode = 0;
+ }
+ }
+
+ static const int nPadding[5] = {0, 6, 4, 3, 1};
+ if (mode)
+ {
+ strRet += pbase32[left];
+ for (int n=0; n<nPadding[mode]; n++)
+ strRet += '=';
+ }
+
+ return strRet;
+}
+
+string EncodeBase32(const string& str)
+{
+ return EncodeBase32((const unsigned char*)str.c_str(), str.size());
+}
+
+vector<unsigned char> DecodeBase32(const char* p, bool* pfInvalid)
+{
+ static const int decode32_table[256] =
+ {
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 0, 1, 2,
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
+ };
+
+ if (pfInvalid)
+ *pfInvalid = false;
+
+ vector<unsigned char> vchRet;
+ vchRet.reserve((strlen(p))*5/8);
+
+ int mode = 0;
+ int left = 0;
+
+ while (1)
+ {
+ int dec = decode32_table[(unsigned char)*p];
+ if (dec == -1) break;
+ p++;
+ switch (mode)
+ {
+ case 0: // we have no bits and get 5
+ left = dec;
+ mode = 1;
+ break;
+
+ case 1: // we have 5 bits and keep 2
+ vchRet.push_back((left<<3) | (dec>>2));
+ left = dec & 3;
+ mode = 2;
+ break;
+
+ case 2: // we have 2 bits and keep 7
+ left = left << 5 | dec;
+ mode = 3;
+ break;
+
+ case 3: // we have 7 bits and keep 4
+ vchRet.push_back((left<<1) | (dec>>4));
+ left = dec & 15;
+ mode = 4;
+ break;
+
+ case 4: // we have 4 bits, and keep 1
+ vchRet.push_back((left<<4) | (dec>>1));
+ left = dec & 1;
+ mode = 5;
+ break;
+
+ case 5: // we have 1 bit, and keep 6
+ left = left << 5 | dec;
+ mode = 6;
+ break;
+
+ case 6: // we have 6 bits, and keep 3
+ vchRet.push_back((left<<2) | (dec>>3));
+ left = dec & 7;
+ mode = 7;
+ break;
+
+ case 7: // we have 3 bits, and keep 0
+ vchRet.push_back((left<<5) | dec);
+ mode = 0;
+ break;
+ }
+ }
+
+ if (pfInvalid)
+ switch (mode)
+ {
+ case 0: // 8n base32 characters processed: ok
+ break;
+
+ case 1: // 8n+1 base32 characters processed: impossible
+ case 3: // +3
+ case 6: // +6
+ *pfInvalid = true;
+ break;
+
+ case 2: // 8n+2 base32 characters processed: require '======'
+ if (left || p[0] != '=' || p[1] != '=' || p[2] != '=' || p[3] != '=' || p[4] != '=' || p[5] != '=' || decode32_table[(unsigned char)p[6]] != -1)
+ *pfInvalid = true;
+ break;
+
+ case 4: // 8n+4 base32 characters processed: require '===='
+ if (left || p[0] != '=' || p[1] != '=' || p[2] != '=' || p[3] != '=' || decode32_table[(unsigned char)p[4]] != -1)
+ *pfInvalid = true;
+ break;
+
+ case 5: // 8n+5 base32 characters processed: require '==='
+ if (left || p[0] != '=' || p[1] != '=' || p[2] != '=' || decode32_table[(unsigned char)p[3]] != -1)
+ *pfInvalid = true;
+ break;
+
+ case 7: // 8n+7 base32 characters processed: require '='
+ if (left || p[0] != '=' || decode32_table[(unsigned char)p[1]] != -1)
+ *pfInvalid = true;
+ break;
+ }
+
+ return vchRet;
+}
+
+string DecodeBase32(const string& str)
+{
+ vector<unsigned char> vchRet = DecodeBase32(str.c_str());
+ return string((const char*)&vchRet[0], vchRet.size());
+}
+
bool WildcardMatch(const char* psz, const char* mask)
{
@@ -773,81 +950,55 @@ bool WildcardMatch(const string& str, const string& mask)
-void FormatException(char* pszMessage, std::exception* pex, const char* pszThread)
+static std::string FormatException(std::exception* pex, const char* pszThread)
{
#ifdef WIN32
- char pszModule[MAX_PATH];
- pszModule[0] = '\0';
+ char pszModule[MAX_PATH] = "";
GetModuleFileNameA(NULL, pszModule, sizeof(pszModule));
#else
const char* pszModule = "bitcoin";
#endif
if (pex)
- snprintf(pszMessage, 1000,
+ return strprintf(
"EXCEPTION: %s \n%s \n%s in %s \n", typeid(*pex).name(), pex->what(), pszModule, pszThread);
else
- snprintf(pszMessage, 1000,
+ return strprintf(
"UNKNOWN EXCEPTION \n%s in %s \n", pszModule, pszThread);
}
void LogException(std::exception* pex, const char* pszThread)
{
- char pszMessage[10000];
- FormatException(pszMessage, pex, pszThread);
- printf("\n%s", pszMessage);
+ std::string message = FormatException(pex, pszThread);
+ printf("\n%s", message.c_str());
}
void PrintException(std::exception* pex, const char* pszThread)
{
- char pszMessage[10000];
- FormatException(pszMessage, pex, pszThread);
- printf("\n\n************************\n%s\n", pszMessage);
- fprintf(stderr, "\n\n************************\n%s\n", pszMessage);
- strMiscWarning = pszMessage;
+ std::string message = FormatException(pex, pszThread);
+ printf("\n\n************************\n%s\n", message.c_str());
+ fprintf(stderr, "\n\n************************\n%s\n", message.c_str());
+ strMiscWarning = message;
throw;
}
void PrintExceptionContinue(std::exception* pex, const char* pszThread)
{
- char pszMessage[10000];
- FormatException(pszMessage, pex, pszThread);
- printf("\n\n************************\n%s\n", pszMessage);
- fprintf(stderr, "\n\n************************\n%s\n", pszMessage);
- strMiscWarning = pszMessage;
+ std::string message = FormatException(pex, pszThread);
+ printf("\n\n************************\n%s\n", message.c_str());
+ fprintf(stderr, "\n\n************************\n%s\n", message.c_str());
+ strMiscWarning = message;
}
-#ifdef WIN32
-boost::filesystem::path MyGetSpecialFolderPath(int nFolder, bool fCreate)
-{
- namespace fs = boost::filesystem;
-
- char pszPath[MAX_PATH] = "";
- if(SHGetSpecialFolderPathA(NULL, pszPath, nFolder, fCreate))
- {
- return fs::path(pszPath);
- }
- else if (nFolder == CSIDL_STARTUP)
- {
- return fs::path(getenv("USERPROFILE")) / "Start Menu" / "Programs" / "Startup";
- }
- else if (nFolder == CSIDL_APPDATA)
- {
- return fs::path(getenv("APPDATA"));
- }
- return fs::path("");
-}
-#endif
-
boost::filesystem::path GetDefaultDataDir()
{
namespace fs = boost::filesystem;
-
- // Windows: C:\Documents and Settings\username\Application Data\Bitcoin
+ // Windows < Vista: C:\Documents and Settings\Username\Application Data\Bitcoin
+ // Windows >= Vista: C:\Users\Username\AppData\Roaming\Bitcoin
// Mac: ~/Library/Application Support/Bitcoin
// Unix: ~/.bitcoin
#ifdef WIN32
// Windows
- return MyGetSpecialFolderPath(CSIDL_APPDATA, true) / "Bitcoin";
+ return GetSpecialFolderPath(CSIDL_APPDATA) / "Bitcoin";
#else
fs::path pathRet;
char* pszHome = getenv("HOME");
@@ -894,7 +1045,7 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific)
path = GetDefaultDataDir();
}
if (fNetSpecific && GetBoolArg("-testnet", false))
- path /= "testnet";
+ path /= "testnet3";
fs::create_directory(path);
@@ -904,9 +1055,7 @@ const boost::filesystem::path &GetDataDir(bool fNetSpecific)
boost::filesystem::path GetConfigFile()
{
- namespace fs = boost::filesystem;
-
- fs::path pathConfigFile(GetArg("-conf", "bitcoin.conf"));
+ boost::filesystem::path pathConfigFile(GetArg("-conf", "bitcoin.conf"));
if (!pathConfigFile.is_complete()) pathConfigFile = GetDataDir(false) / pathConfigFile;
return pathConfigFile;
}
@@ -914,24 +1063,21 @@ boost::filesystem::path GetConfigFile()
void ReadConfigFile(map<string, string>& mapSettingsRet,
map<string, vector<string> >& mapMultiSettingsRet)
{
- namespace fs = boost::filesystem;
- namespace pod = boost::program_options::detail;
-
- fs::ifstream streamConfig(GetConfigFile());
+ boost::filesystem::ifstream streamConfig(GetConfigFile());
if (!streamConfig.good())
return; // No bitcoin.conf file is OK
set<string> setOptions;
setOptions.insert("*");
- for (pod::config_file_iterator it(streamConfig, setOptions), end; it != end; ++it)
+ for (boost::program_options::detail::config_file_iterator it(streamConfig, setOptions), end; it != end; ++it)
{
// Don't overwrite existing settings so command line settings override bitcoin.conf
string strKey = string("-") + it->string_key;
if (mapSettingsRet.count(strKey) == 0)
{
mapSettingsRet[strKey] = it->value[0];
- // interpret nofoo=1 as foo=0 (and nofoo=0 as foo=1) as long as foo not set)
+ // interpret nofoo=1 as foo=0 (and nofoo=0 as foo=1) as long as foo not set)
InterpretNegativeSetting(strKey, mapSettingsRet);
}
mapMultiSettingsRet[strKey].push_back(it->value[0]);
@@ -940,9 +1086,7 @@ void ReadConfigFile(map<string, string>& mapSettingsRet,
boost::filesystem::path GetPidFile()
{
- namespace fs = boost::filesystem;
-
- fs::path pathPidFile(GetArg("-pid", "bitcoind.pid"));
+ boost::filesystem::path pathPidFile(GetArg("-pid", "bitcoind.pid"));
if (!pathPidFile.is_complete()) pathPidFile = GetDataDir() / pathPidFile;
return pathPidFile;
}
@@ -957,6 +1101,27 @@ void CreatePidFile(const boost::filesystem::path &path, pid_t pid)
}
}
+bool RenameOver(boost::filesystem::path src, boost::filesystem::path dest)
+{
+#ifdef WIN32
+ return MoveFileExA(src.string().c_str(), dest.string().c_str(),
+ MOVEFILE_REPLACE_EXISTING);
+#else
+ int rc = std::rename(src.string().c_str(), dest.string().c_str());
+ return (rc == 0);
+#endif /* WIN32 */
+}
+
+void FileCommit(FILE *fileout)
+{
+ fflush(fileout); // harmless if redundantly called
+#ifdef WIN32
+ _commit(_fileno(fileout));
+#else
+ fsync(fileno(fileout));
+#endif
+}
+
int GetFilesize(FILE* file)
{
int nSavePos = ftell(file);
@@ -1061,10 +1226,10 @@ void AddTimeData(const CNetAddr& ip, int64 nTime)
if (!fMatch)
{
fDone = true;
- string strMessage = _("Warning: Please check that your computer's date and time are correct. If your clock is wrong Bitcoin will not work properly.");
+ string strMessage = _("Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly.");
strMiscWarning = strMessage;
printf("*** %s\n", strMessage.c_str());
- ThreadSafeMessageBox(strMessage+" ", string("Bitcoin"), wxOK | wxICON_EXCLAMATION);
+ uiInterface.ThreadSafeMessageBox(strMessage+" ", string("Bitcoin"), CClientUIInterface::OK | CClientUIInterface::ICON_EXCLAMATION);
}
}
}
@@ -1110,258 +1275,58 @@ std::string FormatSubVersion(const std::string& name, int nClientVersion, const
}
#ifdef WIN32
-boost::filesystem::path static StartupShortcutPath()
-{
- return MyGetSpecialFolderPath(CSIDL_STARTUP, true) / "Bitcoin.lnk";
-}
-
-bool GetStartOnSystemStartup()
-{
- return filesystem::exists(StartupShortcutPath());
-}
-
-bool SetStartOnSystemStartup(bool fAutoStart)
-{
- // If the shortcut exists already, remove it for updating
- boost::filesystem::remove(StartupShortcutPath());
-
- if (fAutoStart)
- {
- CoInitialize(NULL);
-
- // Get a pointer to the IShellLink interface.
- IShellLink* psl = NULL;
- HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL,
- CLSCTX_INPROC_SERVER, IID_IShellLink,
- reinterpret_cast<void**>(&psl));
-
- if (SUCCEEDED(hres))
- {
- // Get the current executable path
- TCHAR pszExePath[MAX_PATH];
- GetModuleFileName(NULL, pszExePath, sizeof(pszExePath));
-
- TCHAR pszArgs[5] = TEXT("-min");
-
- // Set the path to the shortcut target
- psl->SetPath(pszExePath);
- PathRemoveFileSpec(pszExePath);
- psl->SetWorkingDirectory(pszExePath);
- psl->SetShowCmd(SW_SHOWMINNOACTIVE);
- psl->SetArguments(pszArgs);
-
- // Query IShellLink for the IPersistFile interface for
- // saving the shortcut in persistent storage.
- IPersistFile* ppf = NULL;
- hres = psl->QueryInterface(IID_IPersistFile,
- reinterpret_cast<void**>(&ppf));
- if (SUCCEEDED(hres))
- {
- WCHAR pwsz[MAX_PATH];
- // Ensure that the string is ANSI.
- MultiByteToWideChar(CP_ACP, 0, StartupShortcutPath().string().c_str(), -1, pwsz, MAX_PATH);
- // Save the link by calling IPersistFile::Save.
- hres = ppf->Save(pwsz, TRUE);
- ppf->Release();
- psl->Release();
- CoUninitialize();
- return true;
- }
- psl->Release();
- }
- CoUninitialize();
- return false;
- }
- return true;
-}
-
-#elif defined(LINUX)
-
-// Follow the Desktop Application Autostart Spec:
-// http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html
-
-boost::filesystem::path static GetAutostartDir()
+boost::filesystem::path GetSpecialFolderPath(int nFolder, bool fCreate)
{
namespace fs = boost::filesystem;
- char* pszConfigHome = getenv("XDG_CONFIG_HOME");
- if (pszConfigHome) return fs::path(pszConfigHome) / "autostart";
- char* pszHome = getenv("HOME");
- if (pszHome) return fs::path(pszHome) / ".config" / "autostart";
- return fs::path();
-}
-
-boost::filesystem::path static GetAutostartFilePath()
-{
- return GetAutostartDir() / "bitcoin.desktop";
-}
+ char pszPath[MAX_PATH] = "";
-bool GetStartOnSystemStartup()
-{
- boost::filesystem::ifstream optionFile(GetAutostartFilePath());
- if (!optionFile.good())
- return false;
- // Scan through file for "Hidden=true":
- string line;
- while (!optionFile.eof())
+ if(SHGetSpecialFolderPathA(NULL, pszPath, nFolder, fCreate))
{
- getline(optionFile, line);
- if (line.find("Hidden") != string::npos &&
- line.find("true") != string::npos)
- return false;
+ return fs::path(pszPath);
}
- optionFile.close();
-
- return true;
-}
-bool SetStartOnSystemStartup(bool fAutoStart)
-{
- if (!fAutoStart)
- boost::filesystem::remove(GetAutostartFilePath());
- else
- {
- char pszExePath[MAX_PATH+1];
- memset(pszExePath, 0, sizeof(pszExePath));
- if (readlink("/proc/self/exe", pszExePath, sizeof(pszExePath)-1) == -1)
- return false;
-
- boost::filesystem::create_directories(GetAutostartDir());
-
- boost::filesystem::ofstream optionFile(GetAutostartFilePath(), ios_base::out|ios_base::trunc);
- if (!optionFile.good())
- return false;
- // Write a bitcoin.desktop file to the autostart directory:
- optionFile << "[Desktop Entry]\n";
- optionFile << "Type=Application\n";
- optionFile << "Name=Bitcoin\n";
- optionFile << "Exec=" << pszExePath << " -min\n";
- optionFile << "Terminal=false\n";
- optionFile << "Hidden=false\n";
- optionFile.close();
- }
- return true;
+ printf("SHGetSpecialFolderPathA() failed, could not obtain requested path.\n");
+ return fs::path("");
}
-#else
-
-// TODO: OSX startup stuff; see:
-// https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Articles/CustomLogin.html
-
-bool GetStartOnSystemStartup() { return false; }
-bool SetStartOnSystemStartup(bool fAutoStart) { return false; }
-
#endif
-
-
-#ifdef DEBUG_LOCKORDER
-//
-// Early deadlock detection.
-// Problem being solved:
-// Thread 1 locks A, then B, then C
-// Thread 2 locks D, then C, then A
-// --> may result in deadlock between the two threads, depending on when they run.
-// Solution implemented here:
-// Keep track of pairs of locks: (A before B), (A before C), etc.
-// Complain if any thread tries to lock in a different order.
-//
-
-struct CLockLocation
-{
- CLockLocation(const char* pszName, const char* pszFile, int nLine)
- {
- mutexName = pszName;
- sourceFile = pszFile;
- sourceLine = nLine;
- }
-
- std::string ToString() const
- {
- return mutexName+" "+sourceFile+":"+itostr(sourceLine);
- }
-
-private:
- std::string mutexName;
- std::string sourceFile;
- int sourceLine;
-};
-
-typedef std::vector< std::pair<void*, CLockLocation> > LockStack;
-
-static boost::interprocess::interprocess_mutex dd_mutex;
-static std::map<std::pair<void*, void*>, LockStack> lockorders;
-static boost::thread_specific_ptr<LockStack> lockstack;
-
-
-static void potential_deadlock_detected(const std::pair<void*, void*>& mismatch, const LockStack& s1, const LockStack& s2)
+void runCommand(std::string strCommand)
{
- printf("POTENTIAL DEADLOCK DETECTED\n");
- printf("Previous lock order was:\n");
- BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, s2)
- {
- if (i.first == mismatch.first) printf(" (1)");
- if (i.first == mismatch.second) printf(" (2)");
- printf(" %s\n", i.second.ToString().c_str());
- }
- printf("Current lock order is:\n");
- BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, s1)
- {
- if (i.first == mismatch.first) printf(" (1)");
- if (i.first == mismatch.second) printf(" (2)");
- printf(" %s\n", i.second.ToString().c_str());
- }
+ int nErr = ::system(strCommand.c_str());
+ if (nErr)
+ printf("runCommand error: system(%s) returned %d\n", strCommand.c_str(), nErr);
}
-static void push_lock(void* c, const CLockLocation& locklocation, bool fTry)
+void RenameThread(const char* name)
{
- bool fOrderOK = true;
- if (lockstack.get() == NULL)
- lockstack.reset(new LockStack);
+#if defined(PR_SET_NAME)
+ // Only the first 15 characters are used (16 - NUL terminator)
+ ::prctl(PR_SET_NAME, name, 0, 0, 0);
+#elif 0 && (defined(__FreeBSD__) || defined(__OpenBSD__))
+ // TODO: This is currently disabled because it needs to be verified to work
+ // on FreeBSD or OpenBSD first. When verified the '0 &&' part can be
+ // removed.
+ pthread_set_name_np(pthread_self(), name);
- if (fDebug) printf("Locking: %s\n", locklocation.ToString().c_str());
- dd_mutex.lock();
+// This is XCode 10.6-and-later; bring back if we drop 10.5 support:
+// #elif defined(MAC_OSX)
+// pthread_setname_np(name);
- (*lockstack).push_back(std::make_pair(c, locklocation));
-
- if (!fTry) BOOST_FOREACH(const PAIRTYPE(void*, CLockLocation)& i, (*lockstack))
- {
- if (i.first == c) break;
-
- std::pair<void*, void*> p1 = std::make_pair(i.first, c);
- if (lockorders.count(p1))
- continue;
- lockorders[p1] = (*lockstack);
-
- std::pair<void*, void*> p2 = std::make_pair(c, i.first);
- if (lockorders.count(p2))
- {
- potential_deadlock_detected(p1, lockorders[p2], lockorders[p1]);
- break;
- }
- }
- dd_mutex.unlock();
+#else
+ // Prevent warnings for unused parameters...
+ (void)name;
+#endif
}
-static void pop_lock()
+bool NewThread(void(*pfn)(void*), void* parg)
{
- if (fDebug)
+ try
{
- const CLockLocation& locklocation = (*lockstack).rbegin()->second;
- printf("Unlocked: %s\n", locklocation.ToString().c_str());
+ boost::thread(pfn, parg); // thread detaches when out of scope
+ } catch(boost::thread_resource_error &e) {
+ printf("Error creating thread: %s\n", e.what());
+ return false;
}
- dd_mutex.lock();
- (*lockstack).pop_back();
- dd_mutex.unlock();
-}
-
-void EnterCritical(const char* pszName, const char* pszFile, int nLine, void* cs, bool fTry)
-{
- push_lock(cs, CLockLocation(pszName, pszFile, nLine), fTry);
-}
-
-void LeaveCritical()
-{
- pop_lock();
+ return true;
}
-
-#endif /* DEBUG_LOCKORDER */
diff --git a/src/util.h b/src/util.h
index a19387f7e7..d80b3c28b2 100644
--- a/src/util.h
+++ b/src/util.h
@@ -21,10 +21,6 @@ typedef int pid_t; /* define for Windows compatibility */
#include <boost/thread.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/path.hpp>
-#include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
-#include <boost/interprocess/sync/scoped_lock.hpp>
-#include <boost/interprocess/sync/interprocess_semaphore.hpp>
-#include <boost/interprocess/sync/lock_options.hpp>
#include <boost/date_time/gregorian/gregorian_types.hpp>
#include <boost/date_time/posix_time/posix_time_types.hpp>
@@ -45,12 +41,6 @@ static const int64 CENT = 1000000;
#define UBEGIN(a) ((unsigned char*)&(a))
#define UEND(a) ((unsigned char*)&((&(a))[1]))
#define ARRAYLEN(array) (sizeof(array)/sizeof((array)[0]))
-#define printf OutputDebugStringF
-
-#ifdef snprintf
-#undef snprintf
-#endif
-#define snprintf my_snprintf
#ifndef PRI64d
#if defined(_MSC_VER) || defined(__MSVCRT__)
@@ -64,6 +54,26 @@ static const int64 CENT = 1000000;
#endif
#endif
+/* Format characters for (s)size_t and ptrdiff_t */
+#if defined(_MSC_VER) || defined(__MSVCRT__)
+ /* (s)size_t and ptrdiff_t have the same size specifier in MSVC:
+ http://msdn.microsoft.com/en-us/library/tcxf1dw6%28v=vs.100%29.aspx
+ */
+ #define PRIszx "Ix"
+ #define PRIszu "Iu"
+ #define PRIszd "Id"
+ #define PRIpdx "Ix"
+ #define PRIpdu "Iu"
+ #define PRIpdd "Id"
+#else /* C99 standard */
+ #define PRIszx "zx"
+ #define PRIszu "zu"
+ #define PRIszd "zd"
+ #define PRIpdx "tx"
+ #define PRIpdu "tu"
+ #define PRIpdd "td"
+#endif
+
// This is needed because the foreach macro can't get over the comma in pair<t1, t2>
#define PAIRTYPE(t1, t2) std::pair<t1, t2>
@@ -89,11 +99,7 @@ T* alignup(T* p)
#define S_IRUSR 0400
#define S_IWUSR 0200
#endif
-#define unlink _unlink
#else
-#define _vsnprintf(a,b,c,d) vsnprintf(a,b,c,d)
-#define strlwr(psz) to_lower(psz)
-#define _strlwr(psz) to_lower(psz)
#define MAX_PATH 1024
inline void Sleep(int64 n)
{
@@ -103,6 +109,15 @@ inline void Sleep(int64 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.
+ * Parameters count from 1.
+ */
+#ifdef __GNUC__
+#define ATTR_WARN_PRINTF(X,Y) __attribute__((format(printf,X,Y)))
+#else
+#define ATTR_WARN_PRINTF(X,Y)
+#endif
@@ -114,6 +129,7 @@ inline void Sleep(int64 n)
extern std::map<std::string, std::string> mapArgs;
extern std::map<std::string, std::vector<std::string> > mapMultiArgs;
extern bool fDebug;
+extern bool fDebugNet;
extern bool fPrintToConsole;
extern bool fPrintToDebugger;
extern bool fRequestShutdown;
@@ -125,20 +141,38 @@ extern std::string strMiscWarning;
extern bool fTestNet;
extern bool fNoListen;
extern bool fLogTimestamps;
+extern bool fReopenDebugLog;
void RandAddSeed();
void RandAddSeedPerfmon();
-int OutputDebugStringF(const char* pszFormat, ...);
-int my_snprintf(char* buffer, size_t limit, const char* format, ...);
+int ATTR_WARN_PRINTF(1,2) OutputDebugStringF(const char* pszFormat, ...);
-/* It is not allowed to use va_start with a pass-by-reference argument.
- (C++ standard, 18.7, paragraph 3). Use a dummy argument to work around this, and use a
- macro to keep similar semantics.
+/*
+ Rationale for the real_strprintf / strprintf construction:
+ It is not allowed to use va_start with a pass-by-reference argument.
+ (C++ standard, 18.7, paragraph 3). Use a dummy argument to work around this, and use a
+ macro to keep similar semantics.
*/
+
+/** Overload strprintf for char*, so that GCC format type warnings can be given */
+std::string ATTR_WARN_PRINTF(1,3) real_strprintf(const char *format, int dummy, ...);
+/** Overload strprintf for std::string, to be able to use it with _ (translation).
+ * This will not support GCC format type warnings (-Wformat) so be careful.
+ */
std::string real_strprintf(const std::string &format, int dummy, ...);
#define strprintf(format, ...) real_strprintf(format, 0, __VA_ARGS__)
+std::string vstrprintf(const char *format, va_list ap);
+
+bool ATTR_WARN_PRINTF(1,2) error(const char *format, ...);
+
+/* Redefine printf so that it directs output to debug.log
+ *
+ * Do this *after* defining the other printf-like functions, because otherwise the
+ * __attribute__((format(printf,X,Y))) gets expanded to __attribute__((format(OutputDebugStringF,X,Y)))
+ * which confuses gcc.
+ */
+#define printf OutputDebugStringF
-bool error(const char *format, ...);
void LogException(std::exception* pex, const char* pszThread);
void PrintException(std::exception* pex, const char* pszThread);
void PrintExceptionContinue(std::exception* pex, const char* pszThread);
@@ -153,18 +187,25 @@ std::vector<unsigned char> DecodeBase64(const char* p, bool* pfInvalid = NULL);
std::string DecodeBase64(const std::string& str);
std::string EncodeBase64(const unsigned char* pch, size_t len);
std::string EncodeBase64(const std::string& str);
+std::vector<unsigned char> DecodeBase32(const char* p, bool* pfInvalid = NULL);
+std::string DecodeBase32(const std::string& str);
+std::string EncodeBase32(const unsigned char* pch, size_t len);
+std::string EncodeBase32(const std::string& str);
void ParseParameters(int argc, const char*const argv[]);
bool WildcardMatch(const char* psz, const char* mask);
bool WildcardMatch(const std::string& str, const std::string& mask);
+void FileCommit(FILE *fileout);
int GetFilesize(FILE* file);
+bool RenameOver(boost::filesystem::path src, boost::filesystem::path dest);
boost::filesystem::path GetDefaultDataDir();
const boost::filesystem::path &GetDataDir(bool fNetSpecific = true);
boost::filesystem::path GetConfigFile();
boost::filesystem::path GetPidFile();
void CreatePidFile(const boost::filesystem::path &path, pid_t pid);
void ReadConfigFile(std::map<std::string, std::string>& mapSettingsRet, std::map<std::string, std::vector<std::string> >& mapMultiSettingsRet);
-bool GetStartOnSystemStartup();
-bool SetStartOnSystemStartup(bool fAutoStart);
+#ifdef WIN32
+boost::filesystem::path GetSpecialFolderPath(int nFolder, bool fCreate = true);
+#endif
void ShrinkDebugFile();
int GetRandInt(int nMax);
uint64 GetRand(uint64 nMax);
@@ -175,6 +216,7 @@ int64 GetAdjustedTime();
std::string FormatFullVersion();
std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector<std::string>& comments);
void AddTimeData(const CNetAddr& ip, int64 nTime);
+void runCommand(std::string strCommand);
@@ -184,154 +226,6 @@ void AddTimeData(const CNetAddr& ip, int64 nTime);
-
-
-/** Wrapped boost mutex: supports recursive locking, but no waiting */
-typedef boost::interprocess::interprocess_recursive_mutex CCriticalSection;
-
-/** Wrapped boost mutex: supports waiting but not recursive locking */
-typedef boost::interprocess::interprocess_mutex CWaitableCriticalSection;
-
-#ifdef DEBUG_LOCKORDER
-void EnterCritical(const char* pszName, const char* pszFile, int nLine, void* cs, bool fTry = false);
-void LeaveCritical();
-#else
-void static inline EnterCritical(const char* pszName, const char* pszFile, int nLine, void* cs, bool fTry = false) {}
-void static inline LeaveCritical() {}
-#endif
-
-/** Wrapper around boost::interprocess::scoped_lock */
-template<typename Mutex>
-class CMutexLock
-{
-private:
- boost::interprocess::scoped_lock<Mutex> lock;
-public:
-
- void Enter(const char* pszName, const char* pszFile, int nLine)
- {
- if (!lock.owns())
- {
- EnterCritical(pszName, pszFile, nLine, (void*)(lock.mutex()));
-#ifdef DEBUG_LOCKCONTENTION
- if (!lock.try_lock())
- {
- printf("LOCKCONTENTION: %s\n", pszName);
- printf("Locker: %s:%d\n", pszFile, nLine);
-#endif
- lock.lock();
-#ifdef DEBUG_LOCKCONTENTION
- }
-#endif
- }
- }
-
- void Leave()
- {
- if (lock.owns())
- {
- lock.unlock();
- LeaveCritical();
- }
- }
-
- bool TryEnter(const char* pszName, const char* pszFile, int nLine)
- {
- if (!lock.owns())
- {
- EnterCritical(pszName, pszFile, nLine, (void*)(lock.mutex()), true);
- lock.try_lock();
- if (!lock.owns())
- LeaveCritical();
- }
- return lock.owns();
- }
-
- CMutexLock(Mutex& mutexIn, const char* pszName, const char* pszFile, int nLine, bool fTry = false) : lock(mutexIn, boost::interprocess::defer_lock)
- {
- if (fTry)
- TryEnter(pszName, pszFile, nLine);
- else
- Enter(pszName, pszFile, nLine);
- }
-
- ~CMutexLock()
- {
- if (lock.owns())
- LeaveCritical();
- }
-
- operator bool()
- {
- return lock.owns();
- }
-
- boost::interprocess::scoped_lock<Mutex> &GetLock()
- {
- return lock;
- }
-};
-
-typedef CMutexLock<CCriticalSection> CCriticalBlock;
-
-#define LOCK(cs) CCriticalBlock criticalblock(cs, #cs, __FILE__, __LINE__)
-#define LOCK2(cs1,cs2) CCriticalBlock criticalblock1(cs1, #cs1, __FILE__, __LINE__),criticalblock2(cs2, #cs2, __FILE__, __LINE__)
-#define TRY_LOCK(cs,name) CCriticalBlock name(cs, #cs, __FILE__, __LINE__, true)
-
-#define ENTER_CRITICAL_SECTION(cs) \
- { \
- EnterCritical(#cs, __FILE__, __LINE__, (void*)(&cs)); \
- (cs).lock(); \
- }
-
-#define LEAVE_CRITICAL_SECTION(cs) \
- { \
- (cs).unlock(); \
- LeaveCritical(); \
- }
-
-#ifdef MAC_OSX
-// boost::interprocess::interprocess_semaphore seems to spinlock on OSX; prefer polling instead
-class CSemaphore
-{
-private:
- CCriticalSection cs;
- int val;
-
-public:
- CSemaphore(int init) : val(init) {}
-
- void wait() {
- do {
- {
- LOCK(cs);
- if (val>0) {
- val--;
- return;
- }
- }
- Sleep(100);
- } while(1);
- }
-
- bool try_wait() {
- LOCK(cs);
- if (val>0) {
- val--;
- return true;
- }
- return false;
- }
-
- void post() {
- LOCK(cs);
- val++;
- }
-};
-#else
-typedef boost::interprocess::interprocess_semaphore CSemaphore;
-#endif
-
inline std::string i64tostr(int64 n)
{
return strprintf("%"PRI64d, n);
@@ -383,9 +277,9 @@ inline int64 abs64(int64 n)
template<typename T>
std::string HexStr(const T itbegin, const T itend, bool fSpaces=false)
{
- std::vector<char> rv;
- static char hexmap[16] = { '0', '1', '2', '3', '4', '5', '6', '7',
- '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
+ std::string rv;
+ static const char hexmap[16] = { '0', '1', '2', '3', '4', '5', '6', '7',
+ '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
rv.reserve((itend-itbegin)*3);
for(T it = itbegin; it < itend; ++it)
{
@@ -396,7 +290,7 @@ std::string HexStr(const T itbegin, const T itend, bool fSpaces=false)
rv.push_back(hexmap[val&15]);
}
- return std::string(rv.begin(), rv.end());
+ return rv;
}
inline std::string HexStr(const std::vector<unsigned char>& vch, bool fSpaces=false)
@@ -512,20 +406,6 @@ bool SoftSetBoolArg(const std::string& strArg, bool fValue);
-// Randomize the stack to help protect against buffer overrun exploits
-#define IMPLEMENT_RANDOMIZE_STACK(ThreadFn) \
- { \
- static char nLoops; \
- if (nLoops <= 0) \
- nLoops = GetRand(20) + 1; \
- if (nLoops-- > 1) \
- { \
- ThreadFn; \
- return; \
- } \
- }
-
-
template<typename T1>
inline uint256 Hash(const T1 pbegin, const T1 pend)
{
@@ -537,6 +417,46 @@ inline uint256 Hash(const T1 pbegin, const T1 pend)
return hash2;
}
+class CHashWriter
+{
+private:
+ SHA256_CTX ctx;
+
+public:
+ int nType;
+ int nVersion;
+
+ void Init() {
+ SHA256_Init(&ctx);
+ }
+
+ CHashWriter(int nTypeIn, int nVersionIn) : nType(nTypeIn), nVersion(nVersionIn) {
+ Init();
+ }
+
+ CHashWriter& write(const char *pch, size_t size) {
+ SHA256_Update(&ctx, pch, size);
+ return (*this);
+ }
+
+ // invalidates the object
+ uint256 GetHash() {
+ uint256 hash1;
+ SHA256_Final((unsigned char*)&hash1, &ctx);
+ uint256 hash2;
+ SHA256((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
+ return hash2;
+ }
+
+ template<typename T>
+ CHashWriter& operator<<(const T& obj) {
+ // Serialize to this stream
+ ::Serialize(*this, obj, nType, nVersion);
+ return (*this);
+ }
+};
+
+
template<typename T1, typename T2>
inline uint256 Hash(const T1 p1begin, const T1 p1end,
const T2 p2begin, const T2 p2end)
@@ -574,13 +494,9 @@ inline uint256 Hash(const T1 p1begin, const T1 p1end,
template<typename T>
uint256 SerializeHash(const T& obj, int nType=SER_GETHASH, int nVersion=PROTOCOL_VERSION)
{
- // Most of the time is spent allocating and deallocating CDataStream's
- // buffer. If this ever needs to be optimized further, make a CStaticStream
- // class with its buffer on the stack.
- CDataStream ss(nType, nVersion);
- ss.reserve(10000);
+ CHashWriter ss(nType, nVersion);
ss << obj;
- return Hash(ss.begin(), ss.end());
+ return ss.GetHash();
}
inline uint160 Hash160(const std::vector<unsigned char>& vch)
@@ -593,7 +509,7 @@ inline uint160 Hash160(const std::vector<unsigned char>& vch)
}
-/** Median filter over a stream of values.
+/** Median filter over a stream of values.
* Returns the median of the last N numbers
*/
template <typename T> class CMedianFilter
@@ -610,7 +526,7 @@ public:
vValues.push_back(initial_value);
vSorted = vValues;
}
-
+
void input(T value)
{
if(vValues.size() == nSize)
@@ -649,65 +565,14 @@ public:
}
};
+bool NewThread(void(*pfn)(void*), void* parg);
-
-
-
-
-
-
-
-
-// Note: It turns out we might have been able to use boost::thread
-// by using TerminateThread(boost::thread.native_handle(), 0);
#ifdef WIN32
-typedef HANDLE pthread_t;
-
-inline pthread_t CreateThread(void(*pfn)(void*), void* parg, bool fWantHandle=false)
-{
- DWORD nUnused = 0;
- HANDLE hthread =
- CreateThread(
- NULL, // default security
- 0, // inherit stack size from parent
- (LPTHREAD_START_ROUTINE)pfn, // function pointer
- parg, // argument
- 0, // creation option, start immediately
- &nUnused); // thread identifier
- if (hthread == NULL)
- {
- printf("Error: CreateThread() returned %d\n", GetLastError());
- return (pthread_t)0;
- }
- if (!fWantHandle)
- {
- CloseHandle(hthread);
- return (pthread_t)-1;
- }
- return hthread;
-}
-
inline void SetThreadPriority(int nPriority)
{
SetThreadPriority(GetCurrentThread(), nPriority);
}
#else
-inline pthread_t CreateThread(void(*pfn)(void*), void* parg, bool fWantHandle=false)
-{
- pthread_t hthread = 0;
- int ret = pthread_create(&hthread, NULL, (void*(*)(void*))pfn, parg);
- if (ret != 0)
- {
- printf("Error: pthread_create() returned %d\n", ret);
- return (pthread_t)0;
- }
- if (!fWantHandle)
- {
- pthread_detach(hthread);
- return (pthread_t)-1;
- }
- return hthread;
-}
#define THREAD_PRIORITY_LOWEST PRIO_MAX
#define THREAD_PRIORITY_BELOW_NORMAL 2
@@ -731,9 +596,7 @@ inline void ExitThread(size_t nExitCode)
}
#endif
-
-
-
+void RenameThread(const char* name);
inline uint32_t ByteReverse(uint32_t value)
{
diff --git a/src/version.cpp b/src/version.cpp
index 60b7aae2e5..8af406feab 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -39,13 +39,11 @@ const std::string CLIENT_NAME("Satoshi");
# define GIT_COMMIT_DATE "$Format:%cD"
#endif
-#define STRINGIFY(s) #s
-
#define BUILD_DESC_FROM_COMMIT(maj,min,rev,build,commit) \
- "v" STRINGIFY(maj) "." STRINGIFY(min) "." STRINGIFY(rev) "." STRINGIFY(build) "-g" commit
+ "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-g" commit
#define BUILD_DESC_FROM_UNKNOWN(maj,min,rev,build) \
- "v" STRINGIFY(maj) "." STRINGIFY(min) "." STRINGIFY(rev) "." STRINGIFY(build) "-unk"
+ "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk"
#ifndef BUILD_DESC
# ifdef GIT_COMMIT_ID
diff --git a/src/version.h b/src/version.h
index 38bf9ce45a..b66d056928 100644
--- a/src/version.h
+++ b/src/version.h
@@ -4,21 +4,16 @@
#ifndef BITCOIN_VERSION_H
#define BITCOIN_VERSION_H
+#include "clientversion.h"
#include <string>
//
// client versioning
//
-// These need to be macros, as version.cpp's voodoo requires it
-#define CLIENT_VERSION_MAJOR 0
-#define CLIENT_VERSION_MINOR 6
-#define CLIENT_VERSION_REVISION 4
-#define CLIENT_VERSION_BUILD 0
-
static const int CLIENT_VERSION =
1000000 * CLIENT_VERSION_MAJOR
- + 10000 * CLIENT_VERSION_MINOR
+ + 10000 * CLIENT_VERSION_MINOR
+ 100 * CLIENT_VERSION_REVISION
+ 1 * CLIENT_VERSION_BUILD;
@@ -30,7 +25,7 @@ extern const std::string CLIENT_DATE;
// network protocol versioning
//
-static const int PROTOCOL_VERSION = 60001;
+static const int PROTOCOL_VERSION = 60002;
// earlier versions not supported as of Feb 2012, and are disconnected
static const int MIN_PROTO_VERSION = 209;
@@ -46,4 +41,7 @@ static const int NOBLKS_VERSION_END = 32400;
// BIP 0031, pong message, is enabled for all versions AFTER this one
static const int BIP0031_VERSION = 60000;
+// "mempool" command, enhanced "getdata" behavior starts with this version:
+static const int MEMPOOL_GD_VERSION = 60002;
+
#endif
diff --git a/src/wallet.cpp b/src/wallet.cpp
index c115a53340..5fceea7633 100644
--- a/src/wallet.cpp
+++ b/src/wallet.cpp
@@ -7,6 +7,7 @@
#include "walletdb.h"
#include "crypter.h"
#include "ui_interface.h"
+#include "base58.h"
using namespace std;
@@ -16,7 +17,16 @@ using namespace std;
// mapWallet
//
-std::vector<unsigned char> CWallet::GenerateNewKey()
+struct CompareValueOnly
+{
+ bool operator()(const pair<int64, pair<const CWalletTx*, unsigned int> >& t1,
+ const pair<int64, pair<const CWalletTx*, unsigned int> >& t2) const
+ {
+ return t1.first < t2.first;
+ }
+};
+
+CPubKey CWallet::GenerateNewKey()
{
bool fCompressed = CanSupportFeature(FEATURE_COMPRPUBKEY); // default to compressed public keys if we want 0.6.0 wallets
@@ -44,7 +54,7 @@ bool CWallet::AddKey(const CKey& key)
return true;
}
-bool CWallet::AddCryptedKey(const vector<unsigned char> &vchPubKey, const vector<unsigned char> &vchCryptedSecret)
+bool CWallet::AddCryptedKey(const CPubKey &vchPubKey, const vector<unsigned char> &vchCryptedSecret)
{
if (!CCryptoKeyStore::AddCryptedKey(vchPubKey, vchCryptedSecret))
return false;
@@ -274,11 +284,48 @@ bool CWallet::EncryptWallet(const SecureString& strWalletPassphrase)
// Need to completely rewrite the wallet file; if we don't, bdb might keep
// bits of the unencrypted private key in slack space in the database file.
CDB::Rewrite(strWalletFile);
+
}
+ NotifyStatusChanged(this);
return true;
}
+int64 CWallet::IncOrderPosNext(CWalletDB *pwalletdb)
+{
+ int64 nRet = nOrderPosNext++;
+ if (pwalletdb) {
+ pwalletdb->WriteOrderPosNext(nOrderPosNext);
+ } else {
+ CWalletDB(strWalletFile).WriteOrderPosNext(nOrderPosNext);
+ }
+ return nRet;
+}
+
+CWallet::TxItems CWallet::OrderedTxItems(std::list<CAccountingEntry>& acentries, std::string strAccount)
+{
+ CWalletDB walletdb(strWalletFile);
+
+ // First: get all CWalletTx and CAccountingEntry into a sorted-by-order multimap.
+ TxItems txOrdered;
+
+ // Note: maintaining indices in the database of (account,time) --> txid and (account, time) --> acentry
+ // would make this much faster for applications that do this a lot.
+ for (map<uint256, CWalletTx>::iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
+ {
+ CWalletTx* wtx = &((*it).second);
+ txOrdered.insert(make_pair(wtx->nOrderPos, TxPair(wtx, (CAccountingEntry*)0)));
+ }
+ acentries.clear();
+ walletdb.ListAccountCreditDebit(strAccount, acentries);
+ BOOST_FOREACH(CAccountingEntry& entry, acentries)
+ {
+ txOrdered.insert(make_pair(entry.nOrderPos, TxPair((CWalletTx*)0, &entry)));
+ }
+
+ return txOrdered;
+}
+
void CWallet::WalletUpdateSpent(const CTransaction &tx)
{
// Anytime a signature is successfully verified, it's proof the outpoint is spent.
@@ -292,12 +339,14 @@ void CWallet::WalletUpdateSpent(const CTransaction &tx)
if (mi != mapWallet.end())
{
CWalletTx& wtx = (*mi).second;
- if (!wtx.IsSpent(txin.prevout.n) && IsMine(wtx.vout[txin.prevout.n]))
+ if (txin.prevout.n >= wtx.vout.size())
+ printf("WalletUpdateSpent: bad wtx %s\n", wtx.GetHash().ToString().c_str());
+ else if (!wtx.IsSpent(txin.prevout.n) && IsMine(wtx.vout[txin.prevout.n]))
{
printf("WalletUpdateSpent found spent coin %sbc %s\n", FormatMoney(wtx.GetCredit()).c_str(), wtx.GetHash().ToString().c_str());
wtx.MarkSpent(txin.prevout.n);
wtx.WriteToDisk();
- vWalletUpdated.push_back(txin.prevout.hash);
+ NotifyTransactionChanged(this, txin.prevout.hash, CT_UPDATED);
}
}
}
@@ -324,7 +373,56 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn)
wtx.BindWallet(this);
bool fInsertedNew = ret.second;
if (fInsertedNew)
+ {
wtx.nTimeReceived = GetAdjustedTime();
+ wtx.nOrderPos = IncOrderPosNext();
+
+ wtx.nTimeSmart = wtx.nTimeReceived;
+ if (wtxIn.hashBlock != 0)
+ {
+ if (mapBlockIndex.count(wtxIn.hashBlock))
+ {
+ unsigned int latestNow = wtx.nTimeReceived;
+ unsigned int latestEntry = 0;
+ {
+ // Tolerate times up to the last timestamp in the wallet not more than 5 minutes into the future
+ int64 latestTolerated = latestNow + 300;
+ std::list<CAccountingEntry> acentries;
+ TxItems txOrdered = OrderedTxItems(acentries);
+ for (TxItems::reverse_iterator it = txOrdered.rbegin(); it != txOrdered.rend(); ++it)
+ {
+ CWalletTx *const pwtx = (*it).second.first;
+ if (pwtx == &wtx)
+ continue;
+ CAccountingEntry *const pacentry = (*it).second.second;
+ int64 nSmartTime;
+ if (pwtx)
+ {
+ nSmartTime = pwtx->nTimeSmart;
+ if (!nSmartTime)
+ nSmartTime = pwtx->nTimeReceived;
+ }
+ else
+ nSmartTime = pacentry->nTime;
+ if (nSmartTime <= latestTolerated)
+ {
+ latestEntry = nSmartTime;
+ if (nSmartTime > latestNow)
+ latestNow = nSmartTime;
+ break;
+ }
+ }
+ }
+
+ unsigned int& blocktime = mapBlockIndex[wtxIn.hashBlock]->nTime;
+ wtx.nTimeSmart = std::max(latestEntry, std::min(blocktime, latestNow));
+ }
+ else
+ printf("AddToWallet() : found %s in block %s not in index\n",
+ wtxIn.GetHash().ToString().substr(0,10).c_str(),
+ wtxIn.hashBlock.ToString().c_str());
+ }
+ }
bool fUpdated = false;
if (!fInsertedNew)
@@ -359,29 +457,26 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn)
#ifndef QT_GUI
// If default receiving address gets used, replace it with a new one
CScript scriptDefaultKey;
- scriptDefaultKey.SetBitcoinAddress(vchDefaultKey);
+ scriptDefaultKey.SetDestination(vchDefaultKey.GetID());
BOOST_FOREACH(const CTxOut& txout, wtx.vout)
{
if (txout.scriptPubKey == scriptDefaultKey)
{
- std::vector<unsigned char> newDefaultKey;
+ CPubKey newDefaultKey;
if (GetKeyFromPool(newDefaultKey, false))
{
SetDefaultKey(newDefaultKey);
- SetAddressBookName(CBitcoinAddress(vchDefaultKey), "");
+ SetAddressBookName(vchDefaultKey.GetID(), "");
}
}
}
#endif
- // Notify UI
- vWalletUpdated.push_back(hash);
-
// since AddToWallet is called directly for self-originating transactions, check for consumption of own coins
WalletUpdateSpent(wtx);
- }
- // Refresh UI
- MainFrameRepaint();
+ // Notify UI of new or updated transaction
+ NotifyTransactionChanged(this, hash, fInsertedNew ? CT_NEW : CT_UPDATED);
+ }
return true;
}
@@ -456,7 +551,7 @@ int64 CWallet::GetDebit(const CTxIn &txin) const
bool CWallet::IsChange(const CTxOut& txout) const
{
- CBitcoinAddress address;
+ CTxDestination address;
// TODO: fix handling of 'change' outputs. The assumption is that any
// payment to a TX_PUBKEYHASH that is mine but isn't in the address book
@@ -465,7 +560,7 @@ bool CWallet::IsChange(const CTxOut& txout) const
// a better way of identifying which outputs are 'the send' and which are
// 'the change' will need to be implemented (maybe extend CWalletTx to remember
// which output, if any, was change).
- if (ExtractAddress(txout.scriptPubKey, address) && HaveKey(address))
+ if (ExtractDestination(txout.scriptPubKey, address) && ::IsMine(*this, address))
{
LOCK(cs_wallet);
if (!mapAddressBook.count(address))
@@ -476,7 +571,8 @@ bool CWallet::IsChange(const CTxOut& txout) const
int64 CWalletTx::GetTxTime() const
{
- return nTimeReceived;
+ int64 n = nTimeSmart;
+ return n ? n : nTimeReceived;
}
int CWalletTx::GetRequestCount() const
@@ -518,23 +614,14 @@ int CWalletTx::GetRequestCount() const
return nRequests;
}
-void CWalletTx::GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, list<pair<CBitcoinAddress, int64> >& listReceived,
- list<pair<CBitcoinAddress, int64> >& listSent, int64& nFee, string& strSentAccount) const
+void CWalletTx::GetAmounts(list<pair<CTxDestination, int64> >& listReceived,
+ list<pair<CTxDestination, int64> >& listSent, int64& nFee, string& strSentAccount) const
{
- nGeneratedImmature = nGeneratedMature = nFee = 0;
+ nFee = 0;
listReceived.clear();
listSent.clear();
strSentAccount = strFromAccount;
- if (IsCoinBase())
- {
- if (GetBlocksToMaturity() > 0)
- nGeneratedImmature = pwallet->GetCredit(*this);
- else
- nGeneratedMature = GetCredit();
- return;
- }
-
// Compute fee:
int64 nDebit = GetDebit();
if (nDebit > 0) // debit>0 means we signed/sent this transaction
@@ -546,13 +633,12 @@ void CWalletTx::GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, l
// Sent/received.
BOOST_FOREACH(const CTxOut& txout, vout)
{
- CBitcoinAddress address;
+ CTxDestination address;
vector<unsigned char> vchPubKey;
- if (!ExtractAddress(txout.scriptPubKey, address))
+ if (!ExtractDestination(txout.scriptPubKey, address))
{
printf("CWalletTx::GetAmounts: Unknown transaction type found, txid %s\n",
this->GetHash().ToString().c_str());
- address = " unknown ";
}
// Don't report 'change' txouts
@@ -568,33 +654,30 @@ void CWalletTx::GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, l
}
-void CWalletTx::GetAccountAmounts(const string& strAccount, int64& nGenerated, int64& nReceived,
+void CWalletTx::GetAccountAmounts(const string& strAccount, int64& nReceived,
int64& nSent, int64& nFee) const
{
- nGenerated = nReceived = nSent = nFee = 0;
+ nReceived = nSent = nFee = 0;
- int64 allGeneratedImmature, allGeneratedMature, allFee;
- allGeneratedImmature = allGeneratedMature = allFee = 0;
+ int64 allFee;
string strSentAccount;
- list<pair<CBitcoinAddress, int64> > listReceived;
- list<pair<CBitcoinAddress, int64> > listSent;
- GetAmounts(allGeneratedImmature, allGeneratedMature, listReceived, listSent, allFee, strSentAccount);
+ list<pair<CTxDestination, int64> > listReceived;
+ list<pair<CTxDestination, int64> > listSent;
+ GetAmounts(listReceived, listSent, allFee, strSentAccount);
- if (strAccount == "")
- nGenerated = allGeneratedMature;
if (strAccount == strSentAccount)
{
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress,int64)& s, listSent)
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination,int64)& s, listSent)
nSent += s.second;
nFee = allFee;
}
{
LOCK(pwallet->cs_wallet);
- BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress,int64)& r, listReceived)
+ BOOST_FOREACH(const PAIRTYPE(CTxDestination,int64)& r, listReceived)
{
if (pwallet->mapAddressBook.count(r.first))
{
- map<CBitcoinAddress, string>::const_iterator mi = pwallet->mapAddressBook.find(r.first);
+ map<CTxDestination, string>::const_iterator mi = pwallet->mapAddressBook.find(r.first);
if (mi != pwallet->mapAddressBook.end() && (*mi).second == strAccount)
nReceived += r.second;
}
@@ -727,7 +810,7 @@ void CWallet::ReacceptWalletTransactions()
// Update fSpent if a tx got spent somewhere else by a copy of wallet.dat
if (txindex.vSpent.size() != wtx.vout.size())
{
- printf("ERROR: ReacceptWalletTransactions() : txindex.vSpent.size() %d != wtx.vout.size() %d\n", txindex.vSpent.size(), wtx.vout.size());
+ printf("ERROR: ReacceptWalletTransactions() : txindex.vSpent.size() %"PRIszu" != wtx.vout.size() %"PRIszu"\n", txindex.vSpent.size(), wtx.vout.size());
continue;
}
for (unsigned int i = 0; i < txindex.vSpent.size(); i++)
@@ -852,9 +935,8 @@ int64 CWallet::GetBalance() const
for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
{
const CWalletTx* pcoin = &(*it).second;
- if (!pcoin->IsFinal() || !pcoin->IsConfirmed())
- continue;
- nTotal += pcoin->GetAvailableCredit();
+ if (pcoin->IsFinal() && pcoin->IsConfirmed())
+ nTotal += pcoin->GetAvailableCredit();
}
}
@@ -869,106 +951,64 @@ int64 CWallet::GetUnconfirmedBalance() const
for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
{
const CWalletTx* pcoin = &(*it).second;
- if (pcoin->IsFinal() && pcoin->IsConfirmed())
- continue;
- nTotal += pcoin->GetAvailableCredit();
+ if (!pcoin->IsFinal() || !pcoin->IsConfirmed())
+ nTotal += pcoin->GetAvailableCredit();
}
}
return nTotal;
}
-bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfTheirs, set<pair<const CWalletTx*,unsigned int> >& setCoinsRet, int64& nValueRet) const
+int64 CWallet::GetImmatureBalance() const
{
- setCoinsRet.clear();
- nValueRet = 0;
+ int64 nTotal = 0;
+ {
+ LOCK(cs_wallet);
+ for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
+ {
+ const CWalletTx& pcoin = (*it).second;
+ if (pcoin.IsCoinBase() && pcoin.GetBlocksToMaturity() > 0 && pcoin.IsInMainChain())
+ nTotal += GetCredit(pcoin);
+ }
+ }
+ return nTotal;
+}
- // List of values less than target
- pair<int64, pair<const CWalletTx*,unsigned int> > coinLowestLarger;
- coinLowestLarger.first = std::numeric_limits<int64>::max();
- coinLowestLarger.second.first = NULL;
- vector<pair<int64, pair<const CWalletTx*,unsigned int> > > vValue;
- int64 nTotalLower = 0;
+// populate vCoins with vector of spendable COutputs
+void CWallet::AvailableCoins(vector<COutput>& vCoins, bool fOnlyConfirmed) const
+{
+ vCoins.clear();
{
- LOCK(cs_wallet);
- vector<const CWalletTx*> vCoins;
- vCoins.reserve(mapWallet.size());
- for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
- vCoins.push_back(&(*it).second);
- random_shuffle(vCoins.begin(), vCoins.end(), GetRandInt);
-
- BOOST_FOREACH(const CWalletTx* pcoin, vCoins)
- {
- if (!pcoin->IsFinal() || !pcoin->IsConfirmed())
+ LOCK(cs_wallet);
+ for (map<uint256, CWalletTx>::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it)
+ {
+ const CWalletTx* pcoin = &(*it).second;
+
+ if (!pcoin->IsFinal())
continue;
- if (pcoin->IsCoinBase() && pcoin->GetBlocksToMaturity() > 0)
+ if (fOnlyConfirmed && !pcoin->IsConfirmed())
continue;
- int nDepth = pcoin->GetDepthInMainChain();
- if (nDepth < (pcoin->IsFromMe() ? nConfMine : nConfTheirs))
+ if (pcoin->IsCoinBase() && pcoin->GetBlocksToMaturity() > 0)
continue;
for (unsigned int i = 0; i < pcoin->vout.size(); i++)
- {
- if (pcoin->IsSpent(i) || !IsMine(pcoin->vout[i]))
- continue;
-
- int64 n = pcoin->vout[i].nValue;
-
- if (n <= 0)
- continue;
-
- pair<int64,pair<const CWalletTx*,unsigned int> > coin = make_pair(n,make_pair(pcoin,i));
-
- if (n == nTargetValue)
- {
- setCoinsRet.insert(coin.second);
- nValueRet += coin.first;
- return true;
- }
- else if (n < nTargetValue + CENT)
- {
- vValue.push_back(coin);
- nTotalLower += n;
- }
- else if (n < coinLowestLarger.first)
- {
- coinLowestLarger = coin;
- }
- }
- }
- }
-
- if (nTotalLower == nTargetValue || nTotalLower == nTargetValue + CENT)
- {
- for (unsigned int i = 0; i < vValue.size(); ++i)
- {
- setCoinsRet.insert(vValue[i].second);
- nValueRet += vValue[i].first;
+ if (!(pcoin->IsSpent(i)) && IsMine(pcoin->vout[i]) && pcoin->vout[i].nValue > 0)
+ vCoins.push_back(COutput(pcoin, i, pcoin->GetDepthInMainChain()));
}
- return true;
- }
-
- if (nTotalLower < nTargetValue + (coinLowestLarger.second.first ? CENT : 0))
- {
- if (coinLowestLarger.second.first == NULL)
- return false;
- setCoinsRet.insert(coinLowestLarger.second);
- nValueRet += coinLowestLarger.first;
- return true;
}
+}
- if (nTotalLower >= nTargetValue + CENT)
- nTargetValue += CENT;
-
- // Solve subset sum by stochastic approximation
- sort(vValue.rbegin(), vValue.rend());
+static void ApproximateBestSubset(vector<pair<int64, pair<const CWalletTx*,unsigned int> > >vValue, int64 nTotalLower, int64 nTargetValue,
+ vector<char>& vfBest, int64& nBest, int iterations = 1000)
+{
vector<char> vfIncluded;
- vector<char> vfBest(vValue.size(), true);
- int64 nBest = nTotalLower;
- for (int nRep = 0; nRep < 1000 && nBest != nTargetValue; nRep++)
+ vfBest.assign(vValue.size(), true);
+ nBest = nTotalLower;
+
+ for (int nRep = 0; nRep < iterations && nBest != nTargetValue; nRep++)
{
vfIncluded.assign(vValue.size(), false);
int64 nTotal = 0;
@@ -996,9 +1036,84 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfThe
}
}
}
+}
+
+bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfTheirs, vector<COutput> vCoins,
+ set<pair<const CWalletTx*,unsigned int> >& setCoinsRet, int64& nValueRet) const
+{
+ setCoinsRet.clear();
+ nValueRet = 0;
+
+ // List of values less than target
+ pair<int64, pair<const CWalletTx*,unsigned int> > coinLowestLarger;
+ coinLowestLarger.first = std::numeric_limits<int64>::max();
+ coinLowestLarger.second.first = NULL;
+ vector<pair<int64, pair<const CWalletTx*,unsigned int> > > vValue;
+ int64 nTotalLower = 0;
+
+ random_shuffle(vCoins.begin(), vCoins.end(), GetRandInt);
+
+ BOOST_FOREACH(COutput output, vCoins)
+ {
+ const CWalletTx *pcoin = output.tx;
+
+ if (output.nDepth < (pcoin->IsFromMe() ? nConfMine : nConfTheirs))
+ continue;
+
+ int i = output.i;
+ int64 n = pcoin->vout[i].nValue;
+
+ pair<int64,pair<const CWalletTx*,unsigned int> > coin = make_pair(n,make_pair(pcoin, i));
+
+ if (n == nTargetValue)
+ {
+ setCoinsRet.insert(coin.second);
+ nValueRet += coin.first;
+ return true;
+ }
+ else if (n < nTargetValue + CENT)
+ {
+ vValue.push_back(coin);
+ nTotalLower += n;
+ }
+ else if (n < coinLowestLarger.first)
+ {
+ coinLowestLarger = coin;
+ }
+ }
- // If the next larger is still closer, return it
- if (coinLowestLarger.second.first && coinLowestLarger.first - nTargetValue <= nBest - nTargetValue)
+ if (nTotalLower == nTargetValue)
+ {
+ for (unsigned int i = 0; i < vValue.size(); ++i)
+ {
+ setCoinsRet.insert(vValue[i].second);
+ nValueRet += vValue[i].first;
+ }
+ return true;
+ }
+
+ if (nTotalLower < nTargetValue)
+ {
+ if (coinLowestLarger.second.first == NULL)
+ return false;
+ setCoinsRet.insert(coinLowestLarger.second);
+ nValueRet += coinLowestLarger.first;
+ return true;
+ }
+
+ // Solve subset sum by stochastic approximation
+ sort(vValue.rbegin(), vValue.rend(), CompareValueOnly());
+ vector<char> vfBest;
+ int64 nBest;
+
+ ApproximateBestSubset(vValue, nTotalLower, nTargetValue, vfBest, nBest, 1000);
+ if (nBest != nTargetValue && nTotalLower >= nTargetValue + CENT)
+ ApproximateBestSubset(vValue, nTotalLower, nTargetValue + CENT, vfBest, nBest, 1000);
+
+ // If we have a bigger coin and (either the stochastic approximation didn't find a good solution,
+ // or the next bigger coin is closer), return the bigger coin
+ if (coinLowestLarger.second.first &&
+ ((nBest != nTargetValue && nBest < nTargetValue + CENT) || coinLowestLarger.first <= nBest))
{
setCoinsRet.insert(coinLowestLarger.second);
nValueRet += coinLowestLarger.first;
@@ -1024,9 +1139,12 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfThe
bool CWallet::SelectCoins(int64 nTargetValue, set<pair<const CWalletTx*,unsigned int> >& setCoinsRet, int64& nValueRet) const
{
- return (SelectCoinsMinConf(nTargetValue, 1, 6, setCoinsRet, nValueRet) ||
- SelectCoinsMinConf(nTargetValue, 1, 1, setCoinsRet, nValueRet) ||
- SelectCoinsMinConf(nTargetValue, 0, 1, setCoinsRet, nValueRet));
+ vector<COutput> vCoins;
+ AvailableCoins(vCoins);
+
+ return (SelectCoinsMinConf(nTargetValue, 1, 6, vCoins, setCoinsRet, nValueRet) ||
+ SelectCoinsMinConf(nTargetValue, 1, 1, vCoins, setCoinsRet, nValueRet) ||
+ SelectCoinsMinConf(nTargetValue, 0, 1, vCoins, setCoinsRet, nValueRet));
}
@@ -1096,14 +1214,14 @@ bool CWallet::CreateTransaction(const vector<pair<CScript, int64> >& vecSend, CW
// post-backup change.
// Reserve a new key pair from key pool
- vector<unsigned char> vchPubKey = reservekey.GetReservedKey();
+ CPubKey vchPubKey = reservekey.GetReservedKey();
// assert(mapKeys.count(vchPubKey));
// Fill a vout to ourself
// TODO: pass in scriptChange instead of reservekey so
// change transaction isn't always pay-to-bitcoin-address
CScript scriptChange;
- scriptChange.SetBitcoinAddress(vchPubKey);
+ scriptChange.SetDestination(vchPubKey.GetID());
// Insert change txn at random position:
vector<CTxOut>::iterator position = wtxNew.vout.begin()+GetRandInt(wtxNew.vout.size());
@@ -1183,7 +1301,7 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey)
coin.BindWallet(this);
coin.MarkSpent(txin.prevout.n);
coin.WriteToDisk();
- vWalletUpdated.push_back(coin.GetHash());
+ NotifyTransactionChanged(this, coin.GetHash(), CT_UPDATED);
}
if (fFileBacked)
@@ -1202,7 +1320,6 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey)
}
wtxNew.RelayWalletTransaction();
}
- MainFrameRepaint();
return true;
}
@@ -1231,19 +1348,18 @@ string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew,
return strError;
}
- if (fAskFee && !ThreadSafeAskFee(nFeeRequired, _("Sending...")))
+ if (fAskFee && !uiInterface.ThreadSafeAskFee(nFeeRequired, _("Sending...")))
return "ABORTED";
if (!CommitTransaction(wtxNew, reservekey))
return _("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.");
- MainFrameRepaint();
return "";
}
-string CWallet::SendMoneyToBitcoinAddress(const CBitcoinAddress& address, int64 nValue, CWalletTx& wtxNew, bool fAskFee)
+string CWallet::SendMoneyToDestination(const CTxDestination& address, int64 nValue, CWalletTx& wtxNew, bool fAskFee)
{
// Check amount
if (nValue <= 0)
@@ -1251,9 +1367,9 @@ string CWallet::SendMoneyToBitcoinAddress(const CBitcoinAddress& address, int64
if (nValue + nTransactionFee > GetBalance())
return _("Insufficient funds");
- // Parse bitcoin address
+ // Parse Bitcoin address
CScript scriptPubKey;
- scriptPubKey.SetBitcoinAddress(address);
+ scriptPubKey.SetDestination(address);
return SendMoney(scriptPubKey, nValue, wtxNew, fAskFee);
}
@@ -1261,12 +1377,12 @@ string CWallet::SendMoneyToBitcoinAddress(const CBitcoinAddress& address, int64
-int CWallet::LoadWallet(bool& fFirstRunRet)
+DBErrors CWallet::LoadWallet(bool& fFirstRunRet)
{
if (!fFileBacked)
return DB_LOAD_OK;
fFirstRunRet = false;
- int nLoadWalletRet = CWalletDB(strWalletFile,"cr+").LoadWallet(this);
+ DBErrors nLoadWalletRet = CWalletDB(strWalletFile,"cr+").LoadWallet(this);
if (nLoadWalletRet == DB_NEED_REWRITE)
{
if (CDB::Rewrite(strWalletFile, "\x04pool"))
@@ -1276,34 +1392,34 @@ int CWallet::LoadWallet(bool& fFirstRunRet)
// User will be prompted to unlock wallet the next operation
// the requires a new key.
}
- nLoadWalletRet = DB_NEED_REWRITE;
}
if (nLoadWalletRet != DB_LOAD_OK)
return nLoadWalletRet;
- fFirstRunRet = vchDefaultKey.empty();
+ fFirstRunRet = !vchDefaultKey.IsValid();
- CreateThread(ThreadFlushWalletDB, &strWalletFile);
+ NewThread(ThreadFlushWalletDB, &strWalletFile);
return DB_LOAD_OK;
}
-bool CWallet::SetAddressBookName(const CBitcoinAddress& address, const string& strName)
+bool CWallet::SetAddressBookName(const CTxDestination& address, const string& strName)
{
+ std::map<CTxDestination, std::string>::iterator mi = mapAddressBook.find(address);
mapAddressBook[address] = strName;
- AddressBookRepaint();
+ NotifyAddressBookChanged(this, address, strName, ::IsMine(*this, address), (mi == mapAddressBook.end()) ? CT_NEW : CT_UPDATED);
if (!fFileBacked)
return false;
- return CWalletDB(strWalletFile).WriteName(address.ToString(), strName);
+ return CWalletDB(strWalletFile).WriteName(CBitcoinAddress(address).ToString(), strName);
}
-bool CWallet::DelAddressBookName(const CBitcoinAddress& address)
+bool CWallet::DelAddressBookName(const CTxDestination& address)
{
mapAddressBook.erase(address);
- AddressBookRepaint();
+ NotifyAddressBookChanged(this, address, "", ::IsMine(*this, address), CT_DELETED);
if (!fFileBacked)
return false;
- return CWalletDB(strWalletFile).EraseName(address.ToString());
+ return CWalletDB(strWalletFile).EraseName(CBitcoinAddress(address).ToString());
}
@@ -1314,7 +1430,7 @@ void CWallet::PrintWallet(const CBlock& block)
if (mapWallet.count(block.vtx[0].GetHash()))
{
CWalletTx& wtx = mapWallet[block.vtx[0].GetHash()];
- printf(" mine: %d %d %d", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit());
+ printf(" mine: %d %d %"PRI64d"", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit());
}
}
printf("\n");
@@ -1334,7 +1450,7 @@ bool CWallet::GetTransaction(const uint256 &hashTx, CWalletTx& wtx)
return false;
}
-bool CWallet::SetDefaultKey(const std::vector<unsigned char> &vchPubKey)
+bool CWallet::SetDefaultKey(const CPubKey &vchPubKey)
{
if (fFileBacked)
{
@@ -1401,7 +1517,7 @@ bool CWallet::TopUpKeyPool()
if (!walletdb.WritePool(nEnd, CKeyPool(GenerateNewKey())))
throw runtime_error("TopUpKeyPool() : writing generated key failed");
setKeyPool.insert(nEnd);
- printf("keypool added key %"PRI64d", size=%d\n", nEnd, setKeyPool.size());
+ printf("keypool added key %"PRI64d", size=%"PRIszu"\n", nEnd, setKeyPool.size());
}
}
return true;
@@ -1410,7 +1526,7 @@ bool CWallet::TopUpKeyPool()
void CWallet::ReserveKeyFromKeyPool(int64& nIndex, CKeyPool& keypool)
{
nIndex = -1;
- keypool.vchPubKey.clear();
+ keypool.vchPubKey = CPubKey();
{
LOCK(cs_wallet);
@@ -1427,9 +1543,9 @@ void CWallet::ReserveKeyFromKeyPool(int64& nIndex, CKeyPool& keypool)
setKeyPool.erase(setKeyPool.begin());
if (!walletdb.ReadPool(nIndex, keypool))
throw runtime_error("ReserveKeyFromKeyPool() : read failed");
- if (!HaveKey(Hash160(keypool.vchPubKey)))
+ if (!HaveKey(keypool.vchPubKey.GetID()))
throw runtime_error("ReserveKeyFromKeyPool() : unknown key in key pool");
- assert(!keypool.vchPubKey.empty());
+ assert(keypool.vchPubKey.IsValid());
printf("keypool reserve %"PRI64d"\n", nIndex);
}
}
@@ -1470,7 +1586,7 @@ void CWallet::ReturnKey(int64 nIndex)
printf("keypool return %"PRI64d"\n", nIndex);
}
-bool CWallet::GetKeyFromPool(vector<unsigned char>& result, bool fAllowReuse)
+bool CWallet::GetKeyFromPool(CPubKey& result, bool fAllowReuse)
{
int64 nIndex = 0;
CKeyPool keypool;
@@ -1479,7 +1595,7 @@ bool CWallet::GetKeyFromPool(vector<unsigned char>& result, bool fAllowReuse)
ReserveKeyFromKeyPool(nIndex, keypool);
if (nIndex == -1)
{
- if (fAllowReuse && !vchDefaultKey.empty())
+ if (fAllowReuse && vchDefaultKey.IsValid())
{
result = vchDefaultKey;
return true;
@@ -1505,7 +1621,130 @@ int64 CWallet::GetOldestKeyPoolTime()
return keypool.nTime;
}
-vector<unsigned char> CReserveKey::GetReservedKey()
+std::map<CTxDestination, int64> CWallet::GetAddressBalances()
+{
+ map<CTxDestination, int64> balances;
+
+ {
+ LOCK(cs_wallet);
+ BOOST_FOREACH(PAIRTYPE(uint256, CWalletTx) walletEntry, mapWallet)
+ {
+ CWalletTx *pcoin = &walletEntry.second;
+
+ if (!pcoin->IsFinal() || !pcoin->IsConfirmed())
+ continue;
+
+ if (pcoin->IsCoinBase() && pcoin->GetBlocksToMaturity() > 0)
+ continue;
+
+ int nDepth = pcoin->GetDepthInMainChain();
+ if (nDepth < (pcoin->IsFromMe() ? 0 : 1))
+ continue;
+
+ for (unsigned int i = 0; i < pcoin->vout.size(); i++)
+ {
+ CTxDestination addr;
+ if (!IsMine(pcoin->vout[i]))
+ continue;
+ if(!ExtractDestination(pcoin->vout[i].scriptPubKey, addr))
+ continue;
+
+ int64 n = pcoin->IsSpent(i) ? 0 : pcoin->vout[i].nValue;
+
+ if (!balances.count(addr))
+ balances[addr] = 0;
+ balances[addr] += n;
+ }
+ }
+ }
+
+ return balances;
+}
+
+set< set<CTxDestination> > CWallet::GetAddressGroupings()
+{
+ set< set<CTxDestination> > groupings;
+ set<CTxDestination> grouping;
+
+ BOOST_FOREACH(PAIRTYPE(uint256, CWalletTx) walletEntry, mapWallet)
+ {
+ CWalletTx *pcoin = &walletEntry.second;
+
+ if (pcoin->vin.size() > 0 && IsMine(pcoin->vin[0]))
+ {
+ // group all input addresses with each other
+ BOOST_FOREACH(CTxIn txin, pcoin->vin)
+ {
+ CTxDestination address;
+ if(!ExtractDestination(mapWallet[txin.prevout.hash].vout[txin.prevout.n].scriptPubKey, address))
+ continue;
+ grouping.insert(address);
+ }
+
+ // group change with input addresses
+ BOOST_FOREACH(CTxOut txout, pcoin->vout)
+ if (IsChange(txout))
+ {
+ CWalletTx tx = mapWallet[pcoin->vin[0].prevout.hash];
+ CTxDestination txoutAddr;
+ if(!ExtractDestination(txout.scriptPubKey, txoutAddr))
+ continue;
+ grouping.insert(txoutAddr);
+ }
+ groupings.insert(grouping);
+ grouping.clear();
+ }
+
+ // group lone addrs by themselves
+ for (unsigned int i = 0; i < pcoin->vout.size(); i++)
+ if (IsMine(pcoin->vout[i]))
+ {
+ CTxDestination address;
+ if(!ExtractDestination(pcoin->vout[i].scriptPubKey, address))
+ continue;
+ grouping.insert(address);
+ groupings.insert(grouping);
+ grouping.clear();
+ }
+ }
+
+ set< set<CTxDestination>* > uniqueGroupings; // a set of pointers to groups of addresses
+ map< CTxDestination, set<CTxDestination>* > setmap; // map addresses to the unique group containing it
+ BOOST_FOREACH(set<CTxDestination> grouping, groupings)
+ {
+ // make a set of all the groups hit by this new group
+ set< set<CTxDestination>* > hits;
+ map< CTxDestination, set<CTxDestination>* >::iterator it;
+ BOOST_FOREACH(CTxDestination address, grouping)
+ if ((it = setmap.find(address)) != setmap.end())
+ hits.insert((*it).second);
+
+ // merge all hit groups into a new single group and delete old groups
+ set<CTxDestination>* merged = new set<CTxDestination>(grouping);
+ BOOST_FOREACH(set<CTxDestination>* hit, hits)
+ {
+ merged->insert(hit->begin(), hit->end());
+ uniqueGroupings.erase(hit);
+ delete hit;
+ }
+ uniqueGroupings.insert(merged);
+
+ // update setmap
+ BOOST_FOREACH(CTxDestination element, *merged)
+ setmap[element] = merged;
+ }
+
+ set< set<CTxDestination> > ret;
+ BOOST_FOREACH(set<CTxDestination>* uniqueGrouping, uniqueGroupings)
+ {
+ ret.insert(*uniqueGrouping);
+ delete uniqueGrouping;
+ }
+
+ return ret;
+}
+
+CPubKey CReserveKey::GetReservedKey()
{
if (nIndex == -1)
{
@@ -1515,11 +1754,11 @@ vector<unsigned char> CReserveKey::GetReservedKey()
vchPubKey = keypool.vchPubKey;
else
{
- printf("CReserveKey::GetReservedKey(): Warning: using default key instead of a new key, top up your keypool.");
+ printf("CReserveKey::GetReservedKey(): Warning: Using default key instead of a new key, top up your keypool!");
vchPubKey = pwallet->vchDefaultKey;
}
}
- assert(!vchPubKey.empty());
+ assert(vchPubKey.IsValid());
return vchPubKey;
}
@@ -1528,7 +1767,7 @@ void CReserveKey::KeepKey()
if (nIndex != -1)
pwallet->KeepKey(nIndex);
nIndex = -1;
- vchPubKey.clear();
+ vchPubKey = CPubKey();
}
void CReserveKey::ReturnKey()
@@ -1536,10 +1775,10 @@ void CReserveKey::ReturnKey()
if (nIndex != -1)
pwallet->ReturnKey(nIndex);
nIndex = -1;
- vchPubKey.clear();
+ vchPubKey = CPubKey();
}
-void CWallet::GetAllReserveAddresses(set<CBitcoinAddress>& setAddress)
+void CWallet::GetAllReserveKeys(set<CKeyID>& setAddress)
{
setAddress.clear();
@@ -1551,10 +1790,21 @@ void CWallet::GetAllReserveAddresses(set<CBitcoinAddress>& setAddress)
CKeyPool keypool;
if (!walletdb.ReadPool(id, keypool))
throw runtime_error("GetAllReserveKeyHashes() : read failed");
- CBitcoinAddress address(keypool.vchPubKey);
- assert(!keypool.vchPubKey.empty());
- if (!HaveKey(address))
+ assert(keypool.vchPubKey.IsValid());
+ CKeyID keyID = keypool.vchPubKey.GetID();
+ if (!HaveKey(keyID))
throw runtime_error("GetAllReserveKeyHashes() : unknown key in key pool");
- setAddress.insert(address);
+ setAddress.insert(keyID);
+ }
+}
+
+void CWallet::UpdatedTransaction(const uint256 &hashTx)
+{
+ {
+ LOCK(cs_wallet);
+ // Only notify UI if this transaction is in this wallet
+ map<uint256, CWalletTx>::const_iterator mi = mapWallet.find(hashTx);
+ if (mi != mapWallet.end())
+ NotifyTransactionChanged(this, hashTx, CT_UPDATED);
}
}
diff --git a/src/wallet.h b/src/wallet.h
index 1e5182073c..5c312ef5eb 100644
--- a/src/wallet.h
+++ b/src/wallet.h
@@ -5,14 +5,23 @@
#ifndef BITCOIN_WALLET_H
#define BITCOIN_WALLET_H
+#include <string>
+#include <vector>
+
+#include <stdlib.h>
+
#include "main.h"
#include "key.h"
#include "keystore.h"
#include "script.h"
+#include "ui_interface.h"
+#include "util.h"
+#include "walletdb.h"
+class CAccountingEntry;
class CWalletTx;
class CReserveKey;
-class CWalletDB;
+class COutput;
/** (client) version numbers for particular wallet features */
enum WalletFeature
@@ -31,14 +40,14 @@ class CKeyPool
{
public:
int64 nTime;
- std::vector<unsigned char> vchPubKey;
+ CPubKey vchPubKey;
CKeyPool()
{
nTime = GetTime();
}
- CKeyPool(const std::vector<unsigned char>& vchPubKeyIn)
+ CKeyPool(const CPubKey& vchPubKeyIn)
{
nTime = GetTime();
vchPubKey = vchPubKeyIn;
@@ -59,7 +68,6 @@ public:
class CWallet : public CCryptoKeyStore
{
private:
- bool SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfTheirs, std::set<std::pair<const CWalletTx*,unsigned int> >& setCoinsRet, int64& nValueRet) const;
bool SelectCoins(int64 nTargetValue, std::set<std::pair<const CWalletTx*,unsigned int> >& setCoinsRet, int64& nValueRet) const;
CWalletDB *pwalletdbEncryption;
@@ -90,6 +98,7 @@ public:
fFileBacked = false;
nMasterKeyMaxID = 0;
pwalletdbEncryption = NULL;
+ nOrderPosNext = 0;
}
CWallet(std::string strWalletFileIn)
{
@@ -99,23 +108,26 @@ public:
fFileBacked = true;
nMasterKeyMaxID = 0;
pwalletdbEncryption = NULL;
+ nOrderPosNext = 0;
}
std::map<uint256, CWalletTx> mapWallet;
- std::vector<uint256> vWalletUpdated;
-
+ int64 nOrderPosNext;
std::map<uint256, int> mapRequestCount;
- std::map<CBitcoinAddress, std::string> mapAddressBook;
+ std::map<CTxDestination, std::string> mapAddressBook;
- std::vector<unsigned char> vchDefaultKey;
+ CPubKey vchDefaultKey;
// check whether we are allowed to upgrade (or already support) to the named feature
bool CanSupportFeature(enum WalletFeature wf) { return nWalletMaxVersion >= wf; }
+ void AvailableCoins(std::vector<COutput>& vCoins, bool fOnlyConfirmed=true) const;
+ bool SelectCoinsMinConf(int64 nTargetValue, int nConfMine, int nConfTheirs, std::vector<COutput> vCoins, std::set<std::pair<const CWalletTx*,unsigned int> >& setCoinsRet, int64& nValueRet) const;
+
// keystore implementation
// Generate a new key
- std::vector<unsigned char> GenerateNewKey();
+ CPubKey GenerateNewKey();
// Adds a key to the store, and saves it to disk.
bool AddKey(const CKey& key);
// Adds a key to the store, without saving it to disk (used by LoadWallet)
@@ -124,9 +136,9 @@ public:
bool LoadMinVersion(int nVersion) { nWalletVersion = nVersion; nWalletMaxVersion = std::max(nWalletMaxVersion, nVersion); return true; }
// Adds an encrypted key to the store, and saves it to disk.
- bool AddCryptedKey(const std::vector<unsigned char> &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret);
+ bool AddCryptedKey(const CPubKey &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret);
// Adds an encrypted key to the store, without saving it to disk (used by LoadWallet)
- bool LoadCryptedKey(const std::vector<unsigned char> &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret) { SetMinVersion(FEATURE_WALLETCRYPT); return CCryptoKeyStore::AddCryptedKey(vchPubKey, vchCryptedSecret); }
+ bool LoadCryptedKey(const CPubKey &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret) { SetMinVersion(FEATURE_WALLETCRYPT); return CCryptoKeyStore::AddCryptedKey(vchPubKey, vchCryptedSecret); }
bool AddCScript(const CScript& redeemScript);
bool LoadCScript(const CScript& redeemScript) { return CCryptoKeyStore::AddCScript(redeemScript); }
@@ -134,6 +146,20 @@ public:
bool ChangeWalletPassphrase(const SecureString& strOldWalletPassphrase, const SecureString& strNewWalletPassphrase);
bool EncryptWallet(const SecureString& strWalletPassphrase);
+ /** Increment the next transaction order id
+ @return next transaction order id
+ */
+ int64 IncOrderPosNext(CWalletDB *pwalletdb = NULL);
+
+ typedef std::pair<CWalletTx*, CAccountingEntry*> TxPair;
+ typedef std::multimap<int64, TxPair > TxItems;
+
+ /** Get the wallet's activity log
+ @return multimap of ordered transactions and accounting entries
+ @warning Returned pointers are *only* valid within the scope of passed acentries
+ */
+ TxItems OrderedTxItems(std::list<CAccountingEntry>& acentries, std::string strAccount = "");
+
void MarkDirty();
bool AddToWallet(const CWalletTx& wtxIn);
bool AddToWalletIfInvolvingMe(const CTransaction& tx, const CBlock* pblock, bool fUpdate = false, bool fFindBlock = false);
@@ -145,11 +171,12 @@ public:
void ResendWalletTransactions();
int64 GetBalance() const;
int64 GetUnconfirmedBalance() const;
+ int64 GetImmatureBalance() const;
bool CreateTransaction(const std::vector<std::pair<CScript, int64> >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet);
bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet);
bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey);
std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false);
- std::string SendMoneyToBitcoinAddress(const CBitcoinAddress& address, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false);
+ std::string SendMoneyToDestination(const CTxDestination &address, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false);
bool NewKeyPool();
bool TopUpKeyPool();
@@ -157,9 +184,12 @@ public:
void ReserveKeyFromKeyPool(int64& nIndex, CKeyPool& keypool);
void KeepKey(int64 nIndex);
void ReturnKey(int64 nIndex);
- bool GetKeyFromPool(std::vector<unsigned char> &key, bool fAllowReuse=true);
+ bool GetKeyFromPool(CPubKey &key, bool fAllowReuse=true);
int64 GetOldestKeyPoolTime();
- void GetAllReserveAddresses(std::set<CBitcoinAddress>& setAddress);
+ void GetAllReserveKeys(std::set<CKeyID>& setAddress);
+
+ std::set< std::set<CTxDestination> > GetAddressGroupings();
+ std::map<CTxDestination, int64> GetAddressBalances();
bool IsMine(const CTxIn& txin) const;
int64 GetDebit(const CTxIn& txin) const;
@@ -226,19 +256,13 @@ public:
}
void SetBestChain(const CBlockLocator& loc);
- int LoadWallet(bool& fFirstRunRet);
+ DBErrors LoadWallet(bool& fFirstRunRet);
- bool SetAddressBookName(const CBitcoinAddress& address, const std::string& strName);
+ bool SetAddressBookName(const CTxDestination& address, const std::string& strName);
- bool DelAddressBookName(const CBitcoinAddress& address);
+ bool DelAddressBookName(const CTxDestination& address);
- void UpdatedTransaction(const uint256 &hashTx)
- {
- {
- LOCK(cs_wallet);
- vWalletUpdated.push_back(hashTx);
- }
- }
+ void UpdatedTransaction(const uint256 &hashTx);
void PrintWallet(const CBlock& block);
@@ -259,7 +283,7 @@ public:
bool GetTransaction(const uint256 &hashTx, CWalletTx& wtx);
- bool SetDefaultKey(const std::vector<unsigned char> &vchPubKey);
+ bool SetDefaultKey(const CPubKey &vchPubKey);
// signify that a particular wallet feature is now used. this may change nWalletVersion and nWalletMaxVersion if those are lower
bool SetMinVersion(enum WalletFeature, CWalletDB* pwalletdbIn = NULL, bool fExplicit = false);
@@ -269,6 +293,16 @@ public:
// get the current wallet format (the oldest client version guaranteed to understand this wallet)
int GetVersion() { return nWalletVersion; }
+
+ /** Address book entry changed.
+ * @note called with lock cs_wallet held.
+ */
+ boost::signals2::signal<void (CWallet *wallet, const CTxDestination &address, const std::string &label, bool isMine, ChangeType status)> NotifyAddressBookChanged;
+
+ /** Wallet transaction added, removed or updated.
+ * @note called with lock cs_wallet held.
+ */
+ boost::signals2::signal<void (CWallet *wallet, const uint256 &hashTx, ChangeType status)> NotifyTransactionChanged;
};
/** A key allocated from the key pool. */
@@ -277,7 +311,7 @@ class CReserveKey
protected:
CWallet* pwallet;
int64 nIndex;
- std::vector<unsigned char> vchPubKey;
+ CPubKey vchPubKey;
public:
CReserveKey(CWallet* pwalletIn)
{
@@ -292,12 +326,34 @@ public:
}
void ReturnKey();
- std::vector<unsigned char> GetReservedKey();
+ CPubKey GetReservedKey();
void KeepKey();
};
-/** A transaction with a bunch of additional info that only the owner cares about.
+typedef std::map<std::string, std::string> mapValue_t;
+
+
+static void ReadOrderPos(int64& nOrderPos, mapValue_t& mapValue)
+{
+ if (!mapValue.count("n"))
+ {
+ nOrderPos = -1; // TODO: calculate elsewhere
+ return;
+ }
+ nOrderPos = atoi64(mapValue["n"].c_str());
+}
+
+
+static void WriteOrderPos(const int64& nOrderPos, mapValue_t& mapValue)
+{
+ if (nOrderPos == -1)
+ return;
+ mapValue["n"] = i64tostr(nOrderPos);
+}
+
+
+/** A transaction with a bunch of additional info that only the owner cares about.
* It includes any unrecorded transactions needed to link it back to the block chain.
*/
class CWalletTx : public CMerkleTx
@@ -307,13 +363,15 @@ private:
public:
std::vector<CMerkleTx> vtxPrev;
- std::map<std::string, std::string> mapValue;
+ mapValue_t mapValue;
std::vector<std::pair<std::string, std::string> > vOrderForm;
unsigned int fTimeReceivedIsTxTime;
unsigned int nTimeReceived; // time received by this node
+ unsigned int nTimeSmart;
char fFromMe;
std::string strFromAccount;
std::vector<char> vfSpent; // which outputs are already spent
+ int64 nOrderPos; // position in ordered transaction list
// memory only
mutable bool fDebitCached;
@@ -353,6 +411,7 @@ public:
vOrderForm.clear();
fTimeReceivedIsTxTime = false;
nTimeReceived = 0;
+ nTimeSmart = 0;
fFromMe = false;
strFromAccount.clear();
vfSpent.clear();
@@ -364,6 +423,7 @@ public:
nCreditCached = 0;
nAvailableCreditCached = 0;
nChangeCached = 0;
+ nOrderPos = -1;
}
IMPLEMENT_SERIALIZE
@@ -385,6 +445,11 @@ public:
fSpent = true;
}
pthis->mapValue["spent"] = str;
+
+ WriteOrderPos(pthis->nOrderPos, pthis->mapValue);
+
+ if (nTimeSmart)
+ pthis->mapValue["timesmart"] = strprintf("%u", nTimeSmart);
}
nSerSize += SerReadWrite(s, *(CMerkleTx*)this, nType, nVersion,ser_action);
@@ -405,11 +470,17 @@ public:
pthis->vfSpent.push_back(c != '0');
else
pthis->vfSpent.assign(vout.size(), fSpent);
+
+ ReadOrderPos(pthis->nOrderPos, pthis->mapValue);
+
+ pthis->nTimeSmart = mapValue.count("timesmart") ? (unsigned int)atoi64(pthis->mapValue["timesmart"]) : 0;
}
pthis->mapValue.erase("fromaccount");
pthis->mapValue.erase("version");
pthis->mapValue.erase("spent");
+ pthis->mapValue.erase("n");
+ pthis->mapValue.erase("timesmart");
)
// marks certain txout's as spent
@@ -529,10 +600,10 @@ public:
return nChangeCached;
}
- void GetAmounts(int64& nGeneratedImmature, int64& nGeneratedMature, std::list<std::pair<CBitcoinAddress, int64> >& listReceived,
- std::list<std::pair<CBitcoinAddress, int64> >& listSent, int64& nFee, std::string& strSentAccount) const;
+ void GetAmounts(std::list<std::pair<CTxDestination, int64> >& listReceived,
+ std::list<std::pair<CTxDestination, int64> >& listSent, int64& nFee, std::string& strSentAccount) const;
- void GetAccountAmounts(const std::string& strAccount, int64& nGenerated, int64& nReceived,
+ void GetAccountAmounts(const std::string& strAccount, int64& nReceived,
int64& nSent, int64& nFee) const;
bool IsFromMe() const
@@ -598,6 +669,34 @@ public:
};
+
+
+class COutput
+{
+public:
+ const CWalletTx *tx;
+ int i;
+ int nDepth;
+
+ COutput(const CWalletTx *txIn, int iIn, int nDepthIn)
+ {
+ tx = txIn; i = iIn; nDepth = nDepthIn;
+ }
+
+ 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());
+ }
+
+ void print() const
+ {
+ printf("%s\n", ToString().c_str());
+ }
+};
+
+
+
+
/** Private key that includes an expiration date in case it never gets used. */
class CWalletKey
{
@@ -637,7 +736,7 @@ public:
class CAccount
{
public:
- std::vector<unsigned char> vchPubKey;
+ CPubKey vchPubKey;
CAccount()
{
@@ -646,7 +745,7 @@ public:
void SetNull()
{
- vchPubKey.clear();
+ vchPubKey = CPubKey();
}
IMPLEMENT_SERIALIZE
@@ -670,6 +769,9 @@ public:
int64 nTime;
std::string strOtherAccount;
std::string strComment;
+ mapValue_t mapValue;
+ int64 nOrderPos; // position in ordered transaction list
+ uint64 nEntryNo;
CAccountingEntry()
{
@@ -683,18 +785,55 @@ public:
strAccount.clear();
strOtherAccount.clear();
strComment.clear();
+ nOrderPos = -1;
}
IMPLEMENT_SERIALIZE
(
+ CAccountingEntry& me = *const_cast<CAccountingEntry*>(this);
if (!(nType & SER_GETHASH))
READWRITE(nVersion);
// Note: strAccount is serialized as part of the key, not here.
READWRITE(nCreditDebit);
READWRITE(nTime);
READWRITE(strOtherAccount);
+
+ if (!fRead)
+ {
+ WriteOrderPos(nOrderPos, me.mapValue);
+
+ if (!(mapValue.empty() && _ssExtra.empty()))
+ {
+ CDataStream ss(nType, nVersion);
+ ss.insert(ss.begin(), '\0');
+ ss << mapValue;
+ ss.insert(ss.end(), _ssExtra.begin(), _ssExtra.end());
+ me.strComment.append(ss.str());
+ }
+ }
+
READWRITE(strComment);
+
+ size_t nSepPos = strComment.find("\0", 0, 1);
+ if (fRead)
+ {
+ me.mapValue.clear();
+ if (std::string::npos != nSepPos)
+ {
+ CDataStream ss(std::vector<char>(strComment.begin() + nSepPos + 1, strComment.end()), nType, nVersion);
+ ss >> me.mapValue;
+ me._ssExtra = std::vector<char>(ss.begin(), ss.end());
+ }
+ ReadOrderPos(me.nOrderPos, me.mapValue);
+ }
+ if (std::string::npos != nSepPos)
+ me.strComment.erase(nSepPos);
+
+ me.mapValue.erase("n");
)
+
+private:
+ std::vector<char> _ssExtra;
};
bool GetWalletFile(CWallet* pwallet, std::string &strWalletFileOut);
diff --git a/src/walletdb.cpp b/src/walletdb.cpp
index 865911c434..e102df9720 100644
--- a/src/walletdb.cpp
+++ b/src/walletdb.cpp
@@ -13,10 +13,6 @@ using namespace boost;
static uint64 nAccountingEntryNumber = 0;
-extern CCriticalSection cs_db;
-extern map<string, int> mapFileUseCount;
-extern void CloseDb(const string& strFile);
-
//
// CWalletDB
//
@@ -46,9 +42,14 @@ bool CWalletDB::WriteAccount(const string& strAccount, const CAccount& account)
return Write(make_pair(string("acc"), strAccount), account);
}
+bool CWalletDB::WriteAccountingEntry(const uint64 nAccEntryNum, const CAccountingEntry& acentry)
+{
+ return Write(boost::make_tuple(string("acentry"), acentry.strAccount, nAccEntryNum), acentry);
+}
+
bool CWalletDB::WriteAccountingEntry(const CAccountingEntry& acentry)
{
- return Write(boost::make_tuple(string("acentry"), acentry.strAccount, ++nAccountingEntryNumber), acentry);
+ return WriteAccountingEntry(++nAccountingEntryNumber, acentry);
}
int64 CWalletDB::GetAccountCreditDebit(const string& strAccount)
@@ -99,6 +100,7 @@ void CWalletDB::ListAccountCreditDebit(const string& strAccount, list<CAccountin
break;
ssValue >> acentry;
+ ssKey >> acentry.nEntryNo;
entries.push_back(acentry);
}
@@ -106,214 +108,365 @@ void CWalletDB::ListAccountCreditDebit(const string& strAccount, list<CAccountin
}
-int CWalletDB::LoadWallet(CWallet* pwallet)
+DBErrors
+CWalletDB::ReorderTransactions(CWallet* pwallet)
{
- pwallet->vchDefaultKey.clear();
- int nFileVersion = 0;
- vector<uint256> vWalletUpgrade;
- bool fIsEncrypted = false;
+ LOCK(pwallet->cs_wallet);
+ // Old wallets didn't have any defined order for transactions
+ // Probably a bad idea to change the output of this
+
+ // First: get all CWalletTx and CAccountingEntry into a sorted-by-time multimap.
+ typedef pair<CWalletTx*, CAccountingEntry*> TxPair;
+ typedef multimap<int64, TxPair > TxItems;
+ TxItems txByTime;
- //// todo: shouldn't we catch exceptions and try to recover and continue?
+ for (map<uint256, CWalletTx>::iterator it = pwallet->mapWallet.begin(); it != pwallet->mapWallet.end(); ++it)
{
- LOCK(pwallet->cs_wallet);
- int nMinVersion = 0;
- if (Read((string)"minversion", nMinVersion))
- {
- if (nMinVersion > CLIENT_VERSION)
- return DB_TOO_NEW;
- pwallet->LoadMinVersion(nMinVersion);
- }
+ CWalletTx* wtx = &((*it).second);
+ txByTime.insert(make_pair(wtx->nTimeReceived, TxPair(wtx, (CAccountingEntry*)0)));
+ }
+ list<CAccountingEntry> acentries;
+ ListAccountCreditDebit("", acentries);
+ BOOST_FOREACH(CAccountingEntry& entry, acentries)
+ {
+ txByTime.insert(make_pair(entry.nTime, TxPair((CWalletTx*)0, &entry)));
+ }
- // Get cursor
- Dbc* pcursor = GetCursor();
- if (!pcursor)
+ int64& nOrderPosNext = pwallet->nOrderPosNext;
+ nOrderPosNext = 0;
+ std::vector<int64> nOrderPosOffsets;
+ for (TxItems::iterator it = txByTime.begin(); it != txByTime.end(); ++it)
+ {
+ CWalletTx *const pwtx = (*it).second.first;
+ CAccountingEntry *const pacentry = (*it).second.second;
+ int64& nOrderPos = (pwtx != 0) ? pwtx->nOrderPos : pacentry->nOrderPos;
+
+ if (nOrderPos == -1)
{
- printf("Error getting wallet database cursor\n");
- return DB_CORRUPT;
- }
+ nOrderPos = nOrderPosNext++;
+ nOrderPosOffsets.push_back(nOrderPos);
- loop
+ if (pacentry)
+ // Have to write accounting regardless, since we don't keep it in memory
+ if (!WriteAccountingEntry(pacentry->nEntryNo, *pacentry))
+ return DB_LOAD_FAIL;
+ }
+ else
{
- // Read next record
- CDataStream ssKey(SER_DISK, CLIENT_VERSION);
- CDataStream ssValue(SER_DISK, CLIENT_VERSION);
- int ret = ReadAtCursor(pcursor, ssKey, ssValue);
- if (ret == DB_NOTFOUND)
- break;
- else if (ret != 0)
+ int64 nOrderPosOff = 0;
+ BOOST_FOREACH(const int64& nOffsetStart, nOrderPosOffsets)
{
- printf("Error reading next record from wallet database\n");
- return DB_CORRUPT;
+ if (nOrderPos >= nOffsetStart)
+ ++nOrderPosOff;
}
+ nOrderPos += nOrderPosOff;
+ nOrderPosNext = std::max(nOrderPosNext, nOrderPos + 1);
+
+ if (!nOrderPosOff)
+ continue;
- // Unserialize
- // Taking advantage of the fact that pair serialization
- // is just the two items serialized one after the other
- string strType;
- ssKey >> strType;
- if (strType == "name")
+ // Since we're changing the order, write it back
+ if (pwtx)
{
- string strAddress;
- ssKey >> strAddress;
- ssValue >> pwallet->mapAddressBook[strAddress];
+ if (!WriteTx(pwtx->GetHash(), *pwtx))
+ return DB_LOAD_FAIL;
}
- else if (strType == "tx")
- {
- uint256 hash;
- ssKey >> hash;
- CWalletTx& wtx = pwallet->mapWallet[hash];
- ssValue >> wtx;
- wtx.BindWallet(pwallet);
+ else
+ if (!WriteAccountingEntry(pacentry->nEntryNo, *pacentry))
+ return DB_LOAD_FAIL;
+ }
+ }
+
+ return DB_LOAD_OK;
+}
+
- if (wtx.GetHash() != hash)
- printf("Error in wallet.dat, hash mismatch\n");
+bool
+ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue,
+ int& nFileVersion, vector<uint256>& vWalletUpgrade,
+ bool& fIsEncrypted, bool& fAnyUnordered, string& strType, string& strErr)
+{
+ try {
+ // Unserialize
+ // Taking advantage of the fact that pair serialization
+ // is just the two items serialized one after the other
+ ssKey >> strType;
+ if (strType == "name")
+ {
+ string strAddress;
+ ssKey >> strAddress;
+ ssValue >> pwallet->mapAddressBook[CBitcoinAddress(strAddress).Get()];
+ }
+ else if (strType == "tx")
+ {
+ uint256 hash;
+ ssKey >> hash;
+ CWalletTx& wtx = pwallet->mapWallet[hash];
+ ssValue >> wtx;
+ if (wtx.CheckTransaction() && (wtx.GetHash() == hash))
+ wtx.BindWallet(pwallet);
+ else
+ {
+ pwallet->mapWallet.erase(hash);
+ return false;
+ }
- // Undo serialize changes in 31600
- if (31404 <= wtx.fTimeReceivedIsTxTime && wtx.fTimeReceivedIsTxTime <= 31703)
+ // Undo serialize changes in 31600
+ if (31404 <= wtx.fTimeReceivedIsTxTime && wtx.fTimeReceivedIsTxTime <= 31703)
+ {
+ if (!ssValue.empty())
{
- if (!ssValue.empty())
- {
- char fTmp;
- char fUnused;
- ssValue >> fTmp >> fUnused >> wtx.strFromAccount;
- printf("LoadWallet() upgrading tx ver=%d %d '%s' %s\n", wtx.fTimeReceivedIsTxTime, fTmp, wtx.strFromAccount.c_str(), hash.ToString().c_str());
- wtx.fTimeReceivedIsTxTime = fTmp;
- }
- else
- {
- printf("LoadWallet() repairing tx ver=%d %s\n", wtx.fTimeReceivedIsTxTime, hash.ToString().c_str());
- wtx.fTimeReceivedIsTxTime = 0;
- }
- vWalletUpgrade.push_back(hash);
+ char fTmp;
+ char fUnused;
+ ssValue >> fTmp >> fUnused >> wtx.strFromAccount;
+ strErr = strprintf("LoadWallet() upgrading tx ver=%d %d '%s' %s",
+ wtx.fTimeReceivedIsTxTime, fTmp, wtx.strFromAccount.c_str(), hash.ToString().c_str());
+ wtx.fTimeReceivedIsTxTime = fTmp;
}
-
- //// debug print
- //printf("LoadWallet %s\n", wtx.GetHash().ToString().c_str());
- //printf(" %12"PRI64d" %s %s %s\n",
- // wtx.vout[0].nValue,
- // DateTimeStrFormat("%x %H:%M:%S", wtx.GetBlockTime()).c_str(),
- // wtx.hashBlock.ToString().substr(0,20).c_str(),
- // wtx.mapValue["message"].c_str());
+ else
+ {
+ strErr = strprintf("LoadWallet() repairing tx ver=%d %s", wtx.fTimeReceivedIsTxTime, hash.ToString().c_str());
+ wtx.fTimeReceivedIsTxTime = 0;
+ }
+ vWalletUpgrade.push_back(hash);
}
- else if (strType == "acentry")
+
+ if (wtx.nOrderPos == -1)
+ fAnyUnordered = true;
+
+ //// debug print
+ //printf("LoadWallet %s\n", wtx.GetHash().ToString().c_str());
+ //printf(" %12"PRI64d" %s %s %s\n",
+ // wtx.vout[0].nValue,
+ // DateTimeStrFormat("%x %H:%M:%S", wtx.GetBlockTime()).c_str(),
+ // wtx.hashBlock.ToString().substr(0,20).c_str(),
+ // wtx.mapValue["message"].c_str());
+ }
+ else if (strType == "acentry")
+ {
+ string strAccount;
+ ssKey >> strAccount;
+ uint64 nNumber;
+ ssKey >> nNumber;
+ if (nNumber > nAccountingEntryNumber)
+ nAccountingEntryNumber = nNumber;
+
+ if (!fAnyUnordered)
{
- string strAccount;
- ssKey >> strAccount;
- uint64 nNumber;
- ssKey >> nNumber;
- if (nNumber > nAccountingEntryNumber)
- nAccountingEntryNumber = nNumber;
+ CAccountingEntry acentry;
+ ssValue >> acentry;
+ if (acentry.nOrderPos == -1)
+ fAnyUnordered = true;
}
- else if (strType == "key" || strType == "wkey")
+ }
+ else if (strType == "key" || strType == "wkey")
+ {
+ vector<unsigned char> vchPubKey;
+ ssKey >> vchPubKey;
+ CKey key;
+ if (strType == "key")
{
- vector<unsigned char> vchPubKey;
- ssKey >> vchPubKey;
- CKey key;
- if (strType == "key")
+ CPrivKey pkey;
+ ssValue >> pkey;
+ key.SetPubKey(vchPubKey);
+ if (!key.SetPrivKey(pkey))
{
- CPrivKey pkey;
- ssValue >> pkey;
- key.SetPubKey(vchPubKey);
- key.SetPrivKey(pkey);
- if (key.GetPubKey() != vchPubKey)
- {
- printf("Error reading wallet database: CPrivKey pubkey inconsistency\n");
- return DB_CORRUPT;
- }
- if (!key.IsValid())
- {
- printf("Error reading wallet database: invalid CPrivKey\n");
- return DB_CORRUPT;
- }
+ strErr = "Error reading wallet database: CPrivKey corrupt";
+ return false;
}
- else
+ if (key.GetPubKey() != vchPubKey)
{
- CWalletKey wkey;
- ssValue >> wkey;
- key.SetPubKey(vchPubKey);
- key.SetPrivKey(wkey.vchPrivKey);
- if (key.GetPubKey() != vchPubKey)
- {
- printf("Error reading wallet database: CWalletKey pubkey inconsistency\n");
- return DB_CORRUPT;
- }
- if (!key.IsValid())
- {
- printf("Error reading wallet database: invalid CWalletKey\n");
- return DB_CORRUPT;
- }
+ strErr = "Error reading wallet database: CPrivKey pubkey inconsistency";
+ return false;
}
- if (!pwallet->LoadKey(key))
+ if (!key.IsValid())
{
- printf("Error reading wallet database: LoadKey failed\n");
- return DB_CORRUPT;
+ strErr = "Error reading wallet database: invalid CPrivKey";
+ return false;
}
}
- else if (strType == "mkey")
+ else
{
- unsigned int nID;
- ssKey >> nID;
- CMasterKey kMasterKey;
- ssValue >> kMasterKey;
- if(pwallet->mapMasterKeys.count(nID) != 0)
+ CWalletKey wkey;
+ ssValue >> wkey;
+ key.SetPubKey(vchPubKey);
+ if (!key.SetPrivKey(wkey.vchPrivKey))
+ {
+ strErr = "Error reading wallet database: CPrivKey corrupt";
+ return false;
+ }
+ if (key.GetPubKey() != vchPubKey)
{
- printf("Error reading wallet database: duplicate CMasterKey id %u\n", nID);
- return DB_CORRUPT;
+ strErr = "Error reading wallet database: CWalletKey pubkey inconsistency";
+ return false;
}
- pwallet->mapMasterKeys[nID] = kMasterKey;
- if (pwallet->nMasterKeyMaxID < nID)
- pwallet->nMasterKeyMaxID = nID;
- }
- else if (strType == "ckey")
- {
- vector<unsigned char> vchPubKey;
- ssKey >> vchPubKey;
- vector<unsigned char> vchPrivKey;
- ssValue >> vchPrivKey;
- if (!pwallet->LoadCryptedKey(vchPubKey, vchPrivKey))
+ if (!key.IsValid())
{
- printf("Error reading wallet database: LoadCryptedKey failed\n");
- return DB_CORRUPT;
+ strErr = "Error reading wallet database: invalid CWalletKey";
+ return false;
}
- fIsEncrypted = true;
}
- else if (strType == "defaultkey")
+ if (!pwallet->LoadKey(key))
{
- ssValue >> pwallet->vchDefaultKey;
+ strErr = "Error reading wallet database: LoadKey failed";
+ return false;
}
- else if (strType == "pool")
+ }
+ else if (strType == "mkey")
+ {
+ unsigned int nID;
+ ssKey >> nID;
+ CMasterKey kMasterKey;
+ ssValue >> kMasterKey;
+ if(pwallet->mapMasterKeys.count(nID) != 0)
{
- int64 nIndex;
- ssKey >> nIndex;
- pwallet->setKeyPool.insert(nIndex);
+ strErr = strprintf("Error reading wallet database: duplicate CMasterKey id %u", nID);
+ return false;
}
- else if (strType == "version")
+ pwallet->mapMasterKeys[nID] = kMasterKey;
+ if (pwallet->nMasterKeyMaxID < nID)
+ pwallet->nMasterKeyMaxID = nID;
+ }
+ else if (strType == "ckey")
+ {
+ vector<unsigned char> vchPubKey;
+ ssKey >> vchPubKey;
+ vector<unsigned char> vchPrivKey;
+ ssValue >> vchPrivKey;
+ if (!pwallet->LoadCryptedKey(vchPubKey, vchPrivKey))
{
- ssValue >> nFileVersion;
- if (nFileVersion == 10300)
- nFileVersion = 300;
+ strErr = "Error reading wallet database: LoadCryptedKey failed";
+ return false;
}
- else if (strType == "cscript")
+ fIsEncrypted = true;
+ }
+ else if (strType == "defaultkey")
+ {
+ ssValue >> pwallet->vchDefaultKey;
+ }
+ else if (strType == "pool")
+ {
+ int64 nIndex;
+ ssKey >> nIndex;
+ pwallet->setKeyPool.insert(nIndex);
+ }
+ else if (strType == "version")
+ {
+ ssValue >> nFileVersion;
+ if (nFileVersion == 10300)
+ nFileVersion = 300;
+ }
+ else if (strType == "cscript")
+ {
+ uint160 hash;
+ ssKey >> hash;
+ CScript script;
+ ssValue >> script;
+ if (!pwallet->LoadCScript(script))
{
- uint160 hash;
- ssKey >> hash;
- CScript script;
- ssValue >> script;
- if (!pwallet->LoadCScript(script))
+ strErr = "Error reading wallet database: LoadCScript failed";
+ return false;
+ }
+ }
+ else if (strType == "orderposnext")
+ {
+ ssValue >> pwallet->nOrderPosNext;
+ }
+ } catch (...)
+ {
+ return false;
+ }
+ return true;
+}
+
+static bool IsKeyType(string strType)
+{
+ return (strType== "key" || strType == "wkey" ||
+ strType == "mkey" || strType == "ckey");
+}
+
+DBErrors CWalletDB::LoadWallet(CWallet* pwallet)
+{
+ pwallet->vchDefaultKey = CPubKey();
+ int nFileVersion = 0;
+ vector<uint256> vWalletUpgrade;
+ bool fIsEncrypted = false;
+ bool fAnyUnordered = false;
+ bool fNoncriticalErrors = false;
+ DBErrors result = DB_LOAD_OK;
+
+ try {
+ LOCK(pwallet->cs_wallet);
+ int nMinVersion = 0;
+ if (Read((string)"minversion", nMinVersion))
+ {
+ if (nMinVersion > CLIENT_VERSION)
+ return DB_TOO_NEW;
+ pwallet->LoadMinVersion(nMinVersion);
+ }
+
+ // Get cursor
+ Dbc* pcursor = GetCursor();
+ if (!pcursor)
+ {
+ printf("Error getting wallet database cursor\n");
+ return DB_CORRUPT;
+ }
+
+ loop
+ {
+ // Read next record
+ CDataStream ssKey(SER_DISK, CLIENT_VERSION);
+ CDataStream ssValue(SER_DISK, CLIENT_VERSION);
+ int ret = ReadAtCursor(pcursor, ssKey, ssValue);
+ if (ret == DB_NOTFOUND)
+ break;
+ else if (ret != 0)
+ {
+ printf("Error reading next record from wallet database\n");
+ return DB_CORRUPT;
+ }
+
+ // Try to be tolerant of single corrupt records:
+ string strType, strErr;
+ if (!ReadKeyValue(pwallet, ssKey, ssValue, nFileVersion,
+ vWalletUpgrade, fIsEncrypted, fAnyUnordered, strType, strErr))
+ {
+ // losing keys is considered a catastrophic error, anything else
+ // we assume the user can live with:
+ if (IsKeyType(strType))
+ result = DB_CORRUPT;
+ else
{
- printf("Error reading wallet database: LoadCScript failed\n");
- return DB_CORRUPT;
+ // Leave other errors alone, if we try to fix them we might make things worse.
+ fNoncriticalErrors = true; // ... but do warn the user there is something wrong.
+ if (strType == "tx")
+ // Rescan if there is a bad transaction record:
+ SoftSetBoolArg("-rescan", true);
}
}
+ if (!strErr.empty())
+ printf("%s\n", strErr.c_str());
}
pcursor->close();
}
+ catch (...)
+ {
+ result = DB_CORRUPT;
+ }
- BOOST_FOREACH(uint256 hash, vWalletUpgrade)
- WriteTx(hash, pwallet->mapWallet[hash]);
+ if (fNoncriticalErrors && result == DB_LOAD_OK)
+ result = DB_NONCRITICAL_ERROR;
+
+ // Any wallet corruption at all: skip any rewriting or
+ // upgrading, we don't want to make it worse.
+ if (result != DB_LOAD_OK)
+ return result;
printf("nFileVersion = %d\n", nFileVersion);
+ BOOST_FOREACH(uint256 hash, vWalletUpgrade)
+ WriteTx(hash, pwallet->mapWallet[hash]);
// Rewrite encrypted wallets of versions 0.4.0 and 0.5.0rc:
if (fIsEncrypted && (nFileVersion == 40000 || nFileVersion == 50000))
@@ -322,11 +475,17 @@ int CWalletDB::LoadWallet(CWallet* pwallet)
if (nFileVersion < CLIENT_VERSION) // Update
WriteVersion(CLIENT_VERSION);
- return DB_LOAD_OK;
+ if (fAnyUnordered)
+ result = ReorderTransactions(pwallet);
+
+ return result;
}
void ThreadFlushWalletDB(void* parg)
{
+ // Make this thread recognisable as the wallet flushing thread
+ RenameThread("bitcoin-wallet");
+
const string& strFile = ((const string*)parg)[0];
static bool fOneThread;
if (fOneThread)
@@ -350,13 +509,13 @@ void ThreadFlushWalletDB(void* parg)
if (nLastFlushed != nWalletDBUpdated && GetTime() - nLastWalletUpdate >= 2)
{
- TRY_LOCK(cs_db,lockDb);
+ TRY_LOCK(bitdb.cs_db,lockDb);
if (lockDb)
{
// Don't do this if any databases are in use
int nRefCount = 0;
- map<string, int>::iterator mi = mapFileUseCount.begin();
- while (mi != mapFileUseCount.end())
+ map<string, int>::iterator mi = bitdb.mapFileUseCount.begin();
+ while (mi != bitdb.mapFileUseCount.end())
{
nRefCount += (*mi).second;
mi++;
@@ -364,20 +523,18 @@ void ThreadFlushWalletDB(void* parg)
if (nRefCount == 0 && !fShutdown)
{
- map<string, int>::iterator mi = mapFileUseCount.find(strFile);
- if (mi != mapFileUseCount.end())
+ map<string, int>::iterator mi = bitdb.mapFileUseCount.find(strFile);
+ if (mi != bitdb.mapFileUseCount.end())
{
- printf("%s ", DateTimeStrFormat("%x %H:%M:%S", GetTime()).c_str());
printf("Flushing wallet.dat\n");
nLastFlushed = nWalletDBUpdated;
int64 nStart = GetTimeMillis();
// Flush wallet.dat so it's self contained
- CloseDb(strFile);
- dbenv.txn_checkpoint(0, 0, 0);
- dbenv.lsn_reset(strFile.c_str(), 0);
+ bitdb.CloseDb(strFile);
+ bitdb.CheckpointLSN(strFile);
- mapFileUseCount.erase(mi++);
+ bitdb.mapFileUseCount.erase(mi++);
printf("Flushed wallet.dat %"PRI64d"ms\n", GetTimeMillis() - nStart);
}
}
@@ -393,14 +550,13 @@ bool BackupWallet(const CWallet& wallet, const string& strDest)
while (!fShutdown)
{
{
- LOCK(cs_db);
- if (!mapFileUseCount.count(wallet.strWalletFile) || mapFileUseCount[wallet.strWalletFile] == 0)
+ LOCK(bitdb.cs_db);
+ if (!bitdb.mapFileUseCount.count(wallet.strWalletFile) || bitdb.mapFileUseCount[wallet.strWalletFile] == 0)
{
// Flush log data to the dat file
- CloseDb(wallet.strWalletFile);
- dbenv.txn_checkpoint(0, 0, 0);
- dbenv.lsn_reset(wallet.strWalletFile.c_str(), 0);
- mapFileUseCount.erase(wallet.strWalletFile);
+ bitdb.CloseDb(wallet.strWalletFile);
+ bitdb.CheckpointLSN(wallet.strWalletFile);
+ bitdb.mapFileUseCount.erase(wallet.strWalletFile);
// Copy wallet.dat
filesystem::path pathSrc = GetDataDir() / wallet.strWalletFile;
@@ -426,3 +582,94 @@ bool BackupWallet(const CWallet& wallet, const string& strDest)
}
return false;
}
+
+//
+// Try to (very carefully!) recover wallet.dat if there is a problem.
+//
+bool CWalletDB::Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys)
+{
+ // Recovery procedure:
+ // move wallet.dat to wallet.timestamp.bak
+ // Call Salvage with fAggressive=true to
+ // get as much data as possible.
+ // Rewrite salvaged data to wallet.dat
+ // Set -rescan so any missing transactions will be
+ // found.
+ int64 now = GetTime();
+ std::string newFilename = strprintf("wallet.%"PRI64d".bak", now);
+
+ int result = dbenv.dbenv.dbrename(NULL, filename.c_str(), NULL,
+ newFilename.c_str(), DB_AUTO_COMMIT);
+ if (result == 0)
+ printf("Renamed %s to %s\n", filename.c_str(), newFilename.c_str());
+ else
+ {
+ printf("Failed to rename %s to %s\n", filename.c_str(), newFilename.c_str());
+ return false;
+ }
+
+ std::vector<CDBEnv::KeyValPair> salvagedData;
+ bool allOK = dbenv.Salvage(newFilename, true, salvagedData);
+ if (salvagedData.empty())
+ {
+ printf("Salvage(aggressive) found no records in %s.\n", newFilename.c_str());
+ return false;
+ }
+ printf("Salvage(aggressive) found %"PRIszu" records\n", salvagedData.size());
+
+ bool fSuccess = allOK;
+ Db* pdbCopy = new Db(&dbenv.dbenv, 0);
+ int ret = pdbCopy->open(NULL, // Txn pointer
+ filename.c_str(), // Filename
+ "main", // Logical db name
+ DB_BTREE, // Database type
+ DB_CREATE, // Flags
+ 0);
+ if (ret > 0)
+ {
+ printf("Cannot create database file %s\n", filename.c_str());
+ return false;
+ }
+ CWallet dummyWallet;
+ int nFileVersion = 0;
+ vector<uint256> vWalletUpgrade;
+ bool fIsEncrypted = false;
+ bool fAnyUnordered = false;
+
+ DbTxn* ptxn = dbenv.TxnBegin();
+ BOOST_FOREACH(CDBEnv::KeyValPair& row, salvagedData)
+ {
+ if (fOnlyKeys)
+ {
+ CDataStream ssKey(row.first, SER_DISK, CLIENT_VERSION);
+ CDataStream ssValue(row.second, SER_DISK, CLIENT_VERSION);
+ string strType, strErr;
+ bool fReadOK = ReadKeyValue(&dummyWallet, ssKey, ssValue,
+ nFileVersion, vWalletUpgrade,
+ fIsEncrypted, fAnyUnordered,
+ strType, strErr);
+ if (!IsKeyType(strType))
+ continue;
+ if (!fReadOK)
+ {
+ printf("WARNING: CWalletDB::Recover skipping %s: %s\n", strType.c_str(), strErr.c_str());
+ continue;
+ }
+ }
+ Dbt datKey(&row.first[0], row.first.size());
+ Dbt datValue(&row.second[0], row.second.size());
+ int ret2 = pdbCopy->put(ptxn, &datKey, &datValue, DB_NOOVERWRITE);
+ if (ret2 > 0)
+ fSuccess = false;
+ }
+ ptxn->commit(0);
+ pdbCopy->close(0);
+ delete pdbCopy;
+
+ return fSuccess;
+}
+
+bool CWalletDB::Recover(CDBEnv& dbenv, std::string filename)
+{
+ return CWalletDB::Recover(dbenv, filename, false);
+}
diff --git a/src/walletdb.h b/src/walletdb.h
index dee1750262..a3e779ab9d 100644
--- a/src/walletdb.h
+++ b/src/walletdb.h
@@ -6,6 +6,7 @@
#define BITCOIN_WALLETDB_H
#include "db.h"
+#include "base58.h"
class CKeyPool;
class CAccount;
@@ -16,6 +17,7 @@ enum DBErrors
{
DB_LOAD_OK,
DB_CORRUPT,
+ DB_NONCRITICAL_ERROR,
DB_TOO_NEW,
DB_LOAD_FAIL,
DB_NEED_REWRITE
@@ -32,21 +34,10 @@ private:
CWalletDB(const CWalletDB&);
void operator=(const CWalletDB&);
public:
- bool ReadName(const std::string& strAddress, std::string& strName)
- {
- strName = "";
- return Read(std::make_pair(std::string("name"), strAddress), strName);
- }
-
bool WriteName(const std::string& strAddress, const std::string& strName);
bool EraseName(const std::string& strAddress);
- bool ReadTx(uint256 hash, CWalletTx& wtx)
- {
- return Read(std::make_pair(std::string("tx"), hash), wtx);
- }
-
bool WriteTx(uint256 hash, const CWalletTx& wtx)
{
nWalletDBUpdated++;
@@ -59,27 +50,21 @@ public:
return Erase(std::make_pair(std::string("tx"), hash));
}
- bool ReadKey(const std::vector<unsigned char>& vchPubKey, CPrivKey& vchPrivKey)
- {
- vchPrivKey.clear();
- return Read(std::make_pair(std::string("key"), vchPubKey), vchPrivKey);
- }
-
- bool WriteKey(const std::vector<unsigned char>& vchPubKey, const CPrivKey& vchPrivKey)
+ bool WriteKey(const CPubKey& vchPubKey, const CPrivKey& vchPrivKey)
{
nWalletDBUpdated++;
- return Write(std::make_pair(std::string("key"), vchPubKey), vchPrivKey, false);
+ return Write(std::make_pair(std::string("key"), vchPubKey.Raw()), vchPrivKey, false);
}
- bool WriteCryptedKey(const std::vector<unsigned char>& vchPubKey, const std::vector<unsigned char>& vchCryptedSecret, bool fEraseUnencryptedKey = true)
+ bool WriteCryptedKey(const CPubKey& vchPubKey, const std::vector<unsigned char>& vchCryptedSecret, bool fEraseUnencryptedKey = true)
{
nWalletDBUpdated++;
- if (!Write(std::make_pair(std::string("ckey"), vchPubKey), vchCryptedSecret, false))
+ if (!Write(std::make_pair(std::string("ckey"), vchPubKey.Raw()), vchCryptedSecret, false))
return false;
if (fEraseUnencryptedKey)
{
- Erase(std::make_pair(std::string("key"), vchPubKey));
- Erase(std::make_pair(std::string("wkey"), vchPubKey));
+ Erase(std::make_pair(std::string("key"), vchPubKey.Raw()));
+ Erase(std::make_pair(std::string("wkey"), vchPubKey.Raw()));
}
return true;
}
@@ -90,13 +75,6 @@ public:
return Write(std::make_pair(std::string("mkey"), nID), kMasterKey, true);
}
- // Support for BIP 0013 : see https://en.bitcoin.it/wiki/BIP_0013
- bool ReadCScript(const uint160 &hash, CScript& redeemScript)
- {
- redeemScript.clear();
- return Read(std::make_pair(std::string("cscript"), hash), redeemScript);
- }
-
bool WriteCScript(const uint160& hash, const CScript& redeemScript)
{
nWalletDBUpdated++;
@@ -114,16 +92,16 @@ public:
return Read(std::string("bestblock"), locator);
}
- bool ReadDefaultKey(std::vector<unsigned char>& vchPubKey)
+ bool WriteOrderPosNext(int64 nOrderPosNext)
{
- vchPubKey.clear();
- return Read(std::string("defaultkey"), vchPubKey);
+ nWalletDBUpdated++;
+ return Write(std::string("orderposnext"), nOrderPosNext);
}
- bool WriteDefaultKey(const std::vector<unsigned char>& vchPubKey)
+ bool WriteDefaultKey(const CPubKey& vchPubKey)
{
nWalletDBUpdated++;
- return Write(std::string("defaultkey"), vchPubKey);
+ return Write(std::string("defaultkey"), vchPubKey.Raw());
}
bool ReadPool(int64 nPool, CKeyPool& keypool)
@@ -169,11 +147,17 @@ public:
bool ReadAccount(const std::string& strAccount, CAccount& account);
bool WriteAccount(const std::string& strAccount, const CAccount& account);
+private:
+ bool WriteAccountingEntry(const uint64 nAccEntryNum, const CAccountingEntry& acentry);
+public:
bool WriteAccountingEntry(const CAccountingEntry& acentry);
int64 GetAccountCreditDebit(const std::string& strAccount);
void ListAccountCreditDebit(const std::string& strAccount, std::list<CAccountingEntry>& acentries);
- int LoadWallet(CWallet* pwallet);
+ DBErrors ReorderTransactions(CWallet*);
+ DBErrors LoadWallet(CWallet* pwallet);
+ static bool Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys);
+ static bool Recover(CDBEnv& dbenv, std::string filename);
};
#endif // BITCOIN_WALLETDB_H