diff options
153 files changed, 5273 insertions, 4695 deletions
diff --git a/.travis.yml b/.travis.yml index 8e9684826f..d2fbfee6f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,6 +69,6 @@ script: - make $MAKEJOBS $GOAL || ( echo "Build failure. Verbose build follows." && make $GOAL V=1 ; false ) - export LD_LIBRARY_PATH=$TRAVIS_BUILD_DIR/depends/$HOST/lib - if [ "$RUN_TESTS" = "true" ]; then make check; fi - - if [ "$RUN_TESTS" = "true" ]; then qa/pull-tester/rpc-tests.py; fi + - if [ "$RUN_TESTS" = "true" ]; then qa/pull-tester/rpc-tests.py --coverage; fi after_script: - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then (echo "Upload goes here. Something like: scp -r $BASE_OUTDIR server" || echo "upload failed"); fi diff --git a/.tx/config b/.tx/config index 6c534f06e4..d6cc3aab88 100644 --- a/.tx/config +++ b/.tx/config @@ -1,7 +1,7 @@ [main] host = https://www.transifex.com -[bitcoin.qt-translation-011x] +[bitcoin.qt-translation-012x] file_filter = src/qt/locale/bitcoin_<lang>.ts source_file = src/qt/locale/bitcoin_en.ts source_lang = en diff --git a/Makefile.am b/Makefile.am index f0961c64ec..303ad3b06f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -213,7 +213,7 @@ endif dist_noinst_SCRIPTS = autogen.sh -EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.py qa/pull-tester/tests_config.py qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) +EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.py qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4 index 121e10bd37..2480267dc1 100644 --- a/build-aux/m4/bitcoin_qt.m4 +++ b/build-aux/m4/bitcoin_qt.m4 @@ -50,7 +50,7 @@ AC_DEFUN([BITCOIN_QT_INIT],[ dnl enable qt support AC_ARG_WITH([gui], [AS_HELP_STRING([--with-gui@<:@=no|qt4|qt5|auto@:>@], - [build bitcoin-qt GUI (default=auto, qt4 tried first)])], + [build bitcoin-qt GUI (default=auto, qt5 tried first)])], [ bitcoin_qt_want_version=$withval if test x$bitcoin_qt_want_version = xyes; then @@ -106,7 +106,9 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ dnl results to QT_LIBS. BITCOIN_QT_CHECK([ TEMP_CPPFLAGS=$CPPFLAGS + TEMP_CXXFLAGS=$CXXFLAGS CPPFLAGS="$QT_INCLUDES $CPPFLAGS" + CXXFLAGS="$PIC_FLAGS $CXXFLAGS" if test x$bitcoin_qt_got_major_vers = x5; then _BITCOIN_QT_IS_STATIC if test x$bitcoin_cv_static_qt = xyes; then @@ -149,6 +151,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ fi fi CPPFLAGS=$TEMP_CPPFLAGS + CXXFLAGS=$TEMP_CXXFLAGS ]) if test x$use_pkgconfig$qt_bin_path = xyes; then @@ -157,6 +160,43 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ fi fi + if test x$use_hardening != xno; then + BITCOIN_QT_CHECK([ + AC_MSG_CHECKING(whether -fPIE can be used with this Qt config) + TEMP_CPPFLAGS=$CPPFLAGS + TEMP_CXXFLAGS=$CXXFLAGS + CPPFLAGS="$QT_INCLUDES $CPPFLAGS" + CXXFLAGS="$PIE_FLAGS $CXXFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <QtCore/qconfig.h>]], + [[ + #if defined(QT_REDUCE_RELOCATIONS) + choke; + #endif + ]])], + [ AC_MSG_RESULT(yes); QT_PIE_FLAGS=$PIE_FLAGS ], + [ AC_MSG_RESULT(no); QT_PIE_FLAGS=$PIC_FLAGS] + ) + CPPFLAGS=$TEMP_CPPFLAGS + CXXFLAGS=$TEMP_CXXFLAGS + ]) + else + BITCOIN_QT_CHECK([ + AC_MSG_CHECKING(whether -fPIC is needed with this Qt config) + TEMP_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$QT_INCLUDES $CPPFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <QtCore/qconfig.h>]], + [[ + #if defined(QT_REDUCE_RELOCATIONS) + choke; + #endif + ]])], + [ AC_MSG_RESULT(no)], + [ AC_MSG_RESULT(yes); QT_PIE_FLAGS=$PIC_FLAGS] + ) + CPPFLAGS=$TEMP_CPPFLAGS + ]) + fi + BITCOIN_QT_PATH_PROGS([MOC], [moc-qt${bitcoin_qt_got_major_vers} moc${bitcoin_qt_got_major_vers} moc], $qt_bin_path) BITCOIN_QT_PATH_PROGS([UIC], [uic-qt${bitcoin_qt_got_major_vers} uic${bitcoin_qt_got_major_vers} uic], $qt_bin_path) BITCOIN_QT_PATH_PROGS([RCC], [rcc-qt${bitcoin_qt_got_major_vers} rcc${bitcoin_qt_got_major_vers} rcc], $qt_bin_path) @@ -202,6 +242,7 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ ]) AC_MSG_RESULT([$bitcoin_enable_qt (Qt${bitcoin_qt_got_major_vers})]) + AC_SUBST(QT_PIE_FLAGS) AC_SUBST(QT_INCLUDES) AC_SUBST(QT_LIBS) AC_SUBST(QT_LDFLAGS) @@ -373,6 +414,8 @@ dnl Outputs: bitcoin_qt_got_major_vers is set to "4" or "5". dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no. AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ TEMP_CPPFLAGS="$CPPFLAGS" + TEMP_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$PIC_FLAGS $CXXFLAGS" TEMP_LIBS="$LIBS" BITCOIN_QT_CHECK([ if test x$qt_include_path != x; then @@ -442,6 +485,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ fi ]) CPPFLAGS="$TEMP_CPPFLAGS" + CXXFLAGS="$TEMP_CXXFLAGS" LIBS="$TEMP_LIBS" ]) diff --git a/configure.ac b/configure.ac index 25ace88f32..e8aea902ae 100644 --- a/configure.ac +++ b/configure.ac @@ -93,7 +93,7 @@ AC_ARG_ENABLE(tests, [use_tests=yes]) AC_ARG_ENABLE(bench, - AS_HELP_STRING([--enable-bench],[compile benchmarks (default is yes)]), + AS_HELP_STRING([--disable-bench],[do not compile benchmarks (default is to compile)]), [use_bench=$enableval], [use_bench=yes]) @@ -326,6 +326,7 @@ case $host in AX_CHECK_LINK_FLAG([[-Wl,-headerpad_max_install_names]], [LDFLAGS="$LDFLAGS -Wl,-headerpad_max_install_names"]) CPPFLAGS="$CPPFLAGS -DMAC_OSX" + OBJCXXFLAGS="$CXXFLAGS" ;; *linux*) TARGET_OS=linux @@ -424,6 +425,11 @@ if test x$use_glibc_compat != xno; then fi +if test x$TARGET_OS != xwindows; then + # All windows code is PIC, forcing it on just adds useless compile warnings + AX_CHECK_COMPILE_FLAG([-fPIC],[PIC_FLAGS="-fPIC"]) +fi + if test x$use_hardening != xno; then AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"]) AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"]) @@ -441,8 +447,7 @@ if test x$use_hardening != xno; then AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"]) if test x$TARGET_OS != xwindows; then - # All windows code is PIC, forcing it on just adds useless compile warnings - AX_CHECK_COMPILE_FLAG([-fPIE],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fPIE"]) + AX_CHECK_COMPILE_FLAG([-fPIE],[PIE_FLAGS="-fPIE"]) AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"]) fi @@ -451,11 +456,6 @@ if test x$use_hardening != xno; then AC_CHECK_LIB([ssp], [main],, AC_MSG_ERROR(lib missing)) ;; esac - - CXXFLAGS="$CXXFLAGS $HARDENED_CXXFLAGS" - CPPFLAGS="$CPPFLAGS $HARDENED_CPPFLAGS" - LDFLAGS="$LDFLAGS $HARDENED_LDFLAGS" - OBJCXXFLAGS="$CXXFLAGS" fi dnl this flag screws up non-darwin gcc even when the check fails. special-case it. @@ -538,7 +538,7 @@ fi BITCOIN_QT_INIT dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus -BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt4]) +BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt5]) if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests = xnononono; then use_boost=no @@ -915,6 +915,11 @@ AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE) AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR) AC_SUBST(RELDFLAGS) +AC_SUBST(HARDENED_CXXFLAGS) +AC_SUBST(HARDENED_CPPFLAGS) +AC_SUBST(HARDENED_LDFLAGS) +AC_SUBST(PIC_FLAGS) +AC_SUBST(PIE_FLAGS) AC_SUBST(LIBTOOL_APP_LDFLAGS) AC_SUBST(USE_UPNP) AC_SUBST(USE_QRCODE) diff --git a/contrib/devtools/README.md b/contrib/devtools/README.md index 278794f14c..2e70c5adcc 100644 --- a/contrib/devtools/README.md +++ b/contrib/devtools/README.md @@ -62,6 +62,11 @@ optimize-pngs.py A script to optimize png files in the bitcoin repository (requires pngcrush). +security-check.py and test-security-check.py +============================================ + +Perform basic ELF security checks on a series of executables. + symbol-check.py =============== diff --git a/contrib/verify-commits/trusted-keys b/contrib/verify-commits/trusted-keys index a0dce7a8a5..fcf2b98e77 100644 --- a/contrib/verify-commits/trusted-keys +++ b/contrib/verify-commits/trusted-keys @@ -3,4 +3,4 @@ 01CDF4627A3B88AAE4A571C87588242FBE38D3A8 AF8BE07C7049F3A26B239D5325B3083201782B2F 81291FA67D2C379A006A053FEAB5AF94D9E9ABE7 -133EAC179436F14A5CF1B794860FEB804E669320 +3F1888C6DCA92A6499C4911FDBA1A67379A1A931 diff --git a/depends/config.guess b/depends/config.guess index 3c022c5bb8..b3f905370a 100755 --- a/depends/config.guess +++ b/depends/config.guess @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2015-09-14' +timestamp='2015-10-21' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -1123,7 +1123,7 @@ EOF # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; diff --git a/doc/README.md b/doc/README.md index 08fd724355..0594d20dd4 100644 --- a/doc/README.md +++ b/doc/README.md @@ -43,6 +43,8 @@ The following are developer notes on how to build Bitcoin on your native platfor - [OS X Build Notes](build-osx.md) - [Unix Build Notes](build-unix.md) +- [Windows Build Notes](build-windows.md) +- [OpenBSD Build Notes](build-openbsd.md) - [Gitian Building Guide](gitian-building.md) Development diff --git a/doc/build-osx.md b/doc/build-osx.md index 69c401b751..02498e5c4b 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -32,7 +32,7 @@ Instructions: Homebrew #### Install dependencies using Homebrew - brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf qt5 libevent + brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf qt5 libevent NOTE: Building with Qt4 is still supported, however, could result in a broken UI. As such, building with Qt5 is recommended. diff --git a/doc/build-unix.md b/doc/build-unix.md index a9a0028c4a..e1f2ce54d3 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -1,6 +1,6 @@ UNIX BUILD NOTES ==================== -Some notes on how to build Bitcoin in Unix. +Some notes on how to build Bitcoin Core in Unix. (for OpenBSD specific instructions, see [build-openbsd.md](build-openbsd.md)) @@ -61,49 +61,55 @@ Dependency Build Instructions: Ubuntu & Debian ---------------------------------------------- Build requirements: - sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libevent-dev + sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libevent-dev bsdmainutils -For Ubuntu 12.04 and later or Debian 7 and later libboost-all-dev has to be installed: +On at least Ubuntu 14.04+ and Debian 7+ there are generic names for the +individual boost development packages, so the following can be used to only +install necessary parts of boost: - sudo apt-get install libboost-all-dev + sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev - db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). - You can add the repository using the following command: +If that doesn't work, you can install all boost development packages with: - sudo add-apt-repository ppa:bitcoin/bitcoin - sudo apt-get update + sudo apt-get install libboost-all-dev - Ubuntu 12.04 and later have packages for libdb5.1-dev and libdb5.1++-dev, - but using these will break binary wallet compatibility, and is not recommended. +BerkeleyDB is required for the wallet. db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). +You can add the repository and install using the following commands: -For other Debian & Ubuntu (with ppa): + sudo add-apt-repository ppa:bitcoin/bitcoin + sudo apt-get update + sudo apt-get install libdb4.8-dev libdb4.8++-dev - sudo apt-get install libdb4.8-dev libdb4.8++-dev +Ubuntu and Debian have their own libdb-dev and libdb++-dev packages, but these will install +BerkeleyDB 5.1 or later, which break binary wallet compatibility with the distributed executables which +are based on BerkeleyDB 4.8. If you do not care about wallet compatibility, +pass `--with-incompatible-bdb` to configure. + +See the section "Disable-wallet mode" to build Bitcoin Core without wallet. Optional: - sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default) + sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default) ZMQ dependencies: - sudo apt-get install libzmq3-dev (provides ZMQ API 4.x) - + sudo apt-get install libzmq3-dev (provides ZMQ API 4.x) Dependencies for the GUI: Ubuntu & Debian ----------------------------------------- If you want to build Bitcoin-Qt, make sure that the required packages for Qt development -are installed. Either Qt 4 or Qt 5 are necessary to build the GUI. -If both Qt 4 and Qt 5 are installed, Qt 4 will be used. Pass `--with-gui=qt5` to configure to choose Qt5. +are installed. Either Qt 5 or Qt 4 are necessary to build the GUI. +If both Qt 4 and Qt 5 are installed, Qt 5 will be used. Pass `--with-gui=qt4` to configure to choose Qt4. To build without GUI pass `--without-gui`. -To build with Qt 4 you need the following: +To build with Qt 5 (recommended) you need the following: - sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler + sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler -For Qt 5 you need the following: +Alternatively, to build with Qt 4 you need the following: - sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler + sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler libqrencode (optional) can be installed with: @@ -207,6 +213,7 @@ Hardening enables the following features: scanelf -e ./bitcoin The output should contain: + TYPE ET_DYN diff --git a/doc/build-windows.md b/doc/build-windows.md new file mode 100644 index 0000000000..2b9233d1e1 --- /dev/null +++ b/doc/build-windows.md @@ -0,0 +1,40 @@ +WINDOWS BUILD NOTES +==================== + +Some notes on how to build Bitcoin Core for Windows. + +Most developers use cross-compilation from Ubuntu to build executables for +Windows. This is also used to build the release binaries. + +Building on Windows itself is possible (for example using msys / mingw-w64), +but no one documented the steps to do this. If you are doing this, please contribute them. + +Cross-compilation +------------------- + +These steps can be performed on, for example, an Ubuntu VM. The depends system +will also work on other Linux distributions, however the commands for +installing the toolchain will be different. + +First install the toolchains: + + sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev + +To build executables for Windows 32-bit: + + cd depends + make HOST=i686-w64-mingw32 -j4 + cd .. + ./configure --prefix=`pwd`/depends/i686-w64-mingw32 + make + +To build executables for Windows 64-bit: + + cd depends + make HOST=x86_64-w64-mingw32 -j4 + cd .. + ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 + make + +For further documentation on the depends system see [README.md](../depends/README.md) in the depends directory. + diff --git a/doc/files.md b/doc/files.md index c083bcb038..f7eca57dcb 100644 --- a/doc/files.md +++ b/doc/files.md @@ -12,6 +12,8 @@ * fee_estimates.dat: stores statistics used to estimate minimum transaction fees and priorities required for confirmation; since 0.10.0 * peers.dat: peer IP address database (custom format); since 0.7.0 * wallet.dat: personal wallet (BDB) with keys and transactions +* .cookie: session RPC authentication cookie (written at start when cookie authentication is used, deleted on shutdown): since 0.12.0 +* onion_private_key: cached Tor hidden service private key for `-listenonion`: since 0.12.0 Only used in pre-0.8.0 --------------------- diff --git a/doc/gitian-building.md b/doc/gitian-building.md index 00fdce82e8..43de87d4ba 100644 --- a/doc/gitian-building.md +++ b/doc/gitian-building.md @@ -289,11 +289,11 @@ The rest of the steps in this guide will be performed as that user. There is no `python-vm-builder` package in Debian, so we need to install it from source ourselves, ```bash -wget http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12.4+bzr489.orig.tar.gz -echo "ec12e0070a007989561bfee5862c89a32c301992dd2771c4d5078ef1b3014f03 vm-builder_0.12.4+bzr489.orig.tar.gz" | sha256sum -c +wget http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12.4+bzr494.orig.tar.gz +echo "76cbf8c52c391160b2641e7120dbade5afded713afaa6032f733a261f13e6a8e vm-builder_0.12.4+bzr494.orig.tar.gz" | sha256sum -c # (verification -- must return OK) -tar -zxvf vm-builder_0.12.4+bzr489.orig.tar.gz -cd vm-builder-0.12.4+bzr489 +tar -zxvf vm-builder_0.12.4+bzr494.orig.tar.gz +cd vm-builder-0.12.4+bzr494 sudo python setup.py install cd .. ``` diff --git a/doc/reducetraffic.md b/doc/reducetraffic.md new file mode 100644 index 0000000000..a79571913a --- /dev/null +++ b/doc/reducetraffic.md @@ -0,0 +1,35 @@ +Reduce Traffic +============== + +Some node operators need to deal with bandwith caps imposed by their ISPs. + +By default, bitcoin-core allows up to 125 connections to different peers, 8 of +which are outbound. You can therefore, have at most 117 inbound connections. + +The default settings can result in relatively significant traffic consumption. + +Ways to reduce traffic: + +## 1. Use `-maxuploadtarget=<MiB per day>` + +A major component of the traffic is caused by serving historic blocks to other nodes +during the initial blocks download phase (syncing up a new node). +This option can be specified in MiB per day and is turned off by default. +This is *not* a hard limit; only a threshold to minimize the outbound +traffic. When the limit is about to be reached, the uploaded data is cut by no +longer serving historic blocks (blocks older than one week). +Keep in mind that new nodes require other nodes that are willing to serve +historic blocks. **The recommended minimum is 144 blocks per day (max. 144MB +per day)** + +## 2. Disable "listening" (`-listen=0`) + +Disabling listening will result in fewer nodes connected (remember the maximum of 8 +outbound peers). Fewer nodes will result in less traffic usage as you are relaying +blocks and transactions to fewer nodes. + +## 3. Reduce maximum connections (`-maxconnections=<num>`) + +Reducing the maximum connected nodes to a miniumum could be desirable if traffic +limits are tiny. Keep in mind that bitcoin's trustless model works best if you are +connected to a handful of nodes. diff --git a/doc/release-notes.md b/doc/release-notes.md index e9b2d75a76..31704ba47c 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -124,6 +124,50 @@ sanity check. Since 0.12, these are no longer stored. When loading a 0.12 wallet into an older version, it will automatically rescan to avoid failed checks. +BIP65 - CHECKLOCKTIMEVERIFY +--------------------------- + +Previously it was impossible to create a transaction output that was guaranteed +to be unspendable until a specific date in the future. CHECKLOCKTIMEVERIFY is a +new opcode that allows a script to check if a specific block height or time has +been reached, failing the script otherwise. This enables a wide variety of new +functionality such as time-locked escrows, secure payment channels, etc. + +BIP65 implements CHECKLOCKTIMEVERIFY by introducing block version 4, which adds +additional restrictions to the NOP2 opcode. The same miner-voting mechanism as +in BIP34 and BIP66 is used: when 751 out of a sequence of 1001 blocks have +version number 4 or higher, the new consensus rule becomes active for those +blocks. When 951 out of a sequence of 1001 blocks have version number 4 or +higher, it becomes mandatory for all blocks and blocks with versions less than +4 are rejected. + +Bitcoin Core's block templates are now for version 4 blocks only, and any +mining software relying on its `getblocktemplate` must be updated in parallel +to use either libblkmaker version 0.4.3 or any version from 0.5.2 onward. If +you are solo mining, this will affect you the moment you upgrade Bitcoin Core, +which must be done prior to BIP65 achieving its 951/1001 status. If you are +mining with the stratum mining protocol: this does not affect you. If you are +mining with the getblocktemplate protocol to a pool: this will affect you at +the pool operator's discretion, which must be no later than BIP65 achieving its +951/1001 status. + +Automatically listen on Tor +---------------------------- + +Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket +API, to create and destroy 'ephemeral' hidden services programmatically. +Bitcoin Core has been updated to make use of this. + +This means that if Tor is running (and proper authorization is available), +Bitcoin Core automatically creates a hidden service to listen on, without +manual configuration. This will positively affect the number of available +.onion nodes. + +This new feature is enabled by default if Bitcoin Core is listening, and +a connection to Tor can be made. It can be configured with the `-listenonion`, +`-torcontrol` and `-torpassword` settings. To show verbose debugging +information, pass `-debug=tor`. + 0.12.0 Change log ================= diff --git a/doc/tor.md b/doc/tor.md index 594897f896..1d35a658bc 100644 --- a/doc/tor.md +++ b/doc/tor.md @@ -87,3 +87,20 @@ 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 -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover + +3. Automatically listen on Tor +-------------------------------- + +Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket +API, to create and destroy 'ephemeral' hidden services programmatically. +Bitcoin Core has been updated to make use of this. + +This means that if Tor is running (and proper authorization is available), +Bitcoin Core automatically creates a hidden service to listen on, without +manual configuration. This will positively affect the number of available +.onion nodes. + +This new feature is enabled by default if Bitcoin Core is listening, and +a connection to Tor can be made. It can be configured with the `-listenonion`, +`-torcontrol` and `-torpassword` settings. To show verbose debugging +information, pass `-debug=tor`. diff --git a/doc/translation_strings_policy.md b/doc/translation_strings_policy.md index 936a6112c6..b95259cdc9 100644 --- a/doc/translation_strings_policy.md +++ b/doc/translation_strings_policy.md @@ -52,7 +52,7 @@ Try to write translation strings in an understandable way, for both the user and ### Do not translate internal errors Do not translate internal errors, or log messages, or messages that appear on the RPC interface. If an error is to be shown to the user, -use a generic message, then log the detailed message to the log. E.g. "Error: A fatal internal error occurred, see debug.log for details". +use a translatable generic message, then log the detailed message to the log. E.g. "A fatal internal error occurred, see debug.log for details". This helps troubleshooting; if the error is the same for everyone, the likelihood is increased that it can be found using a search engine. ### Avoid fragments diff --git a/qa/pull-tester/rpc-tests.py b/qa/pull-tester/rpc-tests.py index 3059fee426..83fc9b8f96 100755 --- a/qa/pull-tester/rpc-tests.py +++ b/qa/pull-tester/rpc-tests.py @@ -3,16 +3,32 @@ # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -# -# Run Regression Test Suite -# +""" +Run Regression Test Suite + +This module calls down into individual test cases via subprocess. It will +forward all unrecognized arguments onto the individual test scripts, other +than: + + - `-extended`: run the "extended" test suite in addition to the basic one. + - `-win`: signal that this is running in a Windows environment, and we + should run the tests. + - `--coverage`: this generates a basic coverage report for the RPC + interface. + +For a description of arguments recognized by test scripts, see +`qa/pull-tester/test_framework/test_framework.py:BitcoinTestFramework.main`. + +""" import os +import shutil import sys import subprocess +import tempfile import re + from tests_config import * -from sets import Set #If imported values are not defined then set to zero (or disabled) if not vars().has_key('ENABLE_WALLET'): @@ -24,15 +40,20 @@ if not vars().has_key('ENABLE_UTILS'): if not vars().has_key('ENABLE_ZMQ'): ENABLE_ZMQ=0 +ENABLE_COVERAGE=0 + #Create a set to store arguments and create the passOn string -opts = Set() +opts = set() passOn = "" p = re.compile("^--") -for i in range(1,len(sys.argv)): - if (p.match(sys.argv[i]) or sys.argv[i] == "-h"): - passOn += " " + sys.argv[i] + +for arg in sys.argv[1:]: + if arg == '--coverage': + ENABLE_COVERAGE = 1 + elif (p.match(arg) or arg == "-h"): + passOn += " " + arg else: - opts.add(sys.argv[i]) + opts.add(arg) #Set env vars buildDir = BUILDDIR @@ -68,6 +89,7 @@ testScripts = [ 'decodescript.py', 'p2p-fullblocktest.py', 'blockchain.py', + 'disablewallet.py', ] testScriptsExt = [ 'bip65-cltv.py', @@ -97,24 +119,125 @@ testScriptsExt = [ if ENABLE_ZMQ == 1: testScripts.append('zmq_test.py') -if(ENABLE_WALLET == 1 and ENABLE_UTILS == 1 and ENABLE_BITCOIND == 1): - rpcTestDir = buildDir + '/qa/rpc-tests/' - #Run Tests - for i in range(len(testScripts)): - if (len(opts) == 0 or (len(opts) == 1 and "-win" in opts ) or '-extended' in opts - or testScripts[i] in opts or re.sub(".py$", "", testScripts[i]) in opts ): - print "Running testscript " + testScripts[i] + "..." - subprocess.check_call(rpcTestDir + testScripts[i] + " --srcdir " + buildDir + '/src ' + passOn,shell=True) - #exit if help is called so we print just one set of instructions - p = re.compile(" -h| --help") - if p.match(passOn): - sys.exit(0) - - #Run Extended Tests - for i in range(len(testScriptsExt)): - if ('-extended' in opts or testScriptsExt[i] in opts - or re.sub(".py$", "", testScriptsExt[i]) in opts): - print "Running 2nd level testscript " + testScriptsExt[i] + "..." - subprocess.check_call(rpcTestDir + testScriptsExt[i] + " --srcdir " + buildDir + '/src ' + passOn,shell=True) -else: - print "No rpc tests to run. Wallet, utils, and bitcoind must all be enabled" + +def runtests(): + coverage = None + + if ENABLE_COVERAGE: + coverage = RPCCoverage() + print("Initializing coverage directory at %s" % coverage.dir) + + if(ENABLE_WALLET == 1 and ENABLE_UTILS == 1 and ENABLE_BITCOIND == 1): + rpcTestDir = buildDir + '/qa/rpc-tests/' + run_extended = '-extended' in opts + cov_flag = coverage.flag if coverage else '' + flags = " --srcdir %s/src %s %s" % (buildDir, cov_flag, passOn) + + #Run Tests + for i in range(len(testScripts)): + if (len(opts) == 0 + or (len(opts) == 1 and "-win" in opts ) + or run_extended + or testScripts[i] in opts + or re.sub(".py$", "", testScripts[i]) in opts ): + print("Running testscript " + testScripts[i] + "...") + + subprocess.check_call( + rpcTestDir + testScripts[i] + flags, shell=True) + + # exit if help is called so we print just one set of + # instructions + p = re.compile(" -h| --help") + if p.match(passOn): + sys.exit(0) + + # Run Extended Tests + for i in range(len(testScriptsExt)): + if (run_extended or testScriptsExt[i] in opts + or re.sub(".py$", "", testScriptsExt[i]) in opts): + print( + "Running 2nd level testscript " + + testScriptsExt[i] + "...") + + subprocess.check_call( + rpcTestDir + testScriptsExt[i] + flags, shell=True) + + if coverage: + coverage.report_rpc_coverage() + + print("Cleaning up coverage data") + coverage.cleanup() + + else: + print "No rpc tests to run. Wallet, utils, and bitcoind must all be enabled" + + +class RPCCoverage(object): + """ + Coverage reporting utilities for pull-tester. + + Coverage calculation works by having each test script subprocess write + coverage files into a particular directory. These files contain the RPC + commands invoked during testing, as well as a complete listing of RPC + commands per `bitcoin-cli help` (`rpc_interface.txt`). + + After all tests complete, the commands run are combined and diff'd against + the complete list to calculate uncovered RPC commands. + + See also: qa/rpc-tests/test_framework/coverage.py + + """ + def __init__(self): + self.dir = tempfile.mkdtemp(prefix="coverage") + self.flag = '--coveragedir %s' % self.dir + + def report_rpc_coverage(self): + """ + Print out RPC commands that were unexercised by tests. + + """ + uncovered = self._get_uncovered_rpc_commands() + + if uncovered: + print("Uncovered RPC commands:") + print("".join((" - %s\n" % i) for i in sorted(uncovered))) + else: + print("All RPC commands covered.") + + def cleanup(self): + return shutil.rmtree(self.dir) + + def _get_uncovered_rpc_commands(self): + """ + Return a set of currently untested RPC commands. + + """ + # This is shared from `qa/rpc-tests/test-framework/coverage.py` + REFERENCE_FILENAME = 'rpc_interface.txt' + COVERAGE_FILE_PREFIX = 'coverage.' + + coverage_ref_filename = os.path.join(self.dir, REFERENCE_FILENAME) + coverage_filenames = set() + all_cmds = set() + covered_cmds = set() + + if not os.path.isfile(coverage_ref_filename): + raise RuntimeError("No coverage reference found") + + with open(coverage_ref_filename, 'r') as f: + all_cmds.update([i.strip() for i in f.readlines()]) + + for root, dirs, files in os.walk(self.dir): + for filename in files: + if filename.startswith(COVERAGE_FILE_PREFIX): + coverage_filenames.add(os.path.join(root, filename)) + + for filename in coverage_filenames: + with open(filename, 'r') as f: + covered_cmds.update([i.strip() for i in f.readlines()]) + + return all_cmds - covered_cmds + + +if __name__ == '__main__': + runtests() diff --git a/qa/rpc-tests/bip65-cltv-p2p.py b/qa/rpc-tests/bip65-cltv-p2p.py index 1f8548c219..9ca5c69f16 100755 --- a/qa/rpc-tests/bip65-cltv-p2p.py +++ b/qa/rpc-tests/bip65-cltv-p2p.py @@ -67,6 +67,7 @@ class BIP65Test(ComparisonTestFramework): def get_tests(self): self.coinbase_blocks = self.nodes[0].generate(2) + height = 3 # height of the next block to build self.tip = int ("0x" + self.nodes[0].getbestblockhash() + "L", 0) self.nodeaddress = self.nodes[0].getnewaddress() self.last_block_time = time.time() @@ -74,25 +75,27 @@ class BIP65Test(ComparisonTestFramework): ''' 98 more version 3 blocks ''' test_blocks = [] for i in xrange(98): - block = create_block(self.tip, create_coinbase(2), self.last_block_time + 1) + block = create_block(self.tip, create_coinbase(height), self.last_block_time + 1) block.nVersion = 3 block.rehash() block.solve() test_blocks.append([block, True]) self.last_block_time += 1 self.tip = block.sha256 + height += 1 yield TestInstance(test_blocks, sync_every_block=False) ''' Mine 749 version 4 blocks ''' test_blocks = [] for i in xrange(749): - block = create_block(self.tip, create_coinbase(2), self.last_block_time + 1) + block = create_block(self.tip, create_coinbase(height), self.last_block_time + 1) block.nVersion = 4 block.rehash() block.solve() test_blocks.append([block, True]) self.last_block_time += 1 self.tip = block.sha256 + height += 1 yield TestInstance(test_blocks, sync_every_block=False) ''' @@ -104,7 +107,7 @@ class BIP65Test(ComparisonTestFramework): cltv_invalidate(spendtx) spendtx.rehash() - block = create_block(self.tip, create_coinbase(2), self.last_block_time + 1) + block = create_block(self.tip, create_coinbase(height), self.last_block_time + 1) block.nVersion = 4 block.vtx.append(spendtx) block.hashMerkleRoot = block.calc_merkle_root() @@ -113,6 +116,7 @@ class BIP65Test(ComparisonTestFramework): self.last_block_time += 1 self.tip = block.sha256 + height += 1 yield TestInstance([[block, True]]) ''' @@ -124,7 +128,7 @@ class BIP65Test(ComparisonTestFramework): cltv_invalidate(spendtx) spendtx.rehash() - block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block = create_block(self.tip, create_coinbase(height), self.last_block_time + 1) block.nVersion = 4 block.vtx.append(spendtx) block.hashMerkleRoot = block.calc_merkle_root() @@ -136,35 +140,38 @@ class BIP65Test(ComparisonTestFramework): ''' Mine 199 new version blocks on last valid tip ''' test_blocks = [] for i in xrange(199): - block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block = create_block(self.tip, create_coinbase(height), self.last_block_time + 1) block.nVersion = 4 block.rehash() block.solve() test_blocks.append([block, True]) self.last_block_time += 1 self.tip = block.sha256 + height += 1 yield TestInstance(test_blocks, sync_every_block=False) ''' Mine 1 old version block ''' - block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block = create_block(self.tip, create_coinbase(height), self.last_block_time + 1) block.nVersion = 3 block.rehash() block.solve() self.last_block_time += 1 self.tip = block.sha256 + height += 1 yield TestInstance([[block, True]]) ''' Mine 1 new version block ''' - block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block = create_block(self.tip, create_coinbase(height), self.last_block_time + 1) block.nVersion = 4 block.rehash() block.solve() self.last_block_time += 1 self.tip = block.sha256 + height += 1 yield TestInstance([[block, True]]) ''' Mine 1 old version block, should be invalid ''' - block = create_block(self.tip, create_coinbase(1), self.last_block_time + 1) + block = create_block(self.tip, create_coinbase(height), self.last_block_time + 1) block.nVersion = 3 block.rehash() block.solve() diff --git a/qa/rpc-tests/disablewallet.py b/qa/rpc-tests/disablewallet.py new file mode 100755 index 0000000000..4cb01575e2 --- /dev/null +++ b/qa/rpc-tests/disablewallet.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python2 +# Copyright (c) 2014 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. + +# +# Exercise API with -disablewallet. +# + +from test_framework.test_framework import BitcoinTestFramework +from test_framework.util import * + +class DisableWalletTest (BitcoinTestFramework): + + def setup_chain(self): + print("Initializing test directory "+self.options.tmpdir) + initialize_chain_clean(self.options.tmpdir, 1) + + def setup_network(self, split=False): + self.nodes = start_nodes(1, self.options.tmpdir, [['-disablewallet']]) + self.is_network_split = False + self.sync_all() + + def run_test (self): + # Check regression: https://github.com/bitcoin/bitcoin/issues/6963#issuecomment-154548880 + x = self.nodes[0].validateaddress('3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy') + assert(x['isvalid'] == False) + x = self.nodes[0].validateaddress('mneYUmWYsuk7kySiURxCi3AGxrAqZxLgPZ') + assert(x['isvalid'] == True) + +if __name__ == '__main__': + DisableWalletTest ().main () diff --git a/qa/rpc-tests/getblocktemplate_longpoll.py b/qa/rpc-tests/getblocktemplate_longpoll.py index aab4562422..1ddff8a298 100755 --- a/qa/rpc-tests/getblocktemplate_longpoll.py +++ b/qa/rpc-tests/getblocktemplate_longpoll.py @@ -38,7 +38,7 @@ class LongpollThread(threading.Thread): self.longpollid = templat['longpollid'] # create a new connection to the node, we can't use the same # connection from two threads - self.node = AuthServiceProxy(node.url, timeout=600) + self.node = get_rpc_proxy(node.url, 1, timeout=600) def run(self): self.node.getblocktemplate({'longpollid':self.longpollid}) diff --git a/qa/rpc-tests/rpcbind_test.py b/qa/rpc-tests/rpcbind_test.py index 04110c2831..7a9da66787 100755 --- a/qa/rpc-tests/rpcbind_test.py +++ b/qa/rpc-tests/rpcbind_test.py @@ -47,7 +47,7 @@ def run_allowip_test(tmpdir, allow_ips, rpchost, rpcport): try: # connect to node through non-loopback interface url = "http://rt:rt@%s:%d" % (rpchost, rpcport,) - node = AuthServiceProxy(url) + node = get_rpc_proxy(url, 1) node.getinfo() finally: node = None # make sure connection will be garbage collected and closed diff --git a/qa/rpc-tests/test_framework/authproxy.py b/qa/rpc-tests/test_framework/authproxy.py index 33014dc139..fba469a0dd 100644 --- a/qa/rpc-tests/test_framework/authproxy.py +++ b/qa/rpc-tests/test_framework/authproxy.py @@ -69,7 +69,7 @@ class AuthServiceProxy(object): def __init__(self, service_url, service_name=None, timeout=HTTP_TIMEOUT, connection=None): self.__service_url = service_url - self.__service_name = service_name + self._service_name = service_name self.__url = urlparse.urlparse(service_url) if self.__url.port is None: port = 80 @@ -102,8 +102,8 @@ class AuthServiceProxy(object): if name.startswith('__') and name.endswith('__'): # Python internal stuff raise AttributeError - if self.__service_name is not None: - name = "%s.%s" % (self.__service_name, name) + if self._service_name is not None: + name = "%s.%s" % (self._service_name, name) return AuthServiceProxy(self.__service_url, name, connection=self.__conn) def _request(self, method, path, postdata): @@ -129,10 +129,10 @@ class AuthServiceProxy(object): def __call__(self, *args): AuthServiceProxy.__id_count += 1 - log.debug("-%s-> %s %s"%(AuthServiceProxy.__id_count, self.__service_name, + log.debug("-%s-> %s %s"%(AuthServiceProxy.__id_count, self._service_name, json.dumps(args, default=EncodeDecimal))) postdata = json.dumps({'version': '1.1', - 'method': self.__service_name, + 'method': self._service_name, 'params': args, 'id': AuthServiceProxy.__id_count}, default=EncodeDecimal) response = self._request('POST', self.__url.path, postdata) diff --git a/qa/rpc-tests/test_framework/coverage.py b/qa/rpc-tests/test_framework/coverage.py new file mode 100644 index 0000000000..50f066a850 --- /dev/null +++ b/qa/rpc-tests/test_framework/coverage.py @@ -0,0 +1,101 @@ +""" +This module contains utilities for doing coverage analysis on the RPC +interface. + +It provides a way to track which RPC commands are exercised during +testing. + +""" +import os + + +REFERENCE_FILENAME = 'rpc_interface.txt' + + +class AuthServiceProxyWrapper(object): + """ + An object that wraps AuthServiceProxy to record specific RPC calls. + + """ + def __init__(self, auth_service_proxy_instance, coverage_logfile=None): + """ + Kwargs: + auth_service_proxy_instance (AuthServiceProxy): the instance + being wrapped. + coverage_logfile (str): if specified, write each service_name + out to a file when called. + + """ + self.auth_service_proxy_instance = auth_service_proxy_instance + self.coverage_logfile = coverage_logfile + + def __getattr__(self, *args, **kwargs): + return_val = self.auth_service_proxy_instance.__getattr__( + *args, **kwargs) + + return AuthServiceProxyWrapper(return_val, self.coverage_logfile) + + def __call__(self, *args, **kwargs): + """ + Delegates to AuthServiceProxy, then writes the particular RPC method + called to a file. + + """ + return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs) + rpc_method = self.auth_service_proxy_instance._service_name + + if self.coverage_logfile: + with open(self.coverage_logfile, 'a+') as f: + f.write("%s\n" % rpc_method) + + return return_val + + @property + def url(self): + return self.auth_service_proxy_instance.url + + +def get_filename(dirname, n_node): + """ + Get a filename unique to the test process ID and node. + + This file will contain a list of RPC commands covered. + """ + pid = str(os.getpid()) + return os.path.join( + dirname, "coverage.pid%s.node%s.txt" % (pid, str(n_node))) + + +def write_all_rpc_commands(dirname, node): + """ + Write out a list of all RPC functions available in `bitcoin-cli` for + coverage comparison. This will only happen once per coverage + directory. + + Args: + dirname (str): temporary test dir + node (AuthServiceProxy): client + + Returns: + bool. if the RPC interface file was written. + + """ + filename = os.path.join(dirname, REFERENCE_FILENAME) + + if os.path.isfile(filename): + return False + + help_output = node.help().split('\n') + commands = set() + + for line in help_output: + line = line.strip() + + # Ignore blanks and headers + if line and not line.startswith('='): + commands.add("%s\n" % line.split()[0]) + + with open(filename, 'w') as f: + f.writelines(list(commands)) + + return True diff --git a/qa/rpc-tests/test_framework/test_framework.py b/qa/rpc-tests/test_framework/test_framework.py index 5671431f6e..ae2d91ab60 100755 --- a/qa/rpc-tests/test_framework/test_framework.py +++ b/qa/rpc-tests/test_framework/test_framework.py @@ -13,8 +13,20 @@ import shutil import tempfile import traceback +from .util import ( + initialize_chain, + assert_equal, + start_nodes, + connect_nodes_bi, + sync_blocks, + sync_mempools, + stop_nodes, + wait_bitcoinds, + enable_coverage, + check_json_precision, + initialize_chain_clean, +) from authproxy import AuthServiceProxy, JSONRPCException -from util import * class BitcoinTestFramework(object): @@ -96,6 +108,8 @@ class BitcoinTestFramework(object): help="Root directory for datadirs") parser.add_option("--tracerpc", dest="trace_rpc", default=False, action="store_true", help="Print out all RPC calls as they are made") + parser.add_option("--coveragedir", dest="coveragedir", + help="Write tested RPC commands into this directory") self.add_options(parser) (self.options, self.args) = parser.parse_args() @@ -103,6 +117,9 @@ class BitcoinTestFramework(object): import logging logging.basicConfig(level=logging.DEBUG) + if self.options.coveragedir: + enable_coverage(self.options.coveragedir) + os.environ['PATH'] = self.options.srcdir+":"+os.environ['PATH'] check_json_precision() @@ -173,7 +190,8 @@ class ComparisonTestFramework(BitcoinTestFramework): initialize_chain_clean(self.options.tmpdir, self.num_nodes) def setup_network(self): - self.nodes = start_nodes(self.num_nodes, self.options.tmpdir, - extra_args=[['-debug', '-whitelist=127.0.0.1']] * self.num_nodes, - binary=[self.options.testbinary] + - [self.options.refbinary]*(self.num_nodes-1)) + self.nodes = start_nodes( + self.num_nodes, self.options.tmpdir, + extra_args=[['-debug', '-whitelist=127.0.0.1']] * self.num_nodes, + binary=[self.options.testbinary] + + [self.options.refbinary]*(self.num_nodes-1)) diff --git a/qa/rpc-tests/test_framework/util.py b/qa/rpc-tests/test_framework/util.py index 3759cc8162..30dd5de585 100644 --- a/qa/rpc-tests/test_framework/util.py +++ b/qa/rpc-tests/test_framework/util.py @@ -17,8 +17,43 @@ import subprocess import time import re -from authproxy import AuthServiceProxy, JSONRPCException -from util import * +from . import coverage +from .authproxy import AuthServiceProxy, JSONRPCException + +COVERAGE_DIR = None + + +def enable_coverage(dirname): + """Maintain a log of which RPC calls are made during testing.""" + global COVERAGE_DIR + COVERAGE_DIR = dirname + + +def get_rpc_proxy(url, node_number, timeout=None): + """ + Args: + url (str): URL of the RPC server to call + node_number (int): the node number (or id) that this calls to + + Kwargs: + timeout (int): HTTP timeout in seconds + + Returns: + AuthServiceProxy. convenience object for making RPC calls. + + """ + proxy_kwargs = {} + if timeout is not None: + proxy_kwargs['timeout'] = timeout + + proxy = AuthServiceProxy(url, **proxy_kwargs) + proxy.url = url # store URL on proxy for info + + coverage_logfile = coverage.get_filename( + COVERAGE_DIR, node_number) if COVERAGE_DIR else None + + return coverage.AuthServiceProxyWrapper(proxy, coverage_logfile) + def p2p_port(n): return 11000 + n + os.getpid()%999 @@ -79,13 +114,13 @@ def initialize_chain(test_dir): """ if (not os.path.isdir(os.path.join("cache","node0")) - or not os.path.isdir(os.path.join("cache","node1")) - or not os.path.isdir(os.path.join("cache","node2")) + or not os.path.isdir(os.path.join("cache","node1")) + or not os.path.isdir(os.path.join("cache","node2")) or not os.path.isdir(os.path.join("cache","node3"))): #find and delete old cache directories if any exist for i in range(4): - if os.path.isdir(os.path.join("cache","node"+str(i))): + if os.path.isdir(os.path.join("cache","node"+str(i))): shutil.rmtree(os.path.join("cache","node"+str(i))) devnull = open(os.devnull, "w") @@ -103,11 +138,13 @@ def initialize_chain(test_dir): if os.getenv("PYTHON_DEBUG", ""): print "initialize_chain: bitcoin-cli -rpcwait getblockcount completed" devnull.close() + rpcs = [] + for i in range(4): try: - url = "http://rt:rt@127.0.0.1:%d"%(rpc_port(i),) - rpcs.append(AuthServiceProxy(url)) + url = "http://rt:rt@127.0.0.1:%d" % (rpc_port(i),) + rpcs.append(get_rpc_proxy(url, i)) except: sys.stderr.write("Error connecting to "+url+"\n") sys.exit(1) @@ -190,11 +227,12 @@ def start_node(i, dirname, extra_args=None, rpchost=None, timewait=None, binary= print "start_node: calling bitcoin-cli -rpcwait getblockcount returned" devnull.close() url = "http://rt:rt@%s:%d" % (rpchost or '127.0.0.1', rpc_port(i)) - if timewait is not None: - proxy = AuthServiceProxy(url, timeout=timewait) - else: - proxy = AuthServiceProxy(url) - proxy.url = url # store URL on proxy for info + + proxy = get_rpc_proxy(url, i, timeout=timewait) + + if COVERAGE_DIR: + coverage.write_all_rpc_commands(COVERAGE_DIR, proxy) + return proxy def start_nodes(num_nodes, dirname, extra_args=None, rpchost=None, binary=None): diff --git a/src/.clang-format b/src/.clang-format index 226a15d185..129f062ef8 100644 --- a/src/.clang-format +++ b/src/.clang-format @@ -1,4 +1,6 @@ +Language: Cpp AccessModifierOffset: -4 +AlignAfterOpenBracket: false AlignEscapedNewlinesLeft: true AlignTrailingComments: true AllowAllParametersOfDeclarationOnNextLine: false @@ -26,7 +28,6 @@ IndentCaseLabels: false IndentFunctionDeclarationAfterType: false IndentWidth: 4 KeepEmptyLinesAtTheStartOfBlocks: false -Language: Cpp MaxEmptyLinesToKeep: 2 NamespaceIndentation: None ObjCSpaceAfterProperty: false diff --git a/src/Makefile.am b/src/Makefile.am index f35b9dc898..834c3dc891 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,8 @@ DIST_SUBDIRS = secp256k1 univalue -AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) +AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) $(HARDENED_LDFLAGS) +AM_CXXFLAGS = $(HARDENED_CXXFLAGS) +AM_CPPFLAGS = $(HARDENED_CPPFLAGS) if EMBEDDED_LEVELDB LEVELDB_CPPFLAGS += -I$(srcdir)/leveldb/include @@ -14,7 +16,7 @@ $(LIBLEVELDB): $(LIBMEMENV) $(LIBLEVELDB) $(LIBMEMENV): @echo "Building LevelDB ..." && $(MAKE) -C $(@D) $(@F) CXX="$(CXX)" \ CC="$(CC)" PLATFORM=$(TARGET_OS) AR="$(AR)" $(LEVELDB_TARGET_FLAGS) \ - OPT="$(CXXFLAGS) $(CPPFLAGS) -D__STDC_LIMIT_MACROS" + OPT="$(AM_CXXFLAGS) $(PIE_FLAGS) $(CXXFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -D__STDC_LIMIT_MACROS" endif BITCOIN_CONFIG_INCLUDES=-I$(builddir)/config @@ -149,6 +151,7 @@ BITCOIN_CORE_H = \ threadsafety.h \ timedata.h \ tinyformat.h \ + torcontrol.h \ txdb.h \ txmempool.h \ ui_interface.h \ @@ -178,7 +181,8 @@ obj/build.h: FORCE libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h # server: shared between bitcoind and bitcoin-qt -libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) $(EVENT_CFLAGS) $(EVENT_PTHREADS_CFLAGS) +libbitcoin_server_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) $(EVENT_CFLAGS) $(EVENT_PTHREADS_CFLAGS) +libbitcoin_server_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoin_server_a_SOURCES = \ addrman.cpp \ alert.cpp \ @@ -206,6 +210,7 @@ libbitcoin_server_a_SOURCES = \ rpcserver.cpp \ script/sigcache.cpp \ timedata.cpp \ + torcontrol.cpp \ txdb.cpp \ txmempool.cpp \ validationinterface.cpp \ @@ -215,6 +220,7 @@ if ENABLE_ZMQ LIBBITCOIN_ZMQ=libbitcoin_zmq.a libbitcoin_zmq_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(ZMQ_CFLAGS) +libbitcoin_zmq_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoin_zmq_a_SOURCES = \ zmq/zmqabstractnotifier.cpp \ zmq/zmqnotificationinterface.cpp \ @@ -224,7 +230,8 @@ endif # wallet: shared between bitcoind and bitcoin-qt, but only linked # when wallet enabled -libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_wallet_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_wallet_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoin_wallet_a_SOURCES = \ wallet/crypter.cpp \ wallet/db.cpp \ @@ -236,7 +243,8 @@ libbitcoin_wallet_a_SOURCES = \ $(BITCOIN_CORE_H) # crypto primitives library -crypto_libbitcoin_crypto_a_CPPFLAGS = $(BITCOIN_CONFIG_INCLUDES) +crypto_libbitcoin_crypto_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_CONFIG_INCLUDES) +crypto_libbitcoin_crypto_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) crypto_libbitcoin_crypto_a_SOURCES = \ crypto/common.h \ crypto/hmac_sha256.cpp \ @@ -253,7 +261,8 @@ crypto_libbitcoin_crypto_a_SOURCES = \ crypto/sha512.h # common: shared between bitcoind, and bitcoin-qt and non-server tools -libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_common_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_common_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoin_common_a_SOURCES = \ amount.cpp \ arith_uint256.cpp \ @@ -284,7 +293,8 @@ libbitcoin_common_a_SOURCES = \ # util: shared between all executables. # This library *must* be included to make sure that the glibc # backward-compatibility objects and their sanity checks are linked. -libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_util_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_util_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoin_util_a_SOURCES = \ support/pagelocker.cpp \ chainparamsbase.cpp \ @@ -308,7 +318,8 @@ libbitcoin_util_a_SOURCES += compat/glibc_compat.cpp endif # cli: shared between bitcoin-cli and bitcoin-qt -libbitcoin_cli_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_cli_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +libbitcoin_cli_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) libbitcoin_cli_a_SOURCES = \ rpcclient.cpp \ $(BITCOIN_CORE_H) @@ -318,7 +329,8 @@ nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h # bitcoind binary # bitcoind_SOURCES = bitcoind.cpp -bitcoind_CPPFLAGS = $(BITCOIN_INCLUDES) +bitcoind_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +bitcoind_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) bitcoind_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) if TARGET_WINDOWS @@ -347,7 +359,8 @@ bitcoind_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPN # bitcoin-cli binary # bitcoin_cli_SOURCES = bitcoin-cli.cpp -bitcoin_cli_CPPFLAGS = $(BITCOIN_INCLUDES) $(EVENT_CFLAGS) +bitcoin_cli_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CFLAGS) +bitcoin_cli_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) bitcoin_cli_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) if TARGET_WINDOWS @@ -364,7 +377,8 @@ bitcoin_cli_LDADD += $(BOOST_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(EVENT_LIBS) # bitcoin-tx binary # bitcoin_tx_SOURCES = bitcoin-tx.cpp -bitcoin_tx_CPPFLAGS = $(BITCOIN_INCLUDES) +bitcoin_tx_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) +bitcoin_tx_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) bitcoin_tx_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) if TARGET_WINDOWS @@ -405,9 +419,10 @@ if GLIBC_BACK_COMPAT libbitcoinconsensus_la_SOURCES += compat/glibc_compat.cpp endif -libbitcoinconsensus_la_LDFLAGS = -no-undefined $(RELDFLAGS) +libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS) libbitcoinconsensus_la_LIBADD = $(CRYPTO_LIBS) -libbitcoinconsensus_la_CPPFLAGS = $(CRYPTO_CFLAGS) -I$(builddir)/obj -DBUILD_BITCOIN_INTERNAL +libbitcoinconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) $(CRYPTO_CFLAGS) -I$(builddir)/obj -DBUILD_BITCOIN_INTERNAL +libbitcoinconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) endif # @@ -443,7 +458,7 @@ clean-local: .mm.o: $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CXXFLAGS) $(QT_INCLUDES) $(CXXFLAGS) -c -o $@ $< + $(CPPFLAGS) $(AM_CXXFLAGS) $(QT_INCLUDES) $(AM_CXXFLAGS) $(PIE_FLAGS) $(CXXFLAGS) -c -o $@ $< %.pb.cc %.pb.h: %.proto @test -f $(PROTOC) diff --git a/src/Makefile.bench.include b/src/Makefile.bench.include index 61fe9e287d..d660a3a747 100644 --- a/src/Makefile.bench.include +++ b/src/Makefile.bench.include @@ -9,7 +9,8 @@ bench_bench_bitcoin_SOURCES = \ bench/bench.h \ bench/Examples.cpp -bench_bench_bitcoin_CPPFLAGS = $(BITCOIN_INCLUDES) $(EVENT_CLFAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/ +bench_bench_bitcoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(EVENT_CLFAGS) $(EVENT_PTHREADS_CFLAGS) -I$(builddir)/bench/ +bench_bench_bitcoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) bench_bench_bitcoin_LDADD = \ $(LIBBITCOIN_SERVER) \ $(LIBBITCOIN_COMMON) \ @@ -31,7 +32,6 @@ endif bench_bench_bitcoin_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) bench_bench_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) - CLEAN_BITCOIN_BENCH = bench/*.gcda bench/*.gcno CLEANFILES += $(CLEAN_BITCOIN_BENCH) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 67fd7c1076..e62003a513 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -327,8 +327,9 @@ BITCOIN_RC = qt/res/bitcoin-qt-res.rc BITCOIN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ -I$(builddir)/qt/forms -DQT_NO_KEYWORDS -qt_libbitcoinqt_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ +qt_libbitcoinqt_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(QT_DBUS_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) +qt_libbitcoinqt_a_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \ $(QT_QRC) $(QT_QRC_LOCALE) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) @@ -350,8 +351,9 @@ $(QT_MOC): $(PROTOBUF_H) $(QT_MOC_CPP): $(PROTOBUF_H) # bitcoin-qt binary # -qt_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ +qt_bitcoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) +qt_bitcoin_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) qt_bitcoin_qt_SOURCES = qt/bitcoin.cpp if TARGET_DARWIN diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index b8725c872d..ede3fac4c3 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -12,7 +12,7 @@ TEST_QT_H = \ qt/test/paymentrequestdata.h \ qt/test/paymentservertests.h -qt_test_test_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ +qt_test_test_bitcoin_qt_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) qt_test_test_bitcoin_qt_SOURCES = \ @@ -38,6 +38,7 @@ qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBIT $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) \ $(EVENT_PTHREADS_LIBS) $(EVENT_LIBS) qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +qt_test_test_bitcoin_qt_CXXFLAGS = $(AM_CXXFLAGS) $(QT_PIE_FLAGS) CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno diff --git a/src/Makefile.test.include b/src/Makefile.test.include index f23a8f41fc..2328d0b4cc 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -93,9 +93,10 @@ BITCOIN_TESTS += \ endif test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) -test_test_bitcoin_CPPFLAGS = $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) +test_test_bitcoin_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_CLI) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBUNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) $(LIBSECP256K1) +test_test_bitcoin_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS) if ENABLE_WALLET test_test_bitcoin_LDADD += $(LIBBITCOIN_WALLET) endif diff --git a/src/chainparams.cpp b/src/chainparams.cpp index dd26c3b31a..5d6d1ef9d8 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -73,6 +73,8 @@ public: consensus.nMajorityEnforceBlockUpgrade = 750; consensus.nMajorityRejectBlockOutdated = 950; consensus.nMajorityWindow = 1000; + consensus.BIP34Height = 227931; + consensus.BIP34Hash = uint256S("0x000000000000024b89b42a942fe0d9fea3bb44ab7bd1b19115dd6a759c0808b8"); consensus.powLimit = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks consensus.nPowTargetSpacing = 10 * 60; @@ -153,6 +155,8 @@ public: consensus.nMajorityEnforceBlockUpgrade = 51; consensus.nMajorityRejectBlockOutdated = 75; consensus.nMajorityWindow = 100; + consensus.BIP34Height = 21111; + consensus.BIP34Hash = uint256S("0x0000000023b3a96d3484e5abb3755c413e7d41500f8e2a5c3f0dd01299cd8ef8"); consensus.powLimit = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks consensus.nPowTargetSpacing = 10 * 60; @@ -216,6 +220,8 @@ public: consensus.nMajorityEnforceBlockUpgrade = 750; consensus.nMajorityRejectBlockOutdated = 950; consensus.nMajorityWindow = 1000; + consensus.BIP34Height = -1; // BIP34 has not necessarily activated on regtest + consensus.BIP34Hash = uint256(); consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks consensus.nPowTargetSpacing = 10 * 60; diff --git a/src/consensus/params.h b/src/consensus/params.h index efbbbed352..5ebc48a8df 100644 --- a/src/consensus/params.h +++ b/src/consensus/params.h @@ -19,6 +19,9 @@ struct Params { int nMajorityEnforceBlockUpgrade; int nMajorityRejectBlockOutdated; int nMajorityWindow; + /** Block height and hash at which BIP34 becomes active */ + int BIP34Height; + uint256 BIP34Hash; /** Proof of work parameters */ uint256 powLimit; bool fPowAllowMinDifficultyBlocks; diff --git a/src/init.cpp b/src/init.cpp index 4189907b9f..87a23deab7 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -25,9 +25,11 @@ #include "policy/policy.h" #include "rpcserver.h" #include "script/standard.h" +#include "script/sigcache.h" #include "scheduler.h" #include "txdb.h" #include "txmempool.h" +#include "torcontrol.h" #include "ui_interface.h" #include "util.h" #include "utilmoneystr.h" @@ -159,6 +161,7 @@ void Interrupt(boost::thread_group& threadGroup) InterruptHTTPRPC(); InterruptRPC(); InterruptREST(); + InterruptTorControl(); threadGroup.interrupt_all(); } @@ -187,6 +190,7 @@ void Shutdown() #endif GenerateBitcoins(false, 0, Params()); StopNode(); + StopTorControl(); UnregisterNodeSignals(GetNodeSignals()); if (fFeeEstimatesInitialized) @@ -222,7 +226,6 @@ void Shutdown() #if ENABLE_ZMQ if (pzmqNotificationInterface) { UnregisterValidationInterface(pzmqNotificationInterface); - pzmqNotificationInterface->Shutdown(); delete pzmqNotificationInterface; pzmqNotificationInterface = NULL; } @@ -307,8 +310,8 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-alerts", strprintf(_("Receive and display P2P network alerts (default: %u)"), DEFAULT_ALERTS)); strUsage += HelpMessageOpt("-alertnotify=<cmd>", _("Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)")); strUsage += HelpMessageOpt("-blocknotify=<cmd>", _("Execute command when the best block changes (%s in cmd is replaced by block hash)")); - strUsage += HelpMessageOpt("-checkblocks=<n>", strprintf(_("How many blocks to check at startup (default: %u, 0 = all)"), 288)); - strUsage += HelpMessageOpt("-checklevel=<n>", strprintf(_("How thorough the block verification of -checkblocks is (0-4, default: %u)"), 3)); + strUsage += HelpMessageOpt("-checkblocks=<n>", strprintf(_("How many blocks to check at startup (default: %u, 0 = all)"), DEFAULT_CHECKBLOCKS)); + strUsage += HelpMessageOpt("-checklevel=<n>", strprintf(_("How thorough the block verification of -checkblocks is (0-4, default: %u)"), DEFAULT_CHECKLEVEL)); strUsage += HelpMessageOpt("-conf=<file>", strprintf(_("Specify configuration file (default: %s)"), "bitcoin.conf")); if (mode == HMM_BITCOIND) { @@ -318,7 +321,7 @@ std::string HelpMessage(HelpMessageMode mode) } strUsage += HelpMessageOpt("-datadir=<dir>", _("Specify data directory")); strUsage += HelpMessageOpt("-dbcache=<n>", strprintf(_("Set database cache size in megabytes (%d to %d, default: %d)"), nMinDbCache, nMaxDbCache, nDefaultDbCache)); - strUsage += HelpMessageOpt("-loadblock=<file>", _("Imports blocks from external blk000??.dat file") + " " + _("on startup")); + strUsage += HelpMessageOpt("-loadblock=<file>", _("Imports blocks from external blk000??.dat file on startup")); strUsage += HelpMessageOpt("-maxorphantx=<n>", strprintf(_("Keep at most <n> unconnectable transactions in memory (default: %u)"), DEFAULT_MAX_ORPHAN_TRANSACTIONS)); strUsage += HelpMessageOpt("-maxmempool=<n>", strprintf(_("Keep the transaction memory pool below <n> megabytes (default: %u)"), DEFAULT_MAX_MEMPOOL_SIZE)); strUsage += HelpMessageOpt("-mempoolexpiry=<n>", strprintf(_("Do not keep transactions in the mempool longer than <n> hours (default: %u)"), DEFAULT_MEMPOOL_EXPIRY)); @@ -348,6 +351,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-externalip=<ip>", _("Specify your own public address")); strUsage += HelpMessageOpt("-forcednsseed", strprintf(_("Always query for peer addresses via DNS lookup (default: %u)"), 0)); strUsage += HelpMessageOpt("-listen", _("Accept connections from outside (default: 1 if no -proxy or -connect)")); + strUsage += HelpMessageOpt("-listenonion", strprintf(_("Automatically create Tor hidden service (default: %d)"), DEFAULT_LISTEN_ONION)); strUsage += HelpMessageOpt("-maxconnections=<n>", strprintf(_("Maintain at most <n> connections to peers (default: %u)"), DEFAULT_MAX_PEER_CONNECTIONS)); strUsage += HelpMessageOpt("-maxreceivebuffer=<n>", strprintf(_("Maximum per-connection receive buffer, <n>*1000 bytes (default: %u)"), 5000)); strUsage += HelpMessageOpt("-maxsendbuffer=<n>", strprintf(_("Maximum per-connection send buffer, <n>*1000 bytes (default: %u)"), 1000)); @@ -359,6 +363,8 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-proxyrandomize", strprintf(_("Randomize credentials for every proxy connection. This enables Tor stream isolation (default: %u)"), 1)); strUsage += HelpMessageOpt("-seednode=<ip>", _("Connect to a node to retrieve peer addresses, and disconnect")); strUsage += HelpMessageOpt("-timeout=<n>", strprintf(_("Specify connection timeout in milliseconds (minimum: 1, default: %d)"), DEFAULT_CONNECT_TIMEOUT)); + strUsage += HelpMessageOpt("-torcontrol=<ip>:<port>", strprintf(_("Tor control port to use if onion listening enabled (default: %s)"), DEFAULT_TOR_CONTROL)); + strUsage += HelpMessageOpt("-torpassword=<pass>", _("Tor control port password (default: empty)")); #ifdef USE_UPNP #if USE_UPNP strUsage += HelpMessageOpt("-upnp", _("Use UPnP to map the listening port (default: 1 when listening and no -proxy)")); @@ -377,17 +383,17 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-keypool=<n>", strprintf(_("Set key pool size to <n> (default: %u)"), 100)); if (showDebug) strUsage += HelpMessageOpt("-mintxfee=<amt>", strprintf("Fees (in %s/kB) smaller than this are considered zero fee for transaction creation (default: %s)", - CURRENCY_UNIT, FormatMoney(CWallet::minTxFee.GetFeePerK()))); + CURRENCY_UNIT, FormatMoney(DEFAULT_TRANSACTION_MINFEE))); strUsage += HelpMessageOpt("-paytxfee=<amt>", strprintf(_("Fee (in %s/kB) to add to transactions you send (default: %s)"), CURRENCY_UNIT, FormatMoney(payTxFee.GetFeePerK()))); - strUsage += HelpMessageOpt("-rescan", _("Rescan the block chain for missing wallet transactions") + " " + _("on startup")); - strUsage += HelpMessageOpt("-salvagewallet", _("Attempt to recover private keys from a corrupt wallet.dat") + " " + _("on startup")); + strUsage += HelpMessageOpt("-rescan", _("Rescan the block chain for missing wallet transactions on startup")); + strUsage += HelpMessageOpt("-salvagewallet", _("Attempt to recover private keys from a corrupt wallet.dat on startup")); strUsage += HelpMessageOpt("-sendfreetransactions", strprintf(_("Send transactions as zero-fee transactions if possible (default: %u)"), 0)); strUsage += HelpMessageOpt("-spendzeroconfchange", strprintf(_("Spend unconfirmed change when sending transactions (default: %u)"), 1)); strUsage += HelpMessageOpt("-txconfirmtarget=<n>", strprintf(_("If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)"), DEFAULT_TX_CONFIRM_TARGET)); strUsage += HelpMessageOpt("-maxtxfee=<amt>", strprintf(_("Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)"), - CURRENCY_UNIT, FormatMoney(maxTxFee))); - strUsage += HelpMessageOpt("-upgradewallet", _("Upgrade wallet to latest format") + " " + _("on startup")); + CURRENCY_UNIT, FormatMoney(DEFAULT_TRANSACTION_MAXFEE))); + strUsage += HelpMessageOpt("-upgradewallet", _("Upgrade wallet to latest format on startup")); strUsage += HelpMessageOpt("-wallet=<file>", _("Specify wallet file (within data directory)") + " " + strprintf(_("(default: %s)"), "wallet.dat")); strUsage += HelpMessageOpt("-walletbroadcast", _("Make the wallet broadcast transactions") + " " + strprintf(_("(default: %u)"), true)); strUsage += HelpMessageOpt("-walletnotify=<cmd>", _("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)")); @@ -407,12 +413,16 @@ std::string HelpMessage(HelpMessageMode mode) if (showDebug) { strUsage += HelpMessageOpt("-checkpoints", strprintf("Disable expensive verification for known chain history (default: %u)", 1)); - strUsage += HelpMessageOpt("-dblogsize=<n>", strprintf("Flush database activity from memory pool to disk log every <n> megabytes (default: %u)", 100)); +#ifdef ENABLE_WALLET + strUsage += HelpMessageOpt("-dblogsize=<n>", strprintf("Flush wallet database activity from memory to disk log every <n> megabytes (default: %u)", DEFAULT_WALLET_DBLOGSIZE)); +#endif strUsage += HelpMessageOpt("-disablesafemode", strprintf("Disable safemode, override a real safe mode event (default: %u)", 0)); strUsage += HelpMessageOpt("-testsafemode", strprintf("Force safe mode (default: %u)", 0)); strUsage += HelpMessageOpt("-dropmessagestest=<n>", "Randomly drop 1 of every <n> network messages"); strUsage += HelpMessageOpt("-fuzzmessagestest=<n>", "Randomly fuzz 1 of every <n> network messages"); +#ifdef ENABLE_WALLET strUsage += HelpMessageOpt("-flushwallet", strprintf("Run a thread to flush wallet periodically (default: %u)", 1)); +#endif strUsage += HelpMessageOpt("-stopafterblockimport", strprintf("Stop running after importing blocks from disk (default: %u)", 0)); strUsage += HelpMessageOpt("-limitancestorcount=<n>", strprintf("Do not accept transactions if number of in-mempool ancestors is <n> or more (default: %u)", DEFAULT_ANCESTOR_LIMIT)); strUsage += HelpMessageOpt("-limitancestorsize=<n>", strprintf("Do not accept transactions whose size with all in-mempool ancestors exceeds <n> kilobytes (default: %u)", DEFAULT_ANCESTOR_SIZE_LIMIT)); @@ -425,7 +435,7 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-debug=<category>", strprintf(_("Output debugging information (default: %u, supplying <category> is optional)"), 0) + ". " + _("If <category> is not supplied or if <category> = 1, output all debugging information.") + _("<category> can be:") + " " + debugCategories + "."); strUsage += HelpMessageOpt("-gen", strprintf(_("Generate coins (default: %u)"), 0)); - strUsage += HelpMessageOpt("-genproclimit=<n>", strprintf(_("Set the number of threads for coin generation if enabled (-1 = all cores, default: %d)"), 1)); + strUsage += HelpMessageOpt("-genproclimit=<n>", strprintf(_("Set the number of threads for coin generation if enabled (-1 = all cores, default: %d)"), DEFAULT_GENERATE_THREADS)); strUsage += HelpMessageOpt("-help-debug", _("Show all debugging options (usage: --help -help-debug)")); strUsage += HelpMessageOpt("-logips", strprintf(_("Include IP addresses in debug output (default: %u)"), 0)); strUsage += HelpMessageOpt("-logtimestamps", strprintf(_("Prepend debug output with timestamp (default: %u)"), 1)); @@ -434,10 +444,10 @@ std::string HelpMessage(HelpMessageMode mode) strUsage += HelpMessageOpt("-logtimemicros", strprintf("Add microsecond precision to debug timestamps (default: %u)", DEFAULT_LOGTIMEMICROS)); strUsage += HelpMessageOpt("-limitfreerelay=<n>", strprintf("Continuously rate-limit free transactions to <n>*1000 bytes per minute (default: %u)", 15)); strUsage += HelpMessageOpt("-relaypriority", strprintf("Require high priority for relaying free or low-fee transactions (default: %u)", 1)); - strUsage += HelpMessageOpt("-maxsigcachesize=<n>", strprintf("Limit size of signature cache to <n> entries (default: %u)", 50000)); + strUsage += HelpMessageOpt("-maxsigcachesize=<n>", strprintf("Limit size of signature cache to <n> MiB (default: %u)", DEFAULT_MAX_SIG_CACHE_SIZE)); } - strUsage += HelpMessageOpt("-minrelaytxfee=<amt>", strprintf(_("Fees (in %s/kB) smaller than this are considered zero fee for relaying (default: %s)"), - CURRENCY_UNIT, FormatMoney(::minRelayTxFee.GetFeePerK()))); + strUsage += HelpMessageOpt("-minrelaytxfee=<amt>", strprintf(_("Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)"), + CURRENCY_UNIT, FormatMoney(DEFAULT_MIN_RELAY_TX_FEE))); strUsage += HelpMessageOpt("-printtoconsole", _("Send trace/debug info to console instead of debug.log file")); if (showDebug) { @@ -496,6 +506,7 @@ std::string HelpMessage(HelpMessageMode mode) std::string LicenseInfo() { + // todo: remove urls from translations on next change return FormatParagraph(strprintf(_("Copyright (C) 2009-%i The Bitcoin Core Developers"), COPYRIGHT_YEAR)) + "\n" + "\n" + FormatParagraph(_("This is experimental software.")) + "\n" + @@ -692,13 +703,13 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) #endif if (!SetupNetworking()) - return InitError("Error: Initializing networking failed"); + return InitError("Initializing networking failed"); #ifndef WIN32 if (GetBoolArg("-sysperms", false)) { #ifdef ENABLE_WALLET if (!GetBoolArg("-disablewallet", false)) - return InitError("Error: -sysperms is not allowed in combination with enabled wallet functionality"); + return InitError("-sysperms is not allowed in combination with enabled wallet functionality"); #endif } else { umask(077); @@ -773,6 +784,8 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) LogPrintf("%s: parameter interaction: -listen=0 -> setting -upnp=0\n", __func__); if (SoftSetBoolArg("-discover", false)) LogPrintf("%s: parameter interaction: -listen=0 -> setting -discover=0\n", __func__); + if (SoftSetBoolArg("-listenonion", false)) + LogPrintf("%s: parameter interaction: -listen=0 -> setting -listenonion=0\n", __func__); } if (mapArgs.count("-externalip")) { @@ -829,16 +842,16 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) // Check for -debugnet if (GetBoolArg("-debugnet", false)) - InitWarning(_("Warning: Unsupported argument -debugnet ignored, use -debug=net.")); + InitWarning(_("Unsupported argument -debugnet ignored, use -debug=net.")); // Check for -socks - as this is a privacy risk to continue, exit here if (mapArgs.count("-socks")) - return InitError(_("Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.")); + return InitError(_("Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.")); // Check for -tor - as this is a privacy risk to continue, exit here if (GetBoolArg("-tor", false)) - return InitError(_("Error: Unsupported argument -tor found, use -onion.")); + return InitError(_("Unsupported argument -tor found, use -onion.")); if (GetBoolArg("-benchmark", false)) - InitWarning(_("Warning: Unsupported argument -benchmark ignored, use -debug=bench.")); + InitWarning(_("Unsupported argument -benchmark ignored, use -debug=bench.")); // Checkmempool and checkblockindex default to true in regtest mode int ratio = std::min<int>(std::max<int>(GetArg("-checkmempool", chainparams.DefaultConsistencyChecks() ? 1 : 0), 0), 1000000); @@ -852,7 +865,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) int64_t nMempoolSizeLimit = GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000; int64_t nMempoolDescendantSizeLimit = GetArg("-limitdescendantsize", DEFAULT_DESCENDANT_SIZE_LIMIT) * 1000; if (nMempoolSizeLimit < 0 || nMempoolSizeLimit < nMempoolDescendantSizeLimit * 40) - return InitError(strprintf(_("Error: -maxmempool must be at least %d MB"), GetArg("-limitdescendantsize", DEFAULT_DESCENDANT_SIZE_LIMIT) / 25)); + return InitError(strprintf(_("-maxmempool must be at least %d MB"), GetArg("-limitdescendantsize", DEFAULT_DESCENDANT_SIZE_LIMIT) / 25)); // -par=0 means autodetect, but nScriptCheckThreads==0 means no concurrency nScriptCheckThreads = GetArg("-par", DEFAULT_SCRIPTCHECK_THREADS); @@ -921,7 +934,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) if (!ParseMoney(mapArgs["-paytxfee"], nFeePerK)) return InitError(strprintf(_("Invalid amount for -paytxfee=<amount>: '%s'"), mapArgs["-paytxfee"])); if (nFeePerK > nHighTransactionFeeWarning) - InitWarning(_("Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.")); + InitWarning(_("-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.")); payTxFee = CFeeRate(nFeePerK, 1000); if (payTxFee < ::minRelayTxFee) { @@ -935,7 +948,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) if (!ParseMoney(mapArgs["-maxtxfee"], nMaxFee)) return InitError(strprintf(_("Invalid amount for -maxtxfee=<amount>: '%s'"), mapArgs["-maptxfee"])); if (nMaxFee > nHighTransactionMaxFeeWarning) - InitWarning(_("Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.")); + InitWarning(_("-maxtxfee is set very high! Fees this large could be paid on a single transaction.")); maxTxFee = nMaxFee; if (CFeeRate(maxTxFee, 1000) < ::minRelayTxFee) { @@ -1062,12 +1075,12 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) BOOST_FOREACH(string cmt, mapMultiArgs["-uacomment"]) { if (cmt != SanitizeString(cmt, SAFE_CHARS_UA_COMMENT)) - return InitError(strprintf("User Agent comment (%s) contains unsafe characters.", cmt)); + return InitError(strprintf(_("User Agent comment (%s) contains unsafe characters."), cmt)); uacomments.push_back(SanitizeString(cmt, SAFE_CHARS_UA_COMMENT)); } strSubVersion = FormatSubVersion(CLIENT_NAME, CLIENT_VERSION, uacomments); if (strSubVersion.size() > MAX_SUBVERSION_LENGTH) { - return InitError(strprintf("Total length of network version string %i exceeds maximum of %i characters. Reduce the number and/or size of uacomments.", + return InitError(strprintf(_("Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments."), strSubVersion.size(), MAX_SUBVERSION_LENGTH)); } @@ -1176,7 +1189,6 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) pzmqNotificationInterface = CZMQNotificationInterface::CreateWithArguments(mapArgs); if (pzmqNotificationInterface) { - pzmqNotificationInterface->Initialize(); RegisterValidationInterface(pzmqNotificationInterface); } #endif @@ -1289,9 +1301,9 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) } uiInterface.InitMessage(_("Verifying blocks...")); - if (fHavePruned && GetArg("-checkblocks", 288) > MIN_BLOCKS_TO_KEEP) { + if (fHavePruned && GetArg("-checkblocks", DEFAULT_CHECKBLOCKS) > MIN_BLOCKS_TO_KEEP) { LogPrintf("Prune: pruned datadir may not have more than %d blocks; -checkblocks=%d may fail\n", - MIN_BLOCKS_TO_KEEP, GetArg("-checkblocks", 288)); + MIN_BLOCKS_TO_KEEP, GetArg("-checkblocks", DEFAULT_CHECKBLOCKS)); } { @@ -1305,8 +1317,8 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) } } - if (!CVerifyDB().VerifyDB(pcoinsdbview, GetArg("-checklevel", 3), - GetArg("-checkblocks", 288))) { + if (!CVerifyDB().VerifyDB(pcoinsdbview, GetArg("-checklevel", DEFAULT_CHECKLEVEL), + GetArg("-checkblocks", DEFAULT_CHECKBLOCKS))) { strLoadError = _("Corrupted block database detected"); break; } @@ -1391,9 +1403,8 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) 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" + InitWarning(_("Error reading wallet.dat! All keys read correctly, but transaction data" " or address book entries might be missing or incorrect.")); - InitWarning(msg); } else if (nLoadWalletRet == DB_TOO_NEW) strErrors << _("Error loading wallet.dat: Wallet requires newer version of Bitcoin Core") << "\n"; @@ -1565,6 +1576,9 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) LogPrintf("mapAddressBook.size() = %u\n", pwalletMain ? pwalletMain->mapAddressBook.size() : 0); #endif + if (GetBoolArg("-listenonion", DEFAULT_LISTEN_ONION)) + StartTorControl(threadGroup, scheduler); + StartNode(threadGroup, scheduler); // Monitor the chain, and alert if we get blocks much quicker or slower than expected @@ -1574,7 +1588,7 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler) scheduler.scheduleEvery(f, nPowTargetSpacing); // Generate coins in the background - GenerateBitcoins(GetBoolArg("-gen", false), GetArg("-genproclimit", 1), Params()); + GenerateBitcoins(GetBoolArg("-gen", false), GetArg("-genproclimit", DEFAULT_GENERATE_THREADS), Params()); // ********************************************************* Step 12: finished diff --git a/src/leveldb/util/env_win.cc b/src/leveldb/util/env_win.cc index ef2ecae830..e11a96b791 100644 --- a/src/leveldb/util/env_win.cc +++ b/src/leveldb/util/env_win.cc @@ -103,39 +103,20 @@ private: DISALLOW_COPY_AND_ASSIGN(Win32RandomAccessFile); }; -class Win32MapFile : public WritableFile +class Win32WritableFile : public WritableFile { public: - Win32MapFile(const std::string& fname); + Win32WritableFile(const std::string& fname); + ~Win32WritableFile(); - ~Win32MapFile(); virtual Status Append(const Slice& data); virtual Status Close(); virtual Status Flush(); virtual Status Sync(); BOOL isEnable(); private: - std::string _filename; - HANDLE _hFile; - size_t _page_size; - size_t _map_size; // How much extra memory to map at a time - char* _base; // The mapped region - HANDLE _base_handle; - char* _limit; // Limit of the mapped region - char* _dst; // Where to write next (in range [base_,limit_]) - char* _last_sync; // Where have we synced up to - uint64_t _file_offset; // Offset of base_ in file - //LARGE_INTEGER file_offset_; - // Have we done an munmap of unsynced data? - bool _pending_sync; - - // Roundup x to a multiple of y - static size_t _Roundup(size_t x, size_t y); - size_t _TruncateToPageBoundary(size_t s); - bool _UnmapCurrentRegion(); - bool _MapNewRegion(); - DISALLOW_COPY_AND_ASSIGN(Win32MapFile); - BOOL _Init(LPCWSTR Path); + std::string filename_; + ::HANDLE _hFile; }; class Win32FileLock : public FileLock @@ -442,202 +423,63 @@ void Win32RandomAccessFile::_CleanUp() } } -size_t Win32MapFile::_Roundup( size_t x, size_t y ) +Win32WritableFile::Win32WritableFile(const std::string& fname) + : filename_(fname) { - return ((x + y - 1) / y) * y; + std::wstring path; + ToWidePath(fname, path); + DWORD Flag = PathFileExistsW(path.c_str()) ? OPEN_EXISTING : CREATE_ALWAYS; + _hFile = CreateFileW(path.c_str(), + GENERIC_READ | GENERIC_WRITE, + FILE_SHARE_READ|FILE_SHARE_DELETE|FILE_SHARE_WRITE, + NULL, + Flag, + FILE_ATTRIBUTE_NORMAL, + NULL); + // CreateFileW returns INVALID_HANDLE_VALUE in case of error, always check isEnable() before use } -size_t Win32MapFile::_TruncateToPageBoundary( size_t s ) +Win32WritableFile::~Win32WritableFile() { - s -= (s & (_page_size - 1)); - assert((s % _page_size) == 0); - return s; + if (_hFile != INVALID_HANDLE_VALUE) + Close(); } -bool Win32MapFile::_UnmapCurrentRegion() +Status Win32WritableFile::Append(const Slice& data) { - bool result = true; - if (_base != NULL) { - if (_last_sync < _limit) { - // Defer syncing this data until next Sync() call, if any - _pending_sync = true; - } - if (!UnmapViewOfFile(_base) || !CloseHandle(_base_handle)) - result = false; - _file_offset += _limit - _base; - _base = NULL; - _base_handle = NULL; - _limit = NULL; - _last_sync = NULL; - _dst = NULL; - // Increase the amount we map the next time, but capped at 1MB - if (_map_size < (1<<20)) { - _map_size *= 2; - } + DWORD r = 0; + if (!WriteFile(_hFile, data.data(), data.size(), &r, NULL) || r != data.size()) { + return Status::IOError("Win32WritableFile.Append::WriteFile: "+filename_, Win32::GetLastErrSz()); } - return result; -} - -bool Win32MapFile::_MapNewRegion() -{ - assert(_base == NULL); - //LONG newSizeHigh = (LONG)((file_offset_ + map_size_) >> 32); - //LONG newSizeLow = (LONG)((file_offset_ + map_size_) & 0xFFFFFFFF); - DWORD off_hi = (DWORD)(_file_offset >> 32); - DWORD off_lo = (DWORD)(_file_offset & 0xFFFFFFFF); - LARGE_INTEGER newSize; - newSize.QuadPart = _file_offset + _map_size; - SetFilePointerEx(_hFile, newSize, NULL, FILE_BEGIN); - SetEndOfFile(_hFile); - - _base_handle = CreateFileMappingA( - _hFile, - NULL, - PAGE_READWRITE, - 0, - 0, - 0); - if (_base_handle != NULL) { - _base = (char*) MapViewOfFile(_base_handle, - FILE_MAP_ALL_ACCESS, - off_hi, - off_lo, - _map_size); - if (_base != NULL) { - _limit = _base + _map_size; - _dst = _base; - _last_sync = _base; - return true; - } - } - return false; + return Status::OK(); } -Win32MapFile::Win32MapFile( const std::string& fname) : - _filename(fname), - _hFile(NULL), - _page_size(Win32::g_PageSize), - _map_size(_Roundup(65536, Win32::g_PageSize)), - _base(NULL), - _base_handle(NULL), - _limit(NULL), - _dst(NULL), - _last_sync(NULL), - _file_offset(0), - _pending_sync(false) +Status Win32WritableFile::Close() { - std::wstring path; - ToWidePath(fname, path); - _Init(path.c_str()); - assert((Win32::g_PageSize & (Win32::g_PageSize - 1)) == 0); -} - -Status Win32MapFile::Append( const Slice& data ) -{ - const char* src = data.data(); - size_t left = data.size(); - Status s; - while (left > 0) { - assert(_base <= _dst); - assert(_dst <= _limit); - size_t avail = _limit - _dst; - if (avail == 0) { - if (!_UnmapCurrentRegion() || - !_MapNewRegion()) { - return Status::IOError("WinMmapFile.Append::UnmapCurrentRegion or MapNewRegion: ", Win32::GetLastErrSz()); - } - } - size_t n = (left <= avail) ? left : avail; - memcpy(_dst, src, n); - _dst += n; - src += n; - left -= n; - } - return s; -} - -Status Win32MapFile::Close() -{ - Status s; - size_t unused = _limit - _dst; - if (!_UnmapCurrentRegion()) { - s = Status::IOError("WinMmapFile.Close::UnmapCurrentRegion: ",Win32::GetLastErrSz()); - } else if (unused > 0) { - // Trim the extra space at the end of the file - LARGE_INTEGER newSize; - newSize.QuadPart = _file_offset - unused; - if (!SetFilePointerEx(_hFile, newSize, NULL, FILE_BEGIN)) { - s = Status::IOError("WinMmapFile.Close::SetFilePointer: ",Win32::GetLastErrSz()); - } else - SetEndOfFile(_hFile); - } if (!CloseHandle(_hFile)) { - if (s.ok()) { - s = Status::IOError("WinMmapFile.Close::CloseHandle: ", Win32::GetLastErrSz()); - } + return Status::IOError("Win32WritableFile.Close::CloseHandle: "+filename_, Win32::GetLastErrSz()); } _hFile = INVALID_HANDLE_VALUE; - _base = NULL; - _base_handle = NULL; - _limit = NULL; - - return s; -} - -Status Win32MapFile::Sync() -{ - Status s; - if (_pending_sync) { - // Some unmapped data was not synced - _pending_sync = false; - if (!FlushFileBuffers(_hFile)) { - s = Status::IOError("WinMmapFile.Sync::FlushFileBuffers: ",Win32::GetLastErrSz()); - } - } - if (_dst > _last_sync) { - // Find the beginnings of the pages that contain the first and last - // bytes to be synced. - size_t p1 = _TruncateToPageBoundary(_last_sync - _base); - size_t p2 = _TruncateToPageBoundary(_dst - _base - 1); - _last_sync = _dst; - if (!FlushViewOfFile(_base + p1, p2 - p1 + _page_size)) { - s = Status::IOError("WinMmapFile.Sync::FlushViewOfFile: ",Win32::GetLastErrSz()); - } - } - return s; + return Status::OK(); } -Status Win32MapFile::Flush() +Status Win32WritableFile::Flush() { + // Nothing to do here, there are no application-side buffers return Status::OK(); } -Win32MapFile::~Win32MapFile() +Status Win32WritableFile::Sync() { - if (_hFile != INVALID_HANDLE_VALUE) { - Win32MapFile::Close(); + if (!FlushFileBuffers(_hFile)) { + return Status::IOError("Win32WritableFile.Sync::FlushFileBuffers "+filename_, Win32::GetLastErrSz()); } + return Status::OK(); } -BOOL Win32MapFile::_Init( LPCWSTR Path ) -{ - DWORD Flag = PathFileExistsW(Path) ? OPEN_EXISTING : CREATE_ALWAYS; - _hFile = CreateFileW(Path, - GENERIC_READ | GENERIC_WRITE, - FILE_SHARE_READ|FILE_SHARE_DELETE|FILE_SHARE_WRITE, - NULL, - Flag, - FILE_ATTRIBUTE_NORMAL, - NULL); - if(!_hFile || _hFile == INVALID_HANDLE_VALUE) - return FALSE; - else - return TRUE; -} - -BOOL Win32MapFile::isEnable() +BOOL Win32WritableFile::isEnable() { - return _hFile ? TRUE : FALSE; + return _hFile != INVALID_HANDLE_VALUE; } Win32FileLock::Win32FileLock( const std::string& fname ) : @@ -981,7 +823,7 @@ Status Win32Env::NewLogger( const std::string& fname, Logger** result ) { Status sRet; std::string path = fname; - Win32MapFile* pMapFile = new Win32MapFile(ModifyPath(path)); + Win32WritableFile* pMapFile = new Win32WritableFile(ModifyPath(path)); if(!pMapFile->isEnable()){ delete pMapFile; *result = NULL; @@ -995,7 +837,7 @@ Status Win32Env::NewWritableFile( const std::string& fname, WritableFile** resul { Status sRet; std::string path = fname; - Win32MapFile* pFile = new Win32MapFile(ModifyPath(path)); + Win32WritableFile* pFile = new Win32WritableFile(ModifyPath(path)); if(!pFile->isEnable()){ *result = NULL; sRet = Status::IOError(fname,Win32::GetLastErrSz()); diff --git a/src/main.cpp b/src/main.cpp index e038fe3663..5208fbb031 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -74,8 +74,8 @@ size_t nCoinCacheUsage = 5000 * 300; uint64_t nPruneTarget = 0; bool fAlerts = DEFAULT_ALERTS; -/** Fees smaller than this (in satoshi) are considered zero fee (for relaying and mining) */ -CFeeRate minRelayTxFee = CFeeRate(1000); +/** Fees smaller than this (in satoshi) are considered zero fee (for relaying, mining and transaction creation) */ +CFeeRate minRelayTxFee = CFeeRate(DEFAULT_MIN_RELAY_TX_FEE); CTxMemPool mempool(::minRelayTxFee); @@ -92,7 +92,7 @@ void EraseOrphansFor(NodeId peer) EXCLUSIVE_LOCKS_REQUIRED(cs_main); * in the last Consensus::Params::nMajorityWindow blocks, starting at pstart and going backwards. */ static bool IsSuperMajority(int minVersion, const CBlockIndex* pstart, unsigned nRequired, const Consensus::Params& consensusParams); -static void CheckBlockIndex(); +static void CheckBlockIndex(const Consensus::Params& consensusParams); /** Constant stuff for coinbase transactions we create: */ CScript COINBASE_FLAGS; @@ -998,7 +998,7 @@ bool AcceptToMemoryPool(CTxMemPool& pool, CValidationState &state, const CTransa } /** Return transaction in tx, and if it was found inside a block, its hash is placed in hashBlock */ -bool GetTransaction(const uint256 &hash, CTransaction &txOut, uint256 &hashBlock, bool fAllowSlow) +bool GetTransaction(const uint256 &hash, CTransaction &txOut, const Consensus::Params& consensusParams, uint256 &hashBlock, bool fAllowSlow) { CBlockIndex *pindexSlow = NULL; @@ -1044,7 +1044,7 @@ bool GetTransaction(const uint256 &hash, CTransaction &txOut, uint256 &hashBlock if (pindexSlow) { CBlock block; - if (ReadBlockFromDisk(block, pindexSlow)) { + if (ReadBlockFromDisk(block, pindexSlow, consensusParams)) { BOOST_FOREACH(const CTransaction &tx, block.vtx) { if (tx.GetHash() == hash) { txOut = tx; @@ -1089,7 +1089,7 @@ bool WriteBlockToDisk(const CBlock& block, CDiskBlockPos& pos, const CMessageHea return true; } -bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos) +bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos, const Consensus::Params& consensusParams) { block.SetNull(); @@ -1107,15 +1107,15 @@ bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos) } // Check the header - if (!CheckProofOfWork(block.GetHash(), block.nBits, Params().GetConsensus())) + if (!CheckProofOfWork(block.GetHash(), block.nBits, consensusParams)) return error("ReadBlockFromDisk: Errors in block header at %s", pos.ToString()); return true; } -bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex) +bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex, const Consensus::Params& consensusParams) { - if (!ReadBlockFromDisk(block, pindex->GetBlockPos())) + if (!ReadBlockFromDisk(block, pindex->GetBlockPos(), consensusParams)) return false; if (block.GetHash() != pindex->GetBlockHash()) return error("ReadBlockFromDisk(CBlock&, CBlockIndex*): GetHash() doesn't match index for %s at %s", @@ -1711,6 +1711,8 @@ void PartitionCheck(bool (*initialDownloadCheck)(), CCriticalSection& cs, const } } +static int64_t nTimeCheck = 0; +static int64_t nTimeForks = 0; static int64_t nTimeVerify = 0; static int64_t nTimeConnect = 0; static int64_t nTimeIndex = 0; @@ -1721,6 +1723,9 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin { const CChainParams& chainparams = Params(); AssertLockHeld(cs_main); + + int64_t nTimeStart = GetTimeMicros(); + // Check it again in case a previous version let a bad block in if (!CheckBlock(block, state, !fJustCheck, !fJustCheck)) return false; @@ -1746,6 +1751,9 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin } } + int64_t nTime1 = GetTimeMicros(); nTimeCheck += nTime1 - nTimeStart; + LogPrint("bench", " - Sanity checks: %.2fms [%.2fs]\n", 0.001 * (nTime1 - nTimeStart), nTimeCheck * 0.000001); + // Do not allow blocks that contain transactions which 'overwrite' older transactions, // unless those are already completely spent. // If such overwrites are allowed, coinbases and transactions depending upon those @@ -1761,6 +1769,17 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin bool fEnforceBIP30 = (!pindex->phashBlock) || // Enforce on CreateNewBlock invocations which don't have a hash. !((pindex->nHeight==91842 && pindex->GetBlockHash() == uint256S("0x00000000000a4d0a398161ffc163c503763b1f4360639393e0e4c8e300e0caec")) || (pindex->nHeight==91880 && pindex->GetBlockHash() == uint256S("0x00000000000743f190a18c5577a3c2d2a1f610ae9601ac046a38084ccb7cd721"))); + + // Once BIP34 activated it was not possible to create new duplicate coinbases and thus other than starting + // with the 2 existing duplicate coinbase pairs, not possible to create overwriting txs. But by the + // time BIP34 activated, in each of the existing pairs the duplicate coinbase had overwritten the first + // before the first had been spent. Since those coinbases are sufficiently buried its no longer possible to create further + // duplicate transactions descending from the known pairs either. + // If we're on the known chain at height greater than where BIP34 activated, we can save the db accesses needed for the BIP30 check. + CBlockIndex *pindexBIP34height = pindex->pprev->GetAncestor(chainparams.GetConsensus().BIP34Height); + //Only continue to enforce if we're below BIP34 activation height or the block hash at that height doesn't correspond. + fEnforceBIP30 = fEnforceBIP30 && (!pindexBIP34height || !(pindexBIP34height->GetBlockHash() == chainparams.GetConsensus().BIP34Hash)); + if (fEnforceBIP30) { BOOST_FOREACH(const CTransaction& tx, block.vtx) { const CCoins* coins = view.AccessCoins(tx.GetHash()); @@ -1788,11 +1807,13 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin flags |= SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY; } + int64_t nTime2 = GetTimeMicros(); nTimeForks += nTime2 - nTime1; + LogPrint("bench", " - Fork checks: %.2fms [%.2fs]\n", 0.001 * (nTime2 - nTime1), nTimeForks * 0.000001); + CBlockUndo blockundo; CCheckQueueControl<CScriptCheck> control(fScriptChecks && nScriptCheckThreads ? &scriptcheckqueue : NULL); - int64_t nTimeStart = GetTimeMicros(); CAmount nFees = 0; int nInputs = 0; unsigned int nSigOps = 0; @@ -1830,7 +1851,8 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin nFees += view.GetValueIn(tx)-tx.GetValueOut(); std::vector<CScriptCheck> vChecks; - if (!CheckInputs(tx, state, view, fScriptChecks, flags, false, nScriptCheckThreads ? &vChecks : NULL)) + bool fCacheResults = fJustCheck; /* Don't cache results if we're actually connecting blocks (still consult the cache, though) */ + if (!CheckInputs(tx, state, view, fScriptChecks, flags, fCacheResults, nScriptCheckThreads ? &vChecks : NULL)) return error("ConnectBlock(): CheckInputs on %s failed with %s", tx.GetHash().ToString(), FormatStateMessage(state)); control.Add(vChecks); @@ -1845,8 +1867,8 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin vPos.push_back(std::make_pair(tx.GetHash(), pos)); pos.nTxOffset += ::GetSerializeSize(tx, SER_DISK, CLIENT_VERSION); } - int64_t nTime1 = GetTimeMicros(); nTimeConnect += nTime1 - nTimeStart; - LogPrint("bench", " - Connect %u transactions: %.2fms (%.3fms/tx, %.3fms/txin) [%.2fs]\n", (unsigned)block.vtx.size(), 0.001 * (nTime1 - nTimeStart), 0.001 * (nTime1 - nTimeStart) / block.vtx.size(), nInputs <= 1 ? 0 : 0.001 * (nTime1 - nTimeStart) / (nInputs-1), nTimeConnect * 0.000001); + int64_t nTime3 = GetTimeMicros(); nTimeConnect += nTime3 - nTime2; + LogPrint("bench", " - Connect %u transactions: %.2fms (%.3fms/tx, %.3fms/txin) [%.2fs]\n", (unsigned)block.vtx.size(), 0.001 * (nTime3 - nTime2), 0.001 * (nTime3 - nTime2) / block.vtx.size(), nInputs <= 1 ? 0 : 0.001 * (nTime3 - nTime2) / (nInputs-1), nTimeConnect * 0.000001); CAmount blockReward = nFees + GetBlockSubsidy(pindex->nHeight, chainparams.GetConsensus()); if (block.vtx[0].GetValueOut() > blockReward) @@ -1857,8 +1879,8 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin if (!control.Wait()) return state.DoS(100, false); - int64_t nTime2 = GetTimeMicros(); nTimeVerify += nTime2 - nTimeStart; - LogPrint("bench", " - Verify %u txins: %.2fms (%.3fms/txin) [%.2fs]\n", nInputs - 1, 0.001 * (nTime2 - nTimeStart), nInputs <= 1 ? 0 : 0.001 * (nTime2 - nTimeStart) / (nInputs-1), nTimeVerify * 0.000001); + int64_t nTime4 = GetTimeMicros(); nTimeVerify += nTime4 - nTime2; + LogPrint("bench", " - Verify %u txins: %.2fms (%.3fms/txin) [%.2fs]\n", nInputs - 1, 0.001 * (nTime4 - nTime2), nInputs <= 1 ? 0 : 0.001 * (nTime4 - nTime2) / (nInputs-1), nTimeVerify * 0.000001); if (fJustCheck) return true; @@ -1889,16 +1911,16 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin // add this block to the view's block chain view.SetBestBlock(pindex->GetBlockHash()); - int64_t nTime3 = GetTimeMicros(); nTimeIndex += nTime3 - nTime2; - LogPrint("bench", " - Index writing: %.2fms [%.2fs]\n", 0.001 * (nTime3 - nTime2), nTimeIndex * 0.000001); + int64_t nTime5 = GetTimeMicros(); nTimeIndex += nTime5 - nTime4; + LogPrint("bench", " - Index writing: %.2fms [%.2fs]\n", 0.001 * (nTime5 - nTime4), nTimeIndex * 0.000001); // Watch for changes to the previous coinbase transaction. static uint256 hashPrevBestCoinBase; GetMainSignals().UpdatedTransaction(hashPrevBestCoinBase); hashPrevBestCoinBase = block.vtx[0].GetHash(); - int64_t nTime4 = GetTimeMicros(); nTimeCallbacks += nTime4 - nTime3; - LogPrint("bench", " - Callbacks: %.2fms [%.2fs]\n", 0.001 * (nTime4 - nTime3), nTimeCallbacks * 0.000001); + int64_t nTime6 = GetTimeMicros(); nTimeCallbacks += nTime6 - nTime5; + LogPrint("bench", " - Callbacks: %.2fms [%.2fs]\n", 0.001 * (nTime6 - nTime5), nTimeCallbacks * 0.000001); return true; } @@ -2064,13 +2086,14 @@ void static UpdateTip(CBlockIndex *pindexNew) { } /** Disconnect chainActive's tip. You want to manually re-limit mempool size after this */ -bool static DisconnectTip(CValidationState &state) { +bool static DisconnectTip(CValidationState& state, const Consensus::Params& consensusParams) +{ CBlockIndex *pindexDelete = chainActive.Tip(); assert(pindexDelete); mempool.check(pcoinsTip); // Read block from disk. CBlock block; - if (!ReadBlockFromDisk(block, pindexDelete)) + if (!ReadBlockFromDisk(block, pindexDelete, consensusParams)) return AbortNode(state, "Failed to read block"); // Apply the block atomically to the chain state. int64_t nStart = GetTimeMicros(); @@ -2125,13 +2148,14 @@ static int64_t nTimePostConnect = 0; * corresponding to pindexNew, to bypass loading it again from disk. */ bool static ConnectTip(CValidationState &state, CBlockIndex *pindexNew, const CBlock *pblock) { + const CChainParams& chainparams = Params(); assert(pindexNew->pprev == chainActive.Tip()); mempool.check(pcoinsTip); // Read block from disk. int64_t nTime1 = GetTimeMicros(); CBlock block; if (!pblock) { - if (!ReadBlockFromDisk(block, pindexNew)) + if (!ReadBlockFromDisk(block, pindexNew, chainparams.GetConsensus())) return AbortNode(state, "Failed to read block"); pblock = █ } @@ -2257,6 +2281,7 @@ static void PruneBlockIndexCandidates() { * pblock is either NULL or a pointer to a CBlock corresponding to pindexMostWork. */ static bool ActivateBestChainStep(CValidationState &state, CBlockIndex *pindexMostWork, const CBlock *pblock) { + const CChainParams& chainparams = Params(); AssertLockHeld(cs_main); bool fInvalidFound = false; const CBlockIndex *pindexOldTip = chainActive.Tip(); @@ -2265,7 +2290,7 @@ static bool ActivateBestChainStep(CValidationState &state, CBlockIndex *pindexMo // Disconnect active blocks which are no longer in the best chain. bool fBlocksDisconnected = false; while (chainActive.Tip() && chainActive.Tip() != pindexFork) { - if (!DisconnectTip(state)) + if (!DisconnectTip(state, chainparams.GetConsensus())) return false; fBlocksDisconnected = true; } @@ -2333,7 +2358,7 @@ static bool ActivateBestChainStep(CValidationState &state, CBlockIndex *pindexMo bool ActivateBestChain(CValidationState &state, const CBlock *pblock) { CBlockIndex *pindexNewTip = NULL; CBlockIndex *pindexMostWork = NULL; - const CChainParams& chainParams = Params(); + const CChainParams& chainparams = Params(); do { boost::this_thread::interruption_point(); @@ -2360,7 +2385,7 @@ bool ActivateBestChain(CValidationState &state, const CBlock *pblock) { // Relay inventory, but don't relay old inventory during initial block download. int nBlockEstimate = 0; if (fCheckpointsEnabled) - nBlockEstimate = Checkpoints::GetTotalBlocksEstimate(chainParams.Checkpoints()); + nBlockEstimate = Checkpoints::GetTotalBlocksEstimate(chainparams.Checkpoints()); { LOCK(cs_vNodes); BOOST_FOREACH(CNode* pnode, vNodes) @@ -2372,7 +2397,7 @@ bool ActivateBestChain(CValidationState &state, const CBlock *pblock) { uiInterface.NotifyBlockTip(hashNewTip); } } while(pindexMostWork != chainActive.Tip()); - CheckBlockIndex(); + CheckBlockIndex(chainparams.GetConsensus()); // Write changes periodically to disk, after relay. if (!FlushStateToDisk(state, FLUSH_STATE_PERIODIC)) { @@ -2382,7 +2407,8 @@ bool ActivateBestChain(CValidationState &state, const CBlock *pblock) { return true; } -bool InvalidateBlock(CValidationState& state, CBlockIndex *pindex) { +bool InvalidateBlock(CValidationState& state, const Consensus::Params& consensusParams, CBlockIndex *pindex) +{ AssertLockHeld(cs_main); // Mark the block itself as invalid. @@ -2397,7 +2423,7 @@ bool InvalidateBlock(CValidationState& state, CBlockIndex *pindex) { setBlockIndexCandidates.erase(pindexWalk); // ActivateBestChain considers blocks already in chainActive // unconditionally valid already, so force disconnect away from it. - if (!DisconnectTip(state)) { + if (!DisconnectTip(state, consensusParams)) { return false; } } @@ -2542,8 +2568,6 @@ bool FindBlockPos(CValidationState &state, CDiskBlockPos &pos, unsigned int nAdd if (!fKnown) { while (vinfoBlockFile[nFile].nSize + nAddSize >= MAX_BLOCKFILE_SIZE) { - LogPrintf("Leaving block file %i: %s\n", nFile, vinfoBlockFile[nFile].ToString()); - FlushBlockFile(true); nFile++; if (vinfoBlockFile.size() <= nFile) { vinfoBlockFile.resize(nFile + 1); @@ -2553,7 +2577,14 @@ bool FindBlockPos(CValidationState &state, CDiskBlockPos &pos, unsigned int nAdd pos.nPos = vinfoBlockFile[nFile].nSize; } - nLastBlockFile = nFile; + if (nFile != nLastBlockFile) { + if (!fKnown) { + LogPrintf("Leaving block file %i: %s\n", nFile, vinfoBlockFile[nFile].ToString()); + } + FlushBlockFile(!fKnown); + nLastBlockFile = nFile; + } + vinfoBlockFile[nFile].AddBlock(nHeight, nTime); if (fKnown) vinfoBlockFile[nFile].nSize = std::max(pos.nPos + nAddSize, vinfoBlockFile[nFile].nSize); @@ -2772,9 +2803,8 @@ bool ContextualCheckBlock(const CBlock& block, CValidationState& state, CBlockIn return true; } -bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, CBlockIndex** ppindex) +static bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, const CChainParams& chainparams, CBlockIndex** ppindex=NULL) { - const CChainParams& chainparams = Params(); AssertLockHeld(cs_main); // Check for duplicate uint256 hash = block.GetHash(); @@ -2827,7 +2857,7 @@ bool AcceptBlock(const CBlock& block, CValidationState& state, CBlockIndex** ppi CBlockIndex *&pindex = *ppindex; - if (!AcceptBlockHeader(block, state, &pindex)) + if (!AcceptBlockHeader(block, state, chainparams, &pindex)) return false; // Try to process all requested blocks that we don't have, but only @@ -2899,6 +2929,7 @@ static bool IsSuperMajority(int minVersion, const CBlockIndex* pstart, unsigned bool ProcessNewBlock(CValidationState &state, const CNode* pfrom, const CBlock* pblock, bool fForceProcessing, CDiskBlockPos *dbp) { + const CChainParams& chainparams = Params(); // Preliminary checks bool checked = CheckBlock(*pblock, state); @@ -2916,7 +2947,7 @@ bool ProcessNewBlock(CValidationState &state, const CNode* pfrom, const CBlock* if (pindex && pfrom) { mapBlockSource[pindex->GetBlockHash()] = pfrom->GetId(); } - CheckBlockIndex(); + CheckBlockIndex(chainparams.GetConsensus()); if (!ret) return error("%s: AcceptBlock FAILED", __func__); } @@ -3248,6 +3279,7 @@ CVerifyDB::~CVerifyDB() bool CVerifyDB::VerifyDB(CCoinsView *coinsview, int nCheckLevel, int nCheckDepth) { + const CChainParams& chainparams = Params(); LOCK(cs_main); if (chainActive.Tip() == NULL || chainActive.Tip()->pprev == NULL) return true; @@ -3272,7 +3304,7 @@ bool CVerifyDB::VerifyDB(CCoinsView *coinsview, int nCheckLevel, int nCheckDepth break; CBlock block; // check level 0: read from disk - if (!ReadBlockFromDisk(block, pindex)) + if (!ReadBlockFromDisk(block, pindex, chainparams.GetConsensus())) return error("VerifyDB(): *** ReadBlockFromDisk failed at %d, hash=%s", pindex->nHeight, pindex->GetBlockHash().ToString()); // check level 1: verify block validity if (nCheckLevel >= 1 && !CheckBlock(block, state)) @@ -3312,7 +3344,7 @@ bool CVerifyDB::VerifyDB(CCoinsView *coinsview, int nCheckLevel, int nCheckDepth uiInterface.ShowProgress(_("Verifying blocks..."), std::max(1, std::min(99, 100 - (int)(((double)(chainActive.Height() - pindex->nHeight)) / (double)nCheckDepth * 50)))); pindex = chainActive.Next(pindex); CBlock block; - if (!ReadBlockFromDisk(block, pindex)) + if (!ReadBlockFromDisk(block, pindex, chainparams.GetConsensus())) return error("VerifyDB(): *** ReadBlockFromDisk failed at %d, hash=%s", pindex->nHeight, pindex->GetBlockHash().ToString()); if (!ConnectBlock(block, state, pindex, coins)) return error("VerifyDB(): *** found unconnectable block at %d, hash=%s", pindex->nHeight, pindex->GetBlockHash().ToString()); @@ -3485,7 +3517,7 @@ bool LoadExternalBlockFile(FILE* fileIn, CDiskBlockPos *dbp) std::pair<std::multimap<uint256, CDiskBlockPos>::iterator, std::multimap<uint256, CDiskBlockPos>::iterator> range = mapBlocksUnknownParent.equal_range(head); while (range.first != range.second) { std::multimap<uint256, CDiskBlockPos>::iterator it = range.first; - if (ReadBlockFromDisk(block, it->second)) + if (ReadBlockFromDisk(block, it->second, chainparams.GetConsensus())) { LogPrintf("%s: Processing out of order child %s of %s\n", __func__, block.GetHash().ToString(), head.ToString()); @@ -3512,9 +3544,8 @@ bool LoadExternalBlockFile(FILE* fileIn, CDiskBlockPos *dbp) return nLoaded > 0; } -void static CheckBlockIndex() +void static CheckBlockIndex(const Consensus::Params& consensusParams) { - const Consensus::Params& consensusParams = Params().GetConsensus(); if (!fCheckBlockIndex) { return; } @@ -3796,7 +3827,7 @@ bool static AlreadyHave(const CInv& inv) EXCLUSIVE_LOCKS_REQUIRED(cs_main) return true; } -void static ProcessGetData(CNode* pfrom) +void static ProcessGetData(CNode* pfrom, const Consensus::Params& consensusParams) { std::deque<CInv>::iterator it = pfrom->vRecvGetData.begin(); @@ -3851,7 +3882,7 @@ void static ProcessGetData(CNode* pfrom) { // Send block from disk CBlock block; - if (!ReadBlockFromDisk(block, (*mi).second)) + if (!ReadBlockFromDisk(block, (*mi).second, consensusParams)) assert(!"cannot load block from disk"); if (inv.type == MSG_BLOCK) pfrom->PushMessage("block", block); @@ -4028,9 +4059,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, CAddress addr = GetLocalAddress(&pfrom->addr); if (addr.IsRoutable()) { + LogPrintf("ProcessMessages: advertizing address %s\n", addr.ToString()); pfrom->PushAddress(addr); } else if (IsPeerAddrLocalGood(pfrom)) { addr.SetIP(pfrom->addrLocal); + LogPrintf("ProcessMessages: advertizing address %s\n", addr.ToString()); pfrom->PushAddress(addr); } } @@ -4243,7 +4276,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, LogPrint("net", "received getdata for: %s peer=%d\n", vInv[0].ToString(), pfrom->id); pfrom->vRecvGetData.insert(pfrom->vRecvGetData.end(), vInv.begin(), vInv.end()); - ProcessGetData(pfrom); + ProcessGetData(pfrom, chainparams.GetConsensus()); } @@ -4298,10 +4331,10 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, vRecv >> locator >> hashStop; LOCK(cs_main); - - if (IsInitialBlockDownload()) + if (IsInitialBlockDownload() && !pfrom->fWhitelisted) { + LogPrint("net", "Ignoring getheaders from peer=%d because node is in initial block download\n", pfrom->id); return true; - + } CBlockIndex* pindex = NULL; if (locator.IsNull()) { @@ -4488,7 +4521,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, Misbehaving(pfrom->GetId(), 20); return error("non-continuous headers sequence"); } - if (!AcceptBlockHeader(header, state, &pindexLast)) { + if (!AcceptBlockHeader(header, state, chainparams, &pindexLast)) { int nDoS; if (state.IsInvalid(nDoS)) { if (nDoS > 0) @@ -4509,7 +4542,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, pfrom->PushMessage("getheaders", chainActive.GetLocator(pindexLast), uint256()); } - CheckBlockIndex(); + CheckBlockIndex(chainparams.GetConsensus()); } else if (strCommand == "block" && !fImporting && !fReindex) // Ignore blocks received while importing @@ -4793,6 +4826,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv, // requires LOCK(cs_vRecvMsg) bool ProcessMessages(CNode* pfrom) { + const CChainParams& chainparams = Params(); //if (fDebug) // LogPrintf("%s(%u messages)\n", __func__, pfrom->vRecvMsg.size()); @@ -4807,7 +4841,7 @@ bool ProcessMessages(CNode* pfrom) bool fOk = true; if (!pfrom->vRecvGetData.empty()) - ProcessGetData(pfrom); + ProcessGetData(pfrom, chainparams.GetConsensus()); // this maintains the order of responses if (!pfrom->vRecvGetData.empty()) return fOk; @@ -4834,7 +4868,7 @@ bool ProcessMessages(CNode* pfrom) it++; // Scan for message start - if (memcmp(msg.hdr.pchMessageStart, Params().MessageStart(), MESSAGE_START_SIZE) != 0) { + if (memcmp(msg.hdr.pchMessageStart, chainparams.MessageStart(), MESSAGE_START_SIZE) != 0) { LogPrintf("PROCESSMESSAGE: INVALID MESSAGESTART %s peer=%d\n", SanitizeString(msg.hdr.GetCommand()), pfrom->id); fOk = false; break; @@ -4842,7 +4876,7 @@ bool ProcessMessages(CNode* pfrom) // Read header CMessageHeader& hdr = msg.hdr; - if (!hdr.IsValid(Params().MessageStart())) + if (!hdr.IsValid(chainparams.MessageStart())) { LogPrintf("PROCESSMESSAGE: ERRORS IN HEADER %s peer=%d\n", SanitizeString(hdr.GetCommand()), pfrom->id); continue; diff --git a/src/main.h b/src/main.h index 214493287e..5fb5534860 100644 --- a/src/main.h +++ b/src/main.h @@ -41,6 +41,8 @@ struct CNodeStateStats; /** Default for accepting alerts from the P2P network. */ static const bool DEFAULT_ALERTS = true; +/** Default for -minrelaytxfee, minimum relay fee for transactions */ +static const unsigned int DEFAULT_MIN_RELAY_TX_FEE = 1000; /** Default for -maxorphantx, maximum number of orphan transactions kept in memory */ static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100; /** Default for -limitancestorcount, max number of in-mempool ancestors */ @@ -127,6 +129,9 @@ extern uint64_t nPruneTarget; /** Block files containing a block-height within MIN_BLOCKS_TO_KEEP of chainActive.Tip() will not be pruned. */ static const unsigned int MIN_BLOCKS_TO_KEEP = 288; +static const signed int DEFAULT_CHECKBLOCKS = MIN_BLOCKS_TO_KEEP; +static const unsigned int DEFAULT_CHECKLEVEL = 3; + // Require that user allocate at least 550MB for block & undo files (blk???.dat and rev???.dat) // At 1MB per block, 288 blocks = 288MB. // Add 15% for Undo data = 331MB @@ -189,7 +194,7 @@ bool IsInitialBlockDownload(); /** Format a string that describes several potential problems detected by the core */ std::string GetWarnings(const std::string& strFor); /** Retrieve a transaction (from memory pool, or from disk, if possible) */ -bool GetTransaction(const uint256 &hash, CTransaction &tx, uint256 &hashBlock, bool fAllowSlow = false); +bool GetTransaction(const uint256 &hash, CTransaction &tx, const Consensus::Params& params, uint256 &hashBlock, bool fAllowSlow = false); /** Find the best known block, and make it the tip of the block chain */ bool ActivateBestChain(CValidationState &state, const CBlock *pblock = NULL); CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams); @@ -350,9 +355,8 @@ public: /** Functions for disk access for blocks */ bool WriteBlockToDisk(const CBlock& block, CDiskBlockPos& pos, const CMessageHeader::MessageStartChars& messageStart); -bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos); -bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex); - +bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos, const Consensus::Params& consensusParams); +bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex, const Consensus::Params& consensusParams); /** Functions for validating blocks and updating the block tree */ @@ -378,8 +382,6 @@ bool TestBlockValidity(CValidationState &state, const CBlock& block, CBlockIndex /** Store block on disk. If dbp is non-NULL, the file is known to already reside on disk */ bool AcceptBlock(const CBlock& block, CValidationState& state, CBlockIndex **pindex, bool fRequested, CDiskBlockPos* dbp); -bool AcceptBlockHeader(const CBlockHeader& block, CValidationState& state, CBlockIndex **ppindex= NULL); - class CBlockFileInfo @@ -448,7 +450,7 @@ public: CBlockIndex* FindForkInGlobalIndex(const CChain& chain, const CBlockLocator& locator); /** Mark a block as invalid. */ -bool InvalidateBlock(CValidationState& state, CBlockIndex *pindex); +bool InvalidateBlock(CValidationState& state, const Consensus::Params& consensusParams, CBlockIndex *pindex); /** Remove invalidity status from a block and its descendants. */ bool ReconsiderBlock(CValidationState& state, CBlockIndex *pindex); diff --git a/src/miner.h b/src/miner.h index 7e0e58d540..ad13204818 100644 --- a/src/miner.h +++ b/src/miner.h @@ -17,6 +17,8 @@ class CScript; class CWallet; namespace Consensus { struct Params; }; +static const int DEFAULT_GENERATE_THREADS = 1; + struct CBlockTemplate { CBlock block; diff --git a/src/net.cpp b/src/net.cpp index e18e8d0e29..ada4a1bb62 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -216,6 +216,7 @@ void AdvertizeLocal(CNode *pnode) } if (addrLocal.IsRoutable()) { + LogPrintf("AdvertizeLocal: advertizing address %s\n", addrLocal.ToString()); pnode->PushAddress(addrLocal); } } @@ -262,6 +263,14 @@ bool AddLocal(const CNetAddr &addr, int nScore) return AddLocal(CService(addr, GetListenPort()), nScore); } +bool RemoveLocal(const CService& addr) +{ + LOCK(cs_mapLocalHost); + LogPrintf("RemoveLocal(%s)\n", addr.ToString()); + mapLocalHost.erase(addr); + return true; +} + /** Make a particular network entirely off-limits (no automatic connects to it) */ void SetLimited(enum Network net, bool fLimited) { @@ -128,6 +128,7 @@ 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 RemoveLocal(const CService& addr); bool SeenLocal(const CService& addr); bool IsLocal(const CService& addr); bool GetLocal(CService &addr, const CNetAddr *paddrPeer = NULL); diff --git a/src/netbase.cpp b/src/netbase.cpp index f5316965ce..83cedfb620 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -227,10 +227,7 @@ bool LookupNumeric(const char *pszName, CService& addr, int portDefault) return Lookup(pszName, addr, portDefault, false); } -/** - * Convert milliseconds to a struct timeval for select. - */ -struct timeval static MillisToTimeval(int64_t nTimeout) +struct timeval MillisToTimeval(int64_t nTimeout) { struct timeval timeout; timeout.tv_sec = nTimeout / 1000; diff --git a/src/netbase.h b/src/netbase.h index 6f8882b852..2a79f82d72 100644 --- a/src/netbase.h +++ b/src/netbase.h @@ -215,5 +215,9 @@ std::string NetworkErrorString(int err); bool CloseSocket(SOCKET& hSocket); /** Disable or enable blocking-mode for a socket */ bool SetSocketNonBlocking(SOCKET& hSocket, bool fNonBlocking); +/** + * Convert milliseconds to a struct timeval for e.g. select. + */ +struct timeval MillisToTimeval(int64_t nTimeout); #endif // BITCOIN_NETBASE_H diff --git a/src/primitives/transaction.h b/src/primitives/transaction.h index 2a457cdae7..98882d315e 100644 --- a/src/primitives/transaction.h +++ b/src/primitives/transaction.h @@ -143,8 +143,8 @@ public: // to spend something, then we consider it dust. // A typical spendable txout is 34 bytes big, and will // need a CTxIn of at least 148 bytes to spend: - // so dust is a spendable txout less than 546 satoshis - // with default minRelayTxFee. + // so dust is a spendable txout less than + // 546*minRelayTxFee/1000 (in satoshis) if (scriptPubKey.IsUnspendable()) return 0; diff --git a/src/qt/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp index c5ac07cfc2..a488d298c4 100644 --- a/src/qt/addresstablemodel.cpp +++ b/src/qt/addresstablemodel.cpp @@ -218,7 +218,7 @@ QVariant AddressTableModel::data(const QModelIndex &index, int role) const QFont font; if(index.column() == Address) { - font = GUIUtil::bitcoinAddressFont(); + font = GUIUtil::fixedPitchFont(); } return font; } diff --git a/src/qt/bitcoinstrings.cpp b/src/qt/bitcoinstrings.cpp index 3cde2657cf..01e93d786a 100644 --- a/src/qt/bitcoinstrings.cpp +++ b/src/qt/bitcoinstrings.cpp @@ -13,6 +13,12 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" "(1 = keep tx meta data e.g. account owner and payment request information, 2 " "= drop tx meta data)"), QT_TRANSLATE_NOOP("bitcoin-core", "" +"-maxtxfee is set very high! Fees this large could be paid on a single " +"transaction."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"-paytxfee is set very high! This is the transaction fee you will pay if you " +"send a transaction."), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Allow JSON-RPC connections from specified source. Valid for <ip> are a " "single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or " "a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times"), @@ -42,10 +48,12 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" "Distributed under the MIT software license, see the accompanying file " "COPYING or <http://www.opensource.org/licenses/mit-license.php>."), QT_TRANSLATE_NOOP("bitcoin-core", "" -"Error: Listening for incoming connections failed (listen returned error %s)"), +"Do not keep transactions in the mempool longer than <n> hours (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "" -"Error: Unsupported argument -socks found. Setting SOCKS version isn't " -"possible anymore, only SOCKS5 proxies are supported."), +"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", "" +"Error: Listening for incoming connections failed (listen returned error %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "" "Execute command when a relevant alert is received or we see a really long " "fork (%s in cmd is replaced by message)"), @@ -56,8 +64,8 @@ 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", "" -"Fees (in %s/kB) smaller than this are considered zero fee for relaying " -"(default: %s)"), +"Fees (in %s/kB) smaller than this are considered zero fee for relaying, " +"mining and transaction creation (default: %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "" "How thorough the block verification of -checkblocks is (0-4, default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "" @@ -127,9 +135,18 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" "the OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software " "written by Eric Young and UPnP software written by Thomas Bernard."), QT_TRANSLATE_NOOP("bitcoin-core", "" +"Total length of network version string (%i) exceeds maximum length (%i). " +"Reduce the number or size of uacomments."), +QT_TRANSLATE_NOOP("bitcoin-core", "" +"Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = " +"no limit (default: %d)"), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Unable to bind to %s on this computer. Bitcoin Core is probably already " "running."), QT_TRANSLATE_NOOP("bitcoin-core", "" +"Unsupported argument -socks found. Setting SOCKS version isn't possible " +"anymore, only SOCKS5 proxies are supported."), +QT_TRANSLATE_NOOP("bitcoin-core", "" "Use UPnP to map the listening port (default: 1 when listening and no -proxy)"), QT_TRANSLATE_NOOP("bitcoin-core", "" "Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: " @@ -141,21 +158,12 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" "WARNING: check your network connection, %d blocks received in the last %d " "hours (%d expected)"), QT_TRANSLATE_NOOP("bitcoin-core", "" -"Warning: -maxtxfee is set very high! Fees this large could be paid on a " -"single transaction."), -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: The network does not appear to fully agree! Some miners appear to " "be experiencing issues."), QT_TRANSLATE_NOOP("bitcoin-core", "" "Warning: We do not appear to fully agree with our peers! You may need to " "upgrade, or other nodes may need to upgrade."), 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."), @@ -171,6 +179,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "" QT_TRANSLATE_NOOP("bitcoin-core", "(default: %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "(default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "(default: 1)"), +QT_TRANSLATE_NOOP("bitcoin-core", "-maxmempool must be at least %d MB"), QT_TRANSLATE_NOOP("bitcoin-core", "<category> can be:"), 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)"), @@ -179,7 +188,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Activating best chain..."), 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", "Always query for peer addresses via DNS lookup (default: %u)"), -QT_TRANSLATE_NOOP("bitcoin-core", "Attempt to recover private keys from a corrupt wallet.dat"), +QT_TRANSLATE_NOOP("bitcoin-core", "Attempt to recover private keys from a corrupt wallet.dat on startup"), QT_TRANSLATE_NOOP("bitcoin-core", "Block creation options:"), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot downgrade wallet"), QT_TRANSLATE_NOOP("bitcoin-core", "Cannot resolve -bind address: '%s'"), @@ -212,13 +221,12 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Error reading from database, shutting down.") QT_TRANSLATE_NOOP("bitcoin-core", "Error"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: A fatal internal error occurred, see debug.log for details"), QT_TRANSLATE_NOOP("bitcoin-core", "Error: Disk space is low!"), -QT_TRANSLATE_NOOP("bitcoin-core", "Error: Unsupported argument -tor found, use -onion."), QT_TRANSLATE_NOOP("bitcoin-core", "Failed to listen on any port. Use -listen=0 if you want this."), QT_TRANSLATE_NOOP("bitcoin-core", "Fee (in %s/kB) to add to transactions you send (default: %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "Generate coins (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "How many blocks to check at startup (default: %u, 0 = all)"), QT_TRANSLATE_NOOP("bitcoin-core", "Importing..."), -QT_TRANSLATE_NOOP("bitcoin-core", "Imports blocks from external blk000??.dat file"), +QT_TRANSLATE_NOOP("bitcoin-core", "Imports blocks from external blk000??.dat file on startup"), QT_TRANSLATE_NOOP("bitcoin-core", "Include IP addresses in debug output (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Incorrect or no genesis block found. Wrong datadir for network?"), QT_TRANSLATE_NOOP("bitcoin-core", "Information"), @@ -233,6 +241,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -paytxfee=<amount>: '%s' ( QT_TRANSLATE_NOOP("bitcoin-core", "Invalid amount for -paytxfee=<amount>: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Invalid netmask specified in -whitelist: '%s'"), QT_TRANSLATE_NOOP("bitcoin-core", "Keep at most <n> unconnectable transactions in memory (default: %u)"), +QT_TRANSLATE_NOOP("bitcoin-core", "Keep the transaction memory pool below <n> megabytes (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Listen for JSON-RPC connections on <port> (default: %u or testnet: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Listen for connections on <port> (default: %u or testnet: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Loading addresses..."), @@ -258,7 +267,7 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Receive and display P2P network alerts (defau QT_TRANSLATE_NOOP("bitcoin-core", "Reducing -maxconnections from %d to %d, because of system limitations."), QT_TRANSLATE_NOOP("bitcoin-core", "Relay and mine data carrier transactions (default: %u)"), QT_TRANSLATE_NOOP("bitcoin-core", "Relay non-P2SH multisig (default: %u)"), -QT_TRANSLATE_NOOP("bitcoin-core", "Rescan the block chain for missing wallet transactions"), +QT_TRANSLATE_NOOP("bitcoin-core", "Rescan the block chain for missing wallet transactions on startup"), 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", "Send trace/debug info to console instead of debug.log file"), @@ -294,9 +303,12 @@ QT_TRANSLATE_NOOP("bitcoin-core", "UI Options:"), QT_TRANSLATE_NOOP("bitcoin-core", "Unable to bind to %s on this computer (bind returned error %s)"), QT_TRANSLATE_NOOP("bitcoin-core", "Unable to start HTTP server. See debug log for details."), 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", "Unsupported argument -benchmark ignored, use -debug=bench."), +QT_TRANSLATE_NOOP("bitcoin-core", "Unsupported argument -debugnet ignored, use -debug=net."), +QT_TRANSLATE_NOOP("bitcoin-core", "Unsupported argument -tor found, use -onion."), +QT_TRANSLATE_NOOP("bitcoin-core", "Upgrade wallet to latest format on startup"), QT_TRANSLATE_NOOP("bitcoin-core", "Use UPnP to map the listening port (default: %u)"), -QT_TRANSLATE_NOOP("bitcoin-core", "Use the test network"), +QT_TRANSLATE_NOOP("bitcoin-core", "User Agent comment (%s) contains unsafe characters."), QT_TRANSLATE_NOOP("bitcoin-core", "Username for JSON-RPC connections"), QT_TRANSLATE_NOOP("bitcoin-core", "Verifying blocks..."), QT_TRANSLATE_NOOP("bitcoin-core", "Verifying wallet..."), @@ -305,11 +317,8 @@ QT_TRANSLATE_NOOP("bitcoin-core", "Wallet needed to be rewritten: restart Bitcoi QT_TRANSLATE_NOOP("bitcoin-core", "Wallet options:"), QT_TRANSLATE_NOOP("bitcoin-core", "Warning"), QT_TRANSLATE_NOOP("bitcoin-core", "Warning: This version is obsolete; upgrade required!"), -QT_TRANSLATE_NOOP("bitcoin-core", "Warning: Unsupported argument -benchmark ignored, use -debug=bench."), -QT_TRANSLATE_NOOP("bitcoin-core", "Warning: Unsupported argument -debugnet ignored, use -debug=net."), QT_TRANSLATE_NOOP("bitcoin-core", "You need to rebuild the database using -reindex to change -txindex"), QT_TRANSLATE_NOOP("bitcoin-core", "Zapping all transactions from wallet..."), QT_TRANSLATE_NOOP("bitcoin-core", "ZeroMQ notification options:"), -QT_TRANSLATE_NOOP("bitcoin-core", "on startup"), QT_TRANSLATE_NOOP("bitcoin-core", "wallet.dat corrupt, salvage failed"), }; diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 51008ad2de..81b2597c3b 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -567,7 +567,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) nChange -= nPayFee; // Never create dust outputs; if we would, just add the dust to the fee. - if (nChange > 0 && nChange < CENT) + if (nChange > 0 && nChange < MIN_CHANGE) { CTxOut txout(nChange, (CScript)std::vector<unsigned char>(24, 0)); if (txout.IsDust(::minRelayTxFee)) @@ -636,21 +636,21 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) // tool tips QString toolTip1 = tr("This label turns red if the transaction size is greater than 1000 bytes.") + "<br /><br />"; - toolTip1 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::minTxFee.GetFeePerK())) + "<br /><br />"; + toolTip1 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::GetRequiredFee(1000))) + "<br /><br />"; toolTip1 += tr("Can vary +/- 1 byte per input."); QString toolTip2 = tr("Transactions with higher priority are more likely to get included into a block.") + "<br /><br />"; toolTip2 += tr("This label turns red if the priority is smaller than \"medium\".") + "<br /><br />"; - toolTip2 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::minTxFee.GetFeePerK())); + toolTip2 += tr("This means a fee of at least %1 per kB is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CWallet::GetRequiredFee(1000))); QString toolTip3 = tr("This label turns red if any recipient receives an amount smaller than %1.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, ::minRelayTxFee.GetFee(546))); // how many satoshis the estimated fee can vary per byte we guess wrong double dFeeVary; if (payTxFee.GetFeePerK() > 0) - dFeeVary = (double)std::max(CWallet::minTxFee.GetFeePerK(), payTxFee.GetFeePerK()) / 1000; + dFeeVary = (double)std::max(CWallet::GetRequiredFee(1000), payTxFee.GetFeePerK()) / 1000; else - dFeeVary = (double)std::max(CWallet::minTxFee.GetFeePerK(), mempool.estimateFee(nTxConfirmTarget).GetFeePerK()) / 1000; + dFeeVary = (double)std::max(CWallet::GetRequiredFee(1000), mempool.estimateFee(nTxConfirmTarget).GetFeePerK()) / 1000; QString toolTip4 = tr("Can vary +/- %1 satoshi(s) per input.").arg(dFeeVary); l3->setToolTip(toolTip4); diff --git a/src/qt/forms/debugwindow.ui b/src/qt/forms/debugwindow.ui index 4117da57f5..eb02dd80ff 100644 --- a/src/qt/forms/debugwindow.ui +++ b/src/qt/forms/debugwindow.ui @@ -1117,7 +1117,7 @@ <item row="12" column="0"> <widget class="QLabel" name="label_18"> <property name="text"> - <string>Bytes Sent</string> + <string>Sent</string> </property> </widget> </item> @@ -1140,7 +1140,7 @@ <item row="13" column="0"> <widget class="QLabel" name="label_20"> <property name="text"> - <string>Bytes Received</string> + <string>Received</string> </property> </widget> </item> diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 8917f77f22..845459b76a 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -88,7 +88,7 @@ QString dateTimeStr(qint64 nTime) return dateTimeStr(QDateTime::fromTime_t((qint32)nTime)); } -QFont bitcoinAddressFont() +QFont fixedPitchFont() { QFont font("Monospace"); #if QT_VERSION >= 0x040800 @@ -103,7 +103,7 @@ void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent) { parent->setFocusProxy(widget); - widget->setFont(bitcoinAddressFont()); + widget->setFont(fixedPitchFont()); #if QT_VERSION >= 0x040700 // We don't want translators to use own addresses in translations // and this is the only place, where this address is supplied. @@ -581,12 +581,12 @@ TableViewLastColumnResizingFixer::TableViewLastColumnResizingFixer(QTableView* t #ifdef WIN32 boost::filesystem::path static StartupShortcutPath() { - if (GetBoolArg("-testnet", false)) + std::string chain = ChainNameFromCommandLine(); + if (chain == CBaseChainParams::MAIN) + return GetSpecialFolderPath(CSIDL_STARTUP) / "Bitcoin.lnk"; + if (chain == CBaseChainParams::TESTNET) // Remove this special case when CBaseChainParams::TESTNET = "testnet4" return GetSpecialFolderPath(CSIDL_STARTUP) / "Bitcoin (testnet).lnk"; - else if (GetBoolArg("-regtest", false)) - return GetSpecialFolderPath(CSIDL_STARTUP) / "Bitcoin (regtest).lnk"; - - return GetSpecialFolderPath(CSIDL_STARTUP) / "Bitcoin.lnk"; + return GetSpecialFolderPath(CSIDL_STARTUP) / strprintf("Bitcoin (%s).lnk", chain); } bool GetStartOnSystemStartup() @@ -719,15 +719,14 @@ bool SetStartOnSystemStartup(bool fAutoStart) boost::filesystem::ofstream optionFile(GetAutostartFilePath(), std::ios_base::out|std::ios_base::trunc); if (!optionFile.good()) return false; + std::string chain = ChainNameFromCommandLine(); // Write a bitcoin.desktop file to the autostart directory: optionFile << "[Desktop Entry]\n"; optionFile << "Type=Application\n"; - if (GetBoolArg("-testnet", false)) - optionFile << "Name=Bitcoin (testnet)\n"; - else if (GetBoolArg("-regtest", false)) - optionFile << "Name=Bitcoin (regtest)\n"; - else + if (chain == CBaseChainParams::MAIN) optionFile << "Name=Bitcoin\n"; + else + optionFile << strprintf("Name=Bitcoin (%s)\n", chain); optionFile << "Exec=" << pszExePath << strprintf(" -min -testnet=%d -regtest=%d\n", GetBoolArg("-testnet", false), GetBoolArg("-regtest", false)); optionFile << "Terminal=false\n"; optionFile << "Hidden=false\n"; diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index 0ac3db6327..ec678c4af2 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -37,8 +37,8 @@ namespace GUIUtil QString dateTimeStr(const QDateTime &datetime); QString dateTimeStr(qint64 nTime); - // Render Bitcoin addresses in monospace font - QFont bitcoinAddressFont(); + // Return a monospace font + QFont fixedPitchFont(); // Set up widgets for address and amounts void setupAddressWidget(QValidatedLineEdit *widget, QWidget *parent); diff --git a/src/qt/locale/bitcoin_ach.ts b/src/qt/locale/bitcoin_ach.ts index ddb9fb85ce..3365540853 100644 --- a/src/qt/locale/bitcoin_ach.ts +++ b/src/qt/locale/bitcoin_ach.ts @@ -1,4 +1,4 @@ -<TS language="ach" version="2.0"> +<TS language="ach" version="2.1"> <context> <name>AddressBookPage</name> </context> @@ -9,6 +9,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> </context> <context> diff --git a/src/qt/locale/bitcoin_af_ZA.ts b/src/qt/locale/bitcoin_af_ZA.ts index 3767a4c830..d55d2f58ac 100644 --- a/src/qt/locale/bitcoin_af_ZA.ts +++ b/src/qt/locale/bitcoin_af_ZA.ts @@ -1,4 +1,4 @@ -<TS language="af_ZA" version="2.0"> +<TS language="af_ZA" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -101,6 +101,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Synchronizing with network...</source> @@ -631,10 +634,6 @@ <translation>Opsies:</translation> </message> <message> - <source>Use the test network</source> - <translation>Gebruik die toets netwerk</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Fout: Hardeskyf spasie is baie laag!</translation> </message> diff --git a/src/qt/locale/bitcoin_ar.ts b/src/qt/locale/bitcoin_ar.ts index e56083fa2c..f70196140c 100644 --- a/src/qt/locale/bitcoin_ar.ts +++ b/src/qt/locale/bitcoin_ar.ts @@ -1,4 +1,4 @@ -<TS language="ar" version="2.0"> +<TS language="ar" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -164,6 +164,10 @@ <translation>هل أنت متأكد من رغبتك في تشفير محفظتك ؟</translation> </message> <message> + <source>Bitcoin Core will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source> + <translation>بتكوين سوف يغلق الآن لإنهاء عملية التشفير. تذكر أن التشفير لا يستطيع حماية محفظتك تمامًا من السرقة من خلال البرمجيات الخبيثة التي تصيب جهازك </translation> + </message> + <message> <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source> <translation>هام: أي نسخة إحتياطية سابقة قمت بها لمحفظتك يجب استبدالها بأخرى حديثة، مشفرة. لأسباب أمنية، النسخ الاحتياطية السابقة لملفات المحفظة الغير مشفرة تصبح عديمة الفائدة مع بداية استخدام المحفظة المشفرة الجديدة.</translation> </message> @@ -180,6 +184,10 @@ <translation>أدخل عبارة مرور جديدة إلى المحفظة. الرجاء استخدام عبارة مرور تتكون من10 حروف عشوائية على الاقل, أو أكثر من 7 كلمات</translation> </message> <message> + <source>Enter the old passphrase and new passphrase to the wallet.</source> + <translation>أدخل كلمة المرور القديمة والجديدة للمحفظة.</translation> + </message> + <message> <source>Wallet encryption failed</source> <translation>فشل تشفير المحفظة</translation> </message> @@ -209,6 +217,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -897,12 +908,16 @@ <translation>استخدم اسهم الاعلى و الاسفل للتنقل بين السجلات و <b>Ctrl-L</b> لمسح الشاشة</translation> </message> <message> - <source>Unknown</source> - <translation>غير معرف</translation> + <source>Yes</source> + <translation>نعم</translation> </message> <message> - <source>Fetching...</source> - <translation>جاري الجلب...</translation> + <source>No</source> + <translation>لا</translation> + </message> + <message> + <source>Unknown</source> + <translation>غير معرف</translation> </message> </context> <context> @@ -1117,10 +1132,6 @@ <translation>نسخ التعديل</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>مجموع المبلغ %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>أو</translation> </message> @@ -1631,10 +1642,6 @@ <translation>حدد مجلد المعلومات</translation> </message> <message> - <source>Use the test network</source> - <translation>استخدم التحقق من الشبكه</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>قبول الاتصالات من خارج</translation> </message> diff --git a/src/qt/locale/bitcoin_be_BY.ts b/src/qt/locale/bitcoin_be_BY.ts index 5f7f6f89bf..57dd9c3611 100644 --- a/src/qt/locale/bitcoin_be_BY.ts +++ b/src/qt/locale/bitcoin_be_BY.ts @@ -1,4 +1,4 @@ -<TS language="be_BY" version="2.0"> +<TS language="be_BY" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1373,10 +1376,6 @@ <translation>Запусціць у фоне як дэман і прымаць каманды</translation> </message> <message> - <source>Use the test network</source> - <translation>Ужываць тэставае сеціва</translation> - </message> - <message> <source>Do you want to rebuild the block database now?</source> <translation>Ці жадаеце вы перабудаваць зараз базу звестак блокаў?</translation> </message> @@ -1397,10 +1396,6 @@ <translation>Памылка адчынення базы звестак блокаў</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Памылка: здарылася Фатальная унутраная памылка, глядзі debug.log для падрабязнасцяў</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Памылка: Замала вольнага месца на дыску!</translation> </message> @@ -1493,10 +1488,6 @@ <translation>Перасканаваць ланцуг блокаў дзеля пошуку адсутных транзакцый</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Ужываць OpenSSL (https) для JSON-RPC злучэнняў</translation> - </message> - <message> <source>Loading addresses...</source> <translation>Загружаем адрасы...</translation> </message> diff --git a/src/qt/locale/bitcoin_bg.ts b/src/qt/locale/bitcoin_bg.ts index e2821dbdef..d2db8a196c 100644 --- a/src/qt/locale/bitcoin_bg.ts +++ b/src/qt/locale/bitcoin_bg.ts @@ -1,4 +1,4 @@ -<TS language="bg" version="2.0"> +<TS language="bg" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -209,6 +209,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1049,10 +1052,6 @@ <translation>Възстановяване на сума от %1</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Дос защита на заявката за плащане</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Грешка при комуникацията с %1: %2</translation> </message> @@ -1225,10 +1224,6 @@ <translation>Услуги</translation> </message> <message> - <source>Starting Height</source> - <translation>Стартова височина</translation> - </message> - <message> <source>Connection Time</source> <translation>Продължителност на връзката</translation> </message> @@ -1340,10 +1335,6 @@ <source>Unknown</source> <translation>Неизвестен</translation> </message> - <message> - <source>Fetching...</source> - <translation>Прихващане...</translation> - </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -1633,10 +1624,6 @@ <translation>Копирай рестото</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Пълна сума %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>или</translation> </message> @@ -2327,18 +2314,10 @@ <translation>Въведете Ваш публичен адрес</translation> </message> <message> - <source>Use the test network</source> - <translation>Използвайте тестовата мрежа</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Приемайте връзки отвън.(по подразбиране:1 в противен случай -proxy или -connect)</translation> </message> <message> - <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> <source>Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times.</source> <translation>Сложете в бял списък пиъри,свързващи се от дадената интернет маска или айпи адрес.Може да бъде заложено неколкократно.</translation> </message> @@ -2391,10 +2370,6 @@ <translation>Заложете броя на нишки за генерация на монети ако е включено(-1 = всички ядра, по подразбиране: %d)</translation> </message> <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Внимание: -maxtxfee има много висока стойност! Толкова високи такси могат да бъдат заплатени на една транзакция.</translation> - </message> - <message> <source>Choose data directory on startup (default: 0)</source> <translation>Изберете директория при стартиране на програмата.( настройка по подразбиране:0)</translation> </message> @@ -2471,10 +2446,6 @@ <translation>Повторно сканиране на блок-връзка за липсващи портфейлни транзакции</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Използвайте OpenSSL (https) за JSON-RPC връзките</translation> - </message> - <message> <source>This help message</source> <translation>Това помощно съобщение</translation> </message> diff --git a/src/qt/locale/bitcoin_bs.ts b/src/qt/locale/bitcoin_bs.ts index 86526022fe..a186842201 100644 --- a/src/qt/locale/bitcoin_bs.ts +++ b/src/qt/locale/bitcoin_bs.ts @@ -1,4 +1,4 @@ -<TS language="bs" version="2.0"> +<TS language="bs" version="2.1"> <context> <name>AddressBookPage</name> </context> @@ -9,6 +9,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Bitcoin</source> diff --git a/src/qt/locale/bitcoin_ca.ts b/src/qt/locale/bitcoin_ca.ts index ceb71469cb..b9aa40a7e3 100644 --- a/src/qt/locale/bitcoin_ca.ts +++ b/src/qt/locale/bitcoin_ca.ts @@ -1,4 +1,4 @@ -<TS language="ca" version="2.0"> +<TS language="ca" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1287,10 +1290,6 @@ <translation>La sol·licitud de pagament %1 és massa gran (%2 bytes, permès %3 bytes).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Protecció de DoS per a la sol·licitud de pagament</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Error en comunicar amb %1: %2</translation> </message> @@ -1479,14 +1478,6 @@ <translation>Serveis</translation> </message> <message> - <source>Starting Height</source> - <translation>Alçada inicial</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Sincronitza l'alçada</translation> - </message> - <message> <source>Ban Score</source> <translation>Puntuació de bandeig</translation> </message> @@ -1607,12 +1598,16 @@ <translation>Sortint</translation> </message> <message> - <source>Unknown</source> - <translation>Desconegut</translation> + <source>Yes</source> + <translation>Sí</translation> </message> <message> - <source>Fetching...</source> - <translation>S'està obtenint...</translation> + <source>No</source> + <translation>No</translation> + </message> + <message> + <source>Unknown</source> + <translation>Desconegut</translation> </message> </context> <context> @@ -1979,10 +1974,6 @@ <translation>Copia el canvi</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Import total %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>o</translation> </message> @@ -2805,10 +2796,6 @@ <translation>Executa en segon pla com a programa dimoni i accepta ordres</translation> </message> <message> - <source>Use the test network</source> - <translation>Utilitza la xarxa de prova</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Accepta connexions de fora (per defecte: 1 si no -proxy o -connect)</translation> </message> @@ -2829,14 +2816,6 @@ <translation>Executa una ordre quan una transacció del moneder canviï (%s en cmd es canvia per TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Comissions totals màximes que s'utilitzaran en una única transacció de moneder; si s'estableix un valor massa baix es poden interrompre transaccions grans (per defecte: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Redueix els requeriments d'emmagatzemament podant (suprimint) els blocs antics. Aquest mode inhabilita l'ús de moneders i és incompatible amb -tindex. Avís: Revertir aquesta configuració comporta tornar a baixar la cadena de blocs sencera. (per defecte: 0 = inhabilita la poda de blocs, >%u = mida objectiu en MiB per utilitzar els fitxers de blocs)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Defineix el nombre de fils de verificació d'scripts (%u a %d, 0 = auto, <0 = deixa tants nuclis lliures, per defecte: %d)</translation> </message> @@ -2857,10 +2836,6 @@ <translation>AVÍS: comproveu la vostra connexió a la xarxa, %d blocs rebuts en les darreres %d hores (se n'esperaven %d)</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Avís: el -paytxfee és molt elevat! Aquesta és la comissió de transacció que pagareu si envieu una transacció.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Avís: la xarxa no sembla que hi estigui plenament d'acord. Alguns miners sembla que estan experimentant problemes.</translation> </message> @@ -2869,10 +2844,6 @@ <translation>Avís: sembla que no estem plenament d'acord amb els nostres iguals! Podria caler que actualitzar l'aplicació, o potser que ho facin altres nodes.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Avís: error en llegir el fitxer wallet.dat! Totes les claus es llegeixen correctament, però hi ha dades de transaccions o entrades de la llibreta d'adreces absents o bé son incorrectes.</translation> - </message> - <message> <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>Avís: el fitxer wallet.dat és corrupte, dades rescatades! L'arxiu wallet.dat original ha estat desat com wallet.{estampa_temporal}.bak al directori %s; si el teu balanç o transaccions son incorrectes hauries de restaurar-lo de un backup.</translation> </message> @@ -2937,10 +2908,6 @@ <translation>Error en obrir la base de dades de blocs</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Error: s'ha produït un error intern fatal. Consulteu debug.log per a més detalls</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Error: Espai al disc baix!</translation> </message> @@ -2949,10 +2916,6 @@ <translation>Ha fallat escoltar a qualsevol port. Feu servir -listen=0 si voleu fer això.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Si no se subministra <category>, mostra tota la informació de depuració.</translation> - </message> - <message> <source>Importing...</source> <translation>S'està important...</translation> </message> @@ -3053,18 +3016,10 @@ <translation>Error: ha fallat escoltar les connexions entrants (l'escoltament ha retornat l'error %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Error: s'ha trobat un argument no permès de -socks. Ja no es pot definir més la versió de SOCKS, només s'accepten els proxies de SOCKS5.ç</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Executa l'ordre quan es rebi un avís rellevant o veiem una forquilla molt llarga (%s en cmd és reemplaçat per un missatge)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Comissions (en BTC/Kb) inferiors a això es consideren de comissió zero per a la transmissió (per defecte: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Si no s'especifica una paytxfee (comissió de transacció de pagament), inclogueu suficient comissió per tal que les transaccions comencin a confirmar-se en una mitja de n blocs (per defecte: %u)</translation> </message> @@ -3077,10 +3032,6 @@ <translation>Mida màxima de les dades en les transaccions de l'operador en què confiem i en les meves (per defecte: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Poda configurada per sota el mínim de %d MB. Feu servir un nombre superior.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Consulta a adreces d'iguals a través de DNS, si es troba baix en adreces (per defecte: 1 a menys que -connect)</translation> </message> @@ -3105,37 +3056,6 @@ <translation>Aquest producte inclou programari desenvolupat pel projecte OpenSSL per a ús a l'OpenSSL Toolkit <https://www.openssl.org/> i programari criptogràfic escrit per Eric Young i programari UPnP escrit per Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Per utilitzar bitcoind, o l'opció de serviddor de bitcoin-qt, heu de definir una rpcpassword en el fitxer de configuració: -%s -Es recomana que utilitzeu la contrasenya aleatòria següent: -rpcuser=bitcoinrpc -rpcpassword=%s -(no cal que recordeu la contrasenya) -El nom d'usuari i la contrasenya NO han de ser els mateixos. -Si el fitxer no existeix, creeu-ne un amb permisos de lectura només per al seu propietari. -Es recomana definir alertnotify per tal de ser notificat de qualsevol problema; -per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Avís: s'ha especificat un -maxtxfee molt alt! Comissions tan grans podrien pagar-se en una única transacció.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Avís: comproveu que la data i hora del vostre ordinador siguin correctes! Si el vostre rellotge no és correcte, el Bitcoin Core no funcionarà correctament.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Els iguals en la llista blanca no poden ser bandejats per DoS i es transmetran sempre llurs transaccions, fins i tot si ja són a la mempool. Això és útil, p. ex., per a una passarel·la</translation> </message> @@ -3156,10 +3076,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>S'està activant la millor cadena...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>No es pot executar amb un moneder en mode poda.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>No es pot resoldre l'adreça -whitebind: «%s»</translation> </message> @@ -3176,10 +3092,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Copyright (C) 2009-%i Els desenvolupadors del Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>No s'ha pogut analitzar el valor -rpcbind %s com una adreça de xarxa</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Error en carregar wallet.dat: el moneder requereix una versió més nova del Bitcoin core</translation> </message> @@ -3188,14 +3100,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Error en llegir la base de dades, tancant.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Error: s'ha trobat un argument -tor no acceptat. Feu servir -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Comissió en (BTC/kB) per afegir a les transaccions que envieu (per defecte: %s)</translation> - </message> - <message> <source>Information</source> <translation>&Informació</translation> </message> @@ -3236,18 +3140,10 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Opcions de transmissió del node:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opcions RPC SSL: (veieu el wiki del Bitcoin per a instruccions de configuració de l'SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opcions del servidor RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Suport RPC per a connexions HTTP persistents (per defecte: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Reconstrueix l'índex de la cadena de blocs dels fitxers blk000??.dat actuals a l'inici.</translation> </message> @@ -3324,10 +3220,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>No s'ha pogut vincular a %s en aquest ordinador (la vinculació ha retornat l'error %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Utilitza UPnP per a mapejar els ports d'escolta (per defecte: 1 quan s'escolta)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Nom d'usuari per a connexions JSON-RPC</translation> </message> @@ -3340,14 +3232,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Avís</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Avís: s'ha ignorat l'argument no acceptat de -benchmark. Feu servir -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Avís: s'ha ignorat l'argument no acceptat de -debugnet. Feu servir -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Se suprimeixen totes les transaccions del moneder...</translation> </message> @@ -3376,10 +3260,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Reescaneja la cadena de blocs en les transaccions de moneder perdudes</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Utilitza OpenSSL (https) per a connexions JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Aquest misatge d'ajuda</translation> </message> @@ -3424,10 +3304,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>(per defecte: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Xifrats acceptables (per defecte: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Demana sempre les adreces dels iguals a través de consultes DNS (per defecte: %u)</translation> </message> @@ -3488,14 +3364,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Retransmet multisig no P2SH (per defecte: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Fitxer de certificat del servidor (per defecte: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Clau privada del servidor (per defecte: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Defineix la mida clau disponible a <n> (per defecte: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_ca@valencia.ts b/src/qt/locale/bitcoin_ca@valencia.ts index b77845cfb2..edb14dedba 100644 --- a/src/qt/locale/bitcoin_ca@valencia.ts +++ b/src/qt/locale/bitcoin_ca@valencia.ts @@ -1,4 +1,4 @@ -<TS language="ca@valencia" version="2.0"> +<TS language="ca@valencia" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1283,10 +1286,6 @@ <translation>La sol·licitud de pagament %1 és massa gran (%2 bytes, permés %3 bytes).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Protecció de DoS per a la sol·licitud de pagament</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Error en comunicar amb %1: %2</translation> </message> @@ -1475,14 +1474,6 @@ <translation>Serveis</translation> </message> <message> - <source>Starting Height</source> - <translation>Alçada inicial</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Sincronitza l'alçada</translation> - </message> - <message> <source>Ban Score</source> <translation>Puntuació de bandeig</translation> </message> @@ -1603,12 +1594,16 @@ <translation>Eixint</translation> </message> <message> - <source>Unknown</source> - <translation>Desconegut</translation> + <source>Yes</source> + <translation>Sí</translation> </message> <message> - <source>Fetching...</source> - <translation>S'està obtenint...</translation> + <source>No</source> + <translation>No</translation> + </message> + <message> + <source>Unknown</source> + <translation>Desconegut</translation> </message> </context> <context> @@ -1975,10 +1970,6 @@ <translation>Copia el canvi</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Import total %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>o</translation> </message> @@ -2801,10 +2792,6 @@ <translation>Executa en segon pla com a programa dimoni i accepta ordes</translation> </message> <message> - <source>Use the test network</source> - <translation>Utilitza la xarxa de prova</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Accepta connexions de fora (per defecte: 1 si no -proxy o -connect)</translation> </message> @@ -2825,14 +2812,6 @@ <translation>Executa una orde quan una transacció del moneder canvie (%s en cmd es canvia per TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Comissions totals màximes que s'utilitzaran en una única transacció de moneder; si s'estableix un valor massa baix es poden interrompre transaccions grans (per defecte: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Redueix els requeriments d'emmagatzemament podant (suprimint) els blocs antics. Este mode inhabilita l'ús de moneders i és incompatible amb -tindex. Avís: Revertir esta configuració comporta tornar a baixar la cadena de blocs sencera. (per defecte: 0 = inhabilita la poda de blocs, >%u = mida objectiu en MiB per utilitzar els fitxers de blocs)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Defineix el nombre de fils de verificació d'scripts (%u a %d, 0 = auto, <0 = deixa tants nuclis lliures, per defecte: %d)</translation> </message> @@ -2853,10 +2832,6 @@ <translation>AVÍS: comproveu la vostra connexió a la xarxa, %d blocs rebuts en les darreres %d hores (se n'esperaven %d)</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Avís: el -paytxfee és molt elevat! Esta és la comissió de transacció que pagareu si envieu una transacció.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Avís: la xarxa no pareix que hi estiga plenament d'acord. Alguns miners pareix que estan experimentant problemes.</translation> </message> @@ -2865,10 +2840,6 @@ <translation>Avís: pareix que no estem plenament d'acord amb els nostres iguals! Podria caldre que actualitzar l'aplicació, o potser que ho facen altres nodes.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Avís: error en llegir el fitxer wallet.dat! Totes les claus es lligen correctament, però hi ha dades de transaccions o entrades de la llibreta d'adreces absents o bé son incorrectes.</translation> - </message> - <message> <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>Avís: el fitxer wallet.dat és corrupte, dades rescatades! L'arxiu wallet.dat original ha estat guardat com wallet.{estampa_temporal}.bak al directori %s; si el teu balanç o transaccions son incorrectes hauries de restaurar-lo de un backup.</translation> </message> @@ -2933,10 +2904,6 @@ <translation>Error en obrir la base de dades de blocs</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Error: s'ha produït un error intern fatal. Consulteu debug.log per a més detalls</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Error: Espai al disc baix!</translation> </message> @@ -2945,10 +2912,6 @@ <translation>Ha fallat escoltar a qualsevol port. Feu servir -listen=0 si voleu fer això.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Si no se subministra <category>, mostra tota la informació de depuració.</translation> - </message> - <message> <source>Importing...</source> <translation>S'està important...</translation> </message> @@ -3049,18 +3012,10 @@ <translation>Error: ha fallat escoltar les connexions entrants (l'escoltament ha retornat l'error %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Error: s'ha trobat un argument no permés de -socks. Ja no es pot definir més la versió de SOCKS, només s'accepten els proxies de SOCKS5.ç</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Executa l'orde quan es reba un avís rellevant o veiem una forquilla molt llarga (%s en cmd és reemplaçat per un missatge)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Comissions (en BTC/Kb) inferiors a això es consideren de comissió zero per a la transmissió (per defecte: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Si no s'especifica una paytxfee (comissió de transacció de pagament), inclogueu suficient comissió per tal que les transaccions comencen a confirmar-se en una mitja de n blocs (per defecte: %u)</translation> </message> @@ -3073,10 +3028,6 @@ <translation>Mida màxima de les dades en les transaccions de l'operador en què confiem i en les meues (per defecte: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Poda configurada per sota el mínim de %d MB. Feu servir un nombre superior.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Consulta a adreces d'iguals a través de DNS, si es troba baix en adreces (per defecte: 1 a menys que -connect)</translation> </message> @@ -3101,37 +3052,6 @@ <translation>Este producte inclou programari desenvolupat pel projecte OpenSSL per a ús a l'OpenSSL Toolkit <https://www.openssl.org/> i programari criptogràfic escrit per Eric Young i programari UPnP escrit per Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Per utilitzar bitcoind, o l'opció de serviddor de bitcoin-qt, heu de definir una rpcpassword en el fitxer de configuració: -%s -Es recomana que utilitzeu la contrasenya aleatòria següent: -rpcuser=bitcoinrpc -rpcpassword=%s -(no cal que recordeu la contrasenya) -El nom d'usuari i la contrasenya NO han de ser els mateixos. -Si el fitxer no existeix, creeu-ne un amb permisos de lectura només per al seu propietari. -Es recomana definir alertnotify per tal de ser notificat de qualsevol problema; -per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Avís: s'ha especificat un -maxtxfee molt alt! Comissions tan grans podrien pagar-se en una única transacció.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Avís: comproveu que la data i hora del vostre ordinador siguen correctes! Si el vostre rellotge no és correcte, el Bitcoin Core no funcionarà correctament.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Els iguals en la llista blanca no poden ser bandejats per DoS i es transmetran sempre llurs transaccions, fins i tot si ja són a la mempool. Això és útil, p. ex., per a una passarel·la</translation> </message> @@ -3152,10 +3072,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>S'està activant la millor cadena...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>No es pot executar amb un moneder en mode poda.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>No es pot resoldre l'adreça -whitebind: «%s»</translation> </message> @@ -3172,10 +3088,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Copyright (C) 2009-%i Els desenvolupadors del Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>No s'ha pogut analitzar el valor -rpcbind %s com una adreça de xarxa</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Error en carregar wallet.dat: el moneder requereix una versió més nova del Bitcoin core</translation> </message> @@ -3184,14 +3096,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Error en llegir la base de dades, tancant.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Error: s'ha trobat un argument -tor no acceptat. Feu servir -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Comissió en (BTC/kB) per afegir a les transaccions que envieu (per defecte: %s)</translation> - </message> - <message> <source>Information</source> <translation>&Informació</translation> </message> @@ -3232,18 +3136,10 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Opcions de transmissió del node:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opcions RPC SSL: (veieu el wiki del Bitcoin per a instruccions de configuració de l'SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opcions del servidor RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Suport RPC per a connexions HTTP persistents (per defecte: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Reconstrueix l'índex de la cadena de blocs dels fitxers blk000??.dat actuals a l'inici.</translation> </message> @@ -3320,10 +3216,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>No s'ha pogut vincular a %s en este ordinador (la vinculació ha retornat l'error %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Utilitza UPnP per a mapejar els ports d'escolta (per defecte: 1 quan s'escolta)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Nom d'usuari per a connexions JSON-RPC</translation> </message> @@ -3336,14 +3228,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Avís</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Avís: s'ha ignorat l'argument no acceptat de -benchmark. Feu servir -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Avís: s'ha ignorat l'argument no acceptat de -debugnet. Feu servir -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Se suprimeixen totes les transaccions del moneder...</translation> </message> @@ -3372,10 +3256,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Reescaneja la cadena de blocs en les transaccions de moneder perdudes</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Utilitza OpenSSL (https) per a connexions JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Este misatge d'ajuda</translation> </message> @@ -3420,10 +3300,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>(per defecte: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Xifrats acceptables (per defecte: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Demana sempre les adreces dels iguals a través de consultes DNS (per defecte: %u)</translation> </message> @@ -3484,14 +3360,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Retransmet multisig no P2SH (per defecte: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Fitxer de certificat del servidor (per defecte: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Clau privada del servidor (per defecte: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Defineix la mida clau disponible a <n> (per defecte: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_ca_ES.ts b/src/qt/locale/bitcoin_ca_ES.ts index 898b7f33b3..f10a41163e 100644 --- a/src/qt/locale/bitcoin_ca_ES.ts +++ b/src/qt/locale/bitcoin_ca_ES.ts @@ -1,4 +1,4 @@ -<TS language="ca_ES" version="2.0"> +<TS language="ca_ES" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1287,10 +1290,6 @@ <translation>La sol·licitud de pagament %1 és massa gran (%2 bytes, permès %3 bytes).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Protecció de DoS per a la sol·licitud de pagament</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Error en comunicar amb %1: %2</translation> </message> @@ -1479,14 +1478,6 @@ <translation>Serveis</translation> </message> <message> - <source>Starting Height</source> - <translation>Alçada inicial</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Sincronitza l'alçada</translation> - </message> - <message> <source>Ban Score</source> <translation>Puntuació de bandeig</translation> </message> @@ -1607,12 +1598,16 @@ <translation>Sortint</translation> </message> <message> - <source>Unknown</source> - <translation>Desconegut</translation> + <source>Yes</source> + <translation>Sí</translation> </message> <message> - <source>Fetching...</source> - <translation>S'està obtenint...</translation> + <source>No</source> + <translation>No</translation> + </message> + <message> + <source>Unknown</source> + <translation>Desconegut</translation> </message> </context> <context> @@ -1979,10 +1974,6 @@ <translation>Copia el canvi</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Import total %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>o</translation> </message> @@ -2805,10 +2796,6 @@ <translation>Executa en segon pla com a programa dimoni i accepta ordres</translation> </message> <message> - <source>Use the test network</source> - <translation>Utilitza la xarxa de prova</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Accepta connexions de fora (per defecte: 1 si no -proxy o -connect)</translation> </message> @@ -2829,14 +2816,6 @@ <translation>Executa una ordre quan una transacció del moneder canviï (%s en cmd es canvia per TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Comissions totals màximes que s'utilitzaran en una única transacció de moneder; si s'estableix un valor massa baix es poden interrompre transaccions grans (per defecte: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Redueix els requeriments d'emmagatzemament podant (suprimint) els blocs antics. Aquest mode inhabilita l'ús de moneders i és incompatible amb -tindex. Avís: Revertir aquesta configuració comporta tornar a baixar la cadena de blocs sencera. (per defecte: 0 = inhabilita la poda de blocs, >%u = mida objectiu en MiB per utilitzar els fitxers de blocs)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Defineix el nombre de fils de verificació d'scripts (%u a %d, 0 = auto, <0 = deixa tants nuclis lliures, per defecte: %d)</translation> </message> @@ -2857,10 +2836,6 @@ <translation>AVÍS: comproveu la vostra connexió a la xarxa, %d blocs rebuts en les darreres %d hores (se n'esperaven %d)</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Avís: el -paytxfee és molt elevat! Aquesta és la comissió de transacció que pagareu si envieu una transacció.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Avís: la xarxa no sembla que hi estigui plenament d'acord. Alguns miners sembla que estan experimentant problemes.</translation> </message> @@ -2869,10 +2844,6 @@ <translation>Avís: sembla que no estem plenament d'acord amb els nostres iguals! Podria caler que actualitzar l'aplicació, o potser que ho facin altres nodes.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Avís: error en llegir el fitxer wallet.dat! Totes les claus es llegeixen correctament, però hi ha dades de transaccions o entrades de la llibreta d'adreces absents o bé son incorrectes.</translation> - </message> - <message> <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>Avís: el fitxer wallet.dat és corrupte, dades rescatades! L'arxiu wallet.dat original ha estat desat com wallet.{estampa_temporal}.bak al directori %s; si el teu balanç o transaccions son incorrectes hauries de restaurar-lo de un backup.</translation> </message> @@ -2937,10 +2908,6 @@ <translation>Error en obrir la base de dades de blocs</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Error: s'ha produït un error intern fatal. Consulteu debug.log per a més detalls</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Error: Espai al disc baix!</translation> </message> @@ -2949,10 +2916,6 @@ <translation>Ha fallat escoltar a qualsevol port. Feu servir -listen=0 si voleu fer això.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Si no se subministra <category>, mostra tota la informació de depuració.</translation> - </message> - <message> <source>Importing...</source> <translation>S'està important...</translation> </message> @@ -3053,18 +3016,10 @@ <translation>Error: ha fallat escoltar les connexions entrants (l'escoltament ha retornat l'error %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Error: s'ha trobat un argument no permès de -socks. Ja no es pot definir més la versió de SOCKS, només s'accepten els proxies de SOCKS5.ç</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Executa l'ordre quan es rebi un avís rellevant o veiem una forquilla molt llarga (%s en cmd és reemplaçat per un missatge)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Comissions (en BTC/Kb) inferiors a això es consideren de comissió zero per a la transmissió (per defecte: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Si no s'especifica una paytxfee (comissió de transacció de pagament), inclogueu suficient comissió per tal que les transaccions comencin a confirmar-se en una mitja de n blocs (per defecte: %u)</translation> </message> @@ -3077,10 +3032,6 @@ <translation>Mida màxima de les dades en les transaccions de l'operador en què confiem i en les meves (per defecte: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Poda configurada per sota el mínim de %d MB. Feu servir un nombre superior.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Consulta a adreces d'iguals a través de DNS, si es troba baix en adreces (per defecte: 1 a menys que -connect)</translation> </message> @@ -3105,37 +3056,6 @@ <translation>Aquest producte inclou programari desenvolupat pel projecte OpenSSL per a ús a l'OpenSSL Toolkit <https://www.openssl.org/> i programari criptogràfic escrit per Eric Young i programari UPnP escrit per Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Per utilitzar bitcoind, o l'opció de serviddor de bitcoin-qt, heu de definir una rpcpassword en el fitxer de configuració: -%s -Es recomana que utilitzeu la contrasenya aleatòria següent: -rpcuser=bitcoinrpc -rpcpassword=%s -(no cal que recordeu la contrasenya) -El nom d'usuari i la contrasenya NO han de ser els mateixos. -Si el fitxer no existeix, creeu-ne un amb permisos de lectura només per al seu propietari. -Es recomana definir alertnotify per tal de ser notificat de qualsevol problema; -per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Avís: s'ha especificat un -maxtxfee molt alt! Comissions tan grans podrien pagar-se en una única transacció.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Avís: comproveu que la data i hora del vostre ordinador siguin correctes! Si el vostre rellotge no és correcte, el Bitcoin Core no funcionarà correctament.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Els iguals en la llista blanca no poden ser bandejats per DoS i es transmetran sempre llurs transaccions, fins i tot si ja són a la mempool. Això és útil, p. ex., per a una passarel·la</translation> </message> @@ -3156,10 +3076,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>S'està activant la millor cadena...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>No es pot executar amb un moneder en mode poda.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>No es pot resoldre l'adreça -whitebind: «%s»</translation> </message> @@ -3176,10 +3092,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Copyright (C) 2009-%i Els desenvolupadors del Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>No s'ha pogut analitzar el valor -rpcbind %s com una adreça de xarxa</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Error en carregar wallet.dat: el moneder requereix una versió més nova del Bitcoin core</translation> </message> @@ -3188,14 +3100,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Error en llegir la base de dades, tancant.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Error: s'ha trobat un argument -tor no acceptat. Feu servir -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Comissió en (BTC/kB) per afegir a les transaccions que envieu (per defecte: %s)</translation> - </message> - <message> <source>Information</source> <translation>&Informació</translation> </message> @@ -3236,18 +3140,10 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Opcions de transmissió del node:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opcions RPC SSL: (veieu el wiki del Bitcoin per a instruccions de configuració de l'SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opcions del servidor RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Suport RPC per a connexions HTTP persistents (per defecte: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Reconstrueix l'índex de la cadena de blocs dels fitxers blk000??.dat actuals a l'inici.</translation> </message> @@ -3324,10 +3220,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>No s'ha pogut vincular a %s en aquest ordinador (la vinculació ha retornat l'error %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Utilitza UPnP per a mapejar els ports d'escolta (per defecte: 1 quan s'escolta)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Nom d'usuari per a connexions JSON-RPC</translation> </message> @@ -3340,14 +3232,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Avís</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Avís: s'ha ignorat l'argument no acceptat de -benchmark. Feu servir -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Avís: s'ha ignorat l'argument no acceptat de -debugnet. Feu servir -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Se suprimeixen totes les transaccions del moneder...</translation> </message> @@ -3376,10 +3260,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Reescaneja la cadena de blocs en les transaccions de moneder perdudes</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Utilitza OpenSSL (https) per a connexions JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Aquest misatge d'ajuda</translation> </message> @@ -3424,10 +3304,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>(per defecte: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Xifrats acceptables (per defecte: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Demana sempre les adreces dels iguals a través de consultes DNS (per defecte: %u)</translation> </message> @@ -3488,14 +3364,6 @@ per exemple: alertnotify=echo %%s | mail -s "Avís de Bitcoin" admin@foo.com</tr <translation>Retransmet multisig no P2SH (per defecte: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Fitxer de certificat del servidor (per defecte: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Clau privada del servidor (per defecte: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Defineix la mida clau disponible a <n> (per defecte: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_cmn.ts b/src/qt/locale/bitcoin_cmn.ts index 37c937b864..a6444867c2 100644 --- a/src/qt/locale/bitcoin_cmn.ts +++ b/src/qt/locale/bitcoin_cmn.ts @@ -1,4 +1,4 @@ -<TS language="cmn" version="2.0"> +<TS language="cmn" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -13,6 +13,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> </context> <context> diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts index 6e7ffec27f..c8c3368543 100644 --- a/src/qt/locale/bitcoin_cs.ts +++ b/src/qt/locale/bitcoin_cs.ts @@ -1,4 +1,4 @@ -<TS language="cs" version="2.0"> +<TS language="cs" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1287,10 +1290,6 @@ <translation>Platební požadavek %1 je moc velký (%2 bajtů, povoleno %3 bajtů).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>DoS ochrana platebního požadavku</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Chyba při komunikaci s %1: %2</translation> </message> @@ -1479,14 +1478,6 @@ <translation>Služby</translation> </message> <message> - <source>Starting Height</source> - <translation>Prvotní výška</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Aktuální výška</translation> - </message> - <message> <source>Ban Score</source> <translation>Skóre pro klatbu</translation> </message> @@ -1607,12 +1598,16 @@ <translation>Ven</translation> </message> <message> - <source>Unknown</source> - <translation>Neznámá</translation> + <source>Yes</source> + <translation>Ano</translation> </message> <message> - <source>Fetching...</source> - <translation>Stahuji...</translation> + <source>No</source> + <translation>Ne</translation> + </message> + <message> + <source>Unknown</source> + <translation>Neznámá</translation> </message> </context> <context> @@ -1979,10 +1974,6 @@ <translation>Kopíruj drobné</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Celková částka %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>nebo</translation> </message> @@ -2805,10 +2796,6 @@ <translation>Běžet na pozadí jako démon a akceptovat příkazy</translation> </message> <message> - <source>Use the test network</source> - <translation>Použít testovací síť (testnet)</translation> - </message> - <message> <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> @@ -2829,14 +2816,6 @@ <translation>Spustit příkaz, když se objeví transakce týkající se peněženky (%s se v příkazu nahradí za TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Horní hranice pro celkový poplatek za jednu transakci z peněženky; příliš nízká hodnota může zmařit velké transakce (výchozí: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Omezit nároky na úložný prostor prořezáváním (mazáním) starých bloků. V tomto režimu chybí peněženka a rovněž tento režim není slučitelný s -txindex. Upozornění: opětovná změna tohoto nastavení bude vyžadovat nové stažení celého řetězce bloků. (výchozí: 0 = bloky neprořezávat, >%u = cílová velikost souborů s bloky, v MiB)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Nastavení počtu vláken pro verifikaci skriptů (%u až %d, 0 = automaticky, <0 = nechat daný počet jader volný, výchozí: %d)</translation> </message> @@ -2857,10 +2836,6 @@ <translation>UPOZORNĚNÍ: zkontroluj své spojení do sítě – bylo přijato %d bloků za posledních %d hodin (očekáváno %d)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Upozornění: Síť podle všeho není v konzistentním stavu. Někteří těžaři jsou zřejmě v potížích.</translation> </message> @@ -2869,10 +2844,6 @@ <translation>Upozornění: Nesouhlasím zcela se svými protějšky! Možná potřebuji aktualizovat nebo ostatní uzly potřebují aktualizovat.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Upozornění: nastala chyba při čtení souboru wallet.dat! Všechny klíče se přečetly správně, ale data o transakcích nebo záznamy v adresáři mohou chybět či být nesprávné.</translation> - </message> - <message> <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>Upozornění: soubor wallet.dat je poškozený, data jsou však zachráněna! Původní soubor wallet.dat je uložený jako wallet.{timestamp}.bak v %s. Pokud je stav tvého účtu nebo transakce nesprávné, zřejmě bys měl obnovit zálohu.</translation> </message> @@ -2937,10 +2908,6 @@ <translation>Chyba při otevírání databáze bloků</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Chyba: Stala se fatální vnitřní chyba. detaily viz v debug.log</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Problém: Na disku je málo místa!</translation> </message> @@ -2949,10 +2916,6 @@ <translation>Nepodařilo se naslouchat na žádném portu. Použij -listen=0, pokud to byl tvůj záměr.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Pokud není <category> zadána, bude tisknout veškeré ladicí informace.</translation> - </message> - <message> <source>Importing...</source> <translation>Importuji...</translation> </message> @@ -3029,10 +2992,6 @@ <translation>Povolit JSON-RPC spojení ze specifikovaného zdroje. Platnou hodnotou <ip> je jednotlivá IP adresa (např. 1.2.3.4), síť/maska (např. 1.2.3.4/255.255.255.0) nebo síť/CIDR (např. 1.2.3.4/24). Tuto volbu lze použít i vícekrát</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Při nastavování naslouchací RPC adresy %s a portu %u nastala chyba: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Obsadit zadanou adresu a protějšky, které se na ní připojí, umístit na bílou listinu. Pro zápis IPv6 adresy použij notaci [adresa]:port</translation> </message> @@ -3057,18 +3016,10 @@ <translation>Chyba: Nelze naslouchat příchozí spojení (listen vrátil chybu %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Chyba: Byl použit nepodporovaný argument -socks. Nastavení verze SOCKS už není možné, podporovány jsou pouze SOCKS5 proxy.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Spustit příkaz, když přijde relevantní upozornění nebo když dojde k opravdu dlouhému rozštěpení řetezce bloků (%s se v příkazu nahradí zprávou)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Poplatky (v BTC/kB) menší než tato hodnota jsou považovány za nulové pro účely přeposílání transakcí (výchozí: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Pokud paytxfee není nastaveno, platit dostatečný poplatek na to, aby začaly být transakce potvrzovány v průměru během n bloků (výchozí: %u)</translation> </message> @@ -3081,10 +3032,6 @@ <translation>Maximální velikost dat v transakcích nesoucích data, se kterou jsme ochotni je ještě přeposílat a těžit (výchozí: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Prořezávání je nastaveno pod minimum %d MB. Použij prosím nějaké vyšší číslo.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Při nedostatku adres získat další protějšky z DNS (výchozí: 1, pokud není použito -connect)</translation> </message> @@ -3109,38 +3056,6 @@ <translation>Tento produkt zahrnuje programy vyvinuté OpenSSL Projektem pro použití v OpenSSL Toolkitu <https://www.openssl.org/> a kryptografický program od Erika Younga a program UPnP od Thomase Bernarda.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>K používání bitcoind nebo volby -server u bitcoin-qt 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) -rpcuser a rpcpassword NESMÍ být stejné. -Pokud konfigurační soubor ještě neexistuje, vytvoř ho tak, aby ho mohl číst pouze vlastník. -Je také doporučeno si nastavit alertnotify, abys byl upozorněn na případné problémy; -například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Upozornění: -maxtxfee je nastaveno velmi vysoko! Takto vysoký poplatek může být zaplacen v jednotlivé transakci.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Upozornění: Zkontroluj, že máš v počítači správně nastavený datum a čas! Pokud jsou nastaveny špatně, Bitcoin Core nebude fungovat správně.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Na protějšky na bílé listině se nevztahuje DoS klatba a jejich transakce jsou vždy přeposílány, i když už třeba jsou v mempoolu, což je užitečné např. pro bránu</translation> </message> @@ -3161,10 +3076,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Aktivuji nejlepší řetězec...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>V prořezávacím režimu se s pěněženkou nemůžu spustit.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Nemohu přeložit -whitebind adresu: '%s'</translation> </message> @@ -3181,10 +3092,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Copyright (C) 2009-%i Vývojáři Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Nejde mi přečíst hodnotu -rpcbind %s jako síťovou adresu</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Chyba při načítání wallet.dat: peněženka vyžaduje novější verzi Bitcoin Core</translation> </message> @@ -3193,14 +3100,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Chyba při čtení z databáze, ukončuji se.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Chyba: Argument -tor již není podporovaný, použij -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Poplatek (v BTC/kB), který se přidá ke každé odeslané transakci (výchozí: %s)</translation> - </message> - <message> <source>Information</source> <translation>Informace</translation> </message> @@ -3241,18 +3140,10 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Možnosti přeposílání:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Možnosti SSL pro RPC: (viz instrukce nastavení SSL na Bitcoin Wiki)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Možnosti RPC serveru:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Podpora RPC pro perzistentní HTTP spojení (výchozí: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Při startu znovu vytvořit index řetězce bloků z aktuálních blk000??.dat souborů</translation> </message> @@ -3329,10 +3220,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Nedaří se mi připojit na %s na tomhle počítači (operace bind vrátila chybu %s)</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Uživatelské jméno pro JSON-RPC spojení</translation> </message> @@ -3345,14 +3232,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Upozornění</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Upozornění: Nepodporovaný argument -benchmark se ignoruje, použij -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Upozornění: Nepodporovaný argument -debugnet se ignoruje, použij -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Vymazat všechny transakce z peněženky...</translation> </message> @@ -3381,10 +3260,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Přeskenovat řetězec bloků na chybějící transakce tvé pěněženky</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Použít OpenSSL (https) pro JSON-RPC spojení</translation> - </message> - <message> <source>This help message</source> <translation>Tato nápověda</translation> </message> @@ -3429,10 +3304,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(výchozí: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Akceptovatelné šifry (výchozí: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Vždy získávat adresy dalších protějšků přes DNS (výchozí: %u)</translation> </message> @@ -3493,14 +3364,6 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Přeposílat ne-P2SH multisig (výchozí: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Soubor se serverovým certifikátem (výchozí: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Soubor se serverovým soukromým klíčem (výchozí: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Nastavit zásobník klíčů na velikost <n> (výchozí: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_cy.ts b/src/qt/locale/bitcoin_cy.ts index 1b8eb3dc41..eba0363334 100644 --- a/src/qt/locale/bitcoin_cy.ts +++ b/src/qt/locale/bitcoin_cy.ts @@ -1,4 +1,4 @@ -<TS language="cy" version="2.0"> +<TS language="cy" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -6,13 +6,61 @@ <translation>Creu cyfeiriad newydd</translation> </message> <message> + <source>&New</source> + <translation>&Newydd</translation> + </message> + <message> <source>Copy the currently selected address to the system clipboard</source> <translation>Copio'r cyfeiriad sydd wedi'i ddewis i'r clipfwrdd system</translation> </message> <message> + <source>&Copy</source> + <translation>&Copïo</translation> + </message> + <message> + <source>C&lose</source> + <translation>C&au</translation> + </message> + <message> + <source>&Copy Address</source> + <translation>&Cyfeiriad Copi</translation> + </message> + <message> + <source>&Export</source> + <translation>&Allforio</translation> + </message> + <message> <source>&Delete</source> <translation>&Dileu</translation> </message> + <message> + <source>C&hoose</source> + <translation>&Dewis</translation> + </message> + <message> + <source>Sending addresses</source> + <translation>Cyfeiriadau anfon</translation> + </message> + <message> + <source>Receiving addresses</source> + <translation>Cyfeiriadau derbyn</translation> + </message> + <message> + <source>Copy &Label</source> + <translation>Copïo &Label</translation> + </message> + <message> + <source>&Edit</source> + <translation>&Golygu</translation> + </message> + <message> + <source>Export Address List</source> + <translation>Allforio Rhestr Cyfeiriad</translation> + </message> + <message> + <source>Exporting Failed</source> + <translation>Methodd Allfor</translation> + </message> </context> <context> <name>AddressTableModel</name> @@ -72,6 +120,10 @@ <translation>Cadarnau amgryptiad y waled</translation> </message> <message> + <source>Are you sure you wish to encrypt your wallet?</source> + <translation>Ydych chi'n siwr eich bod chi eisiau amgryptio dy waled di?</translation> + </message> + <message> <source>Wallet encrypted</source> <translation>Waled wedi'i amgryptio</translation> </message> @@ -97,6 +149,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Synchronizing with network...</source> @@ -119,18 +174,70 @@ <translation>Pori hanes trafodion</translation> </message> <message> + <source>E&xit</source> + <translation>A&llanfa</translation> + </message> + <message> <source>Quit application</source> <translation>Gadael rhaglen</translation> </message> <message> + <source>About &Qt</source> + <translation>Ynghylch &Qt</translation> + </message> + <message> <source>&Options...</source> <translation>&Opsiynau</translation> </message> <message> + <source>&Encrypt Wallet...</source> + <translation>&Amgryptio'r waled...</translation> + </message> + <message> + <source>&Change Passphrase...</source> + <translation>&Newid cyfrinymadrodd...</translation> + </message> + <message> + <source>&Sending addresses...</source> + <translation>&Cyfeiriadau anfon...</translation> + </message> + <message> + <source>&Receiving addresses...</source> + <translation>&Cyfeiriadau derbyn...</translation> + </message> + <message> + <source>Open &URI...</source> + <translation>Agor &URI...</translation> + </message> + <message> <source>Change the passphrase used for wallet encryption</source> <translation>Newid y cyfrinymadrodd a ddefnyddiwyd ar gyfer amgryptio'r waled</translation> </message> <message> + <source>Bitcoin</source> + <translation>Bitcoin</translation> + </message> + <message> + <source>Wallet</source> + <translation>Waled</translation> + </message> + <message> + <source>&Send</source> + <translation>&Anfon</translation> + </message> + <message> + <source>&Receive</source> + <translation>&Derbyn</translation> + </message> + <message> + <source>Show information about Bitcoin Core</source> + <translation>Dangos gwybodaeth am Graidd Bitcoin</translation> + </message> + <message> + <source>&Show / Hide</source> + <translation>&Dangos / Cuddio</translation> + </message> + <message> <source>&File</source> <translation>&Ffeil</translation> </message> @@ -147,6 +254,34 @@ <translation>Bar offer tabiau</translation> </message> <message> + <source>Bitcoin Core</source> + <translation>Craidd Bitcoin</translation> + </message> + <message> + <source>&About Bitcoin Core</source> + <translation>&Ynghylch Craidd Bitcoin</translation> + </message> + <message numerus="yes"> + <source>%n hour(s)</source> + <translation><numerusform>%n awr</numerusform><numerusform>%n awr</numerusform><numerusform>%n awr</numerusform><numerusform>%n awr</numerusform></translation> + </message> + <message numerus="yes"> + <source>%n day(s)</source> + <translation><numerusform>%n dydd</numerusform><numerusform>%n dydd</numerusform><numerusform>%n dydd</numerusform><numerusform>%n dydd</numerusform></translation> + </message> + <message numerus="yes"> + <source>%n week(s)</source> + <translation><numerusform>%n wythnos</numerusform><numerusform>%n wythnos</numerusform><numerusform>%n wythnos</numerusform><numerusform>%n wythnos</numerusform></translation> + </message> + <message> + <source>%1 and %2</source> + <translation>%1 a %2</translation> + </message> + <message numerus="yes"> + <source>%n year(s)</source> + <translation><numerusform>%n blwydd</numerusform><numerusform>%n blwydd</numerusform><numerusform>%n blwydd</numerusform><numerusform>%n blwydd</numerusform></translation> + </message> + <message> <source>Error</source> <translation>Gwall</translation> </message> @@ -167,6 +302,30 @@ <translation>Dal i fyny</translation> </message> <message> + <source>Date: %1 +</source> + <translation>Dyddiad: %1 +</translation> + </message> + <message> + <source>Type: %1 +</source> + <translation>Math: %1 +</translation> + </message> + <message> + <source>Label: %1 +</source> + <translation>Label: %1 +</translation> + </message> + <message> + <source>Address: %1 +</source> + <translation>Cyfeiriad: %1 +</translation> + </message> + <message> <source>Sent transaction</source> <translation>Trafodiad a anfonwyd</translation> </message> @@ -193,10 +352,22 @@ <translation>Dyddiad</translation> </message> <message> + <source>Copy address</source> + <translation>Cyfeiriad copi</translation> + </message> + <message> + <source>Copy label</source> + <translation>Copïo label</translation> + </message> + <message> <source>(no label)</source> <translation>(heb label)</translation> </message> - </context> + <message> + <source>(change)</source> + <translation>(newid)</translation> + </message> +</context> <context> <name>EditAddressDialog</name> <message> @@ -242,19 +413,55 @@ </context> <context> <name>FreespaceChecker</name> + <message> + <source>name</source> + <translation>enw</translation> + </message> </context> <context> <name>HelpMessageDialog</name> + <message> + <source>Bitcoin Core</source> + <translation>Craidd Bitcoin</translation> + </message> + <message> + <source>About Bitcoin Core</source> + <translation>Ynghylch Craidd Bitcoin</translation> + </message> + <message> + <source>Usage:</source> + <translation>Cynefod:</translation> + </message> </context> <context> <name>Intro</name> <message> + <source>Welcome</source> + <translation>Croeso</translation> + </message> + <message> + <source>Welcome to Bitcoin Core.</source> + <translation>Croeso i Graidd Bitcoin</translation> + </message> + <message> + <source>Bitcoin Core</source> + <translation>Craidd Bitcoin</translation> + </message> + <message> <source>Error</source> <translation>Gwall</translation> </message> </context> <context> <name>OpenURIDialog</name> + <message> + <source>Open URI</source> + <translation>Agor URI</translation> + </message> + <message> + <source>URI:</source> + <translation>URI:</translation> + </message> </context> <context> <name>OptionsDialog</name> @@ -262,6 +469,34 @@ <source>Options</source> <translation>Opsiynau</translation> </message> + <message> + <source>&Network</source> + <translation>&Rhwydwaith</translation> + </message> + <message> + <source>W&allet</source> + <translation>W&aled</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>&Window</source> + <translation>&Ffenestr</translation> + </message> + <message> + <source>&Display</source> + <translation>&Dangos</translation> + </message> </context> <context> <name>OverviewPage</name> @@ -288,6 +523,14 @@ <source>&Information</source> <translation>Gwybodaeth</translation> </message> + <message> + <source>Network</source> + <translation>Rhwydwaith</translation> + </message> + <message> + <source>&Open</source> + <translation>&Agor</translation> + </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -295,6 +538,10 @@ <source>&Label:</source> <translation>&Label:</translation> </message> + <message> + <source>Copy label</source> + <translation>Copïo label</translation> + </message> </context> <context> <name>ReceiveRequestDialog</name> @@ -401,6 +648,14 @@ <context> <name>SplashScreen</name> <message> + <source>Bitcoin Core</source> + <translation>Craidd Bitcoin</translation> + </message> + <message> + <source>The Bitcoin Core developers</source> + <translation>Datblygwyr Graidd Bitcoin</translation> + </message> + <message> <source>[testnet]</source> <translation>[testnet]</translation> </message> @@ -456,6 +711,18 @@ <translation>Eleni</translation> </message> <message> + <source>Copy address</source> + <translation>Cyfeiriad copi</translation> + </message> + <message> + <source>Copy label</source> + <translation>Copïo label</translation> + </message> + <message> + <source>Exporting Failed</source> + <translation>Methodd Allfor</translation> + </message> + <message> <source>Date</source> <translation>Dyddiad</translation> </message> @@ -487,6 +754,10 @@ </context> <context> <name>WalletView</name> + <message> + <source>&Export</source> + <translation>&Allforio</translation> + </message> </context> <context> <name>bitcoin-core</name> diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts index 60b8925e8c..46d9826045 100644 --- a/src/qt/locale/bitcoin_da.ts +++ b/src/qt/locale/bitcoin_da.ts @@ -1,4 +1,4 @@ -<TS language="da" version="2.0"> +<TS language="da" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,14 +221,25 @@ </message> </context> <context> + <name>BanTableModel</name> + <message> + <source>IP/Netmask</source> + <translation>IP/Netmaske</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Bandlyst indtil</translation> + </message> +</context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> - <translation>Underskriv &besked …</translation> + <translation>Underskriv &besked…</translation> </message> <message> <source>Synchronizing with network...</source> - <translation>Synkroniserer med netværk …</translation> + <translation>Synkroniserer med netværk…</translation> </message> <message> <source>&Overview</source> @@ -268,31 +279,31 @@ </message> <message> <source>&Options...</source> - <translation>&Indstillinger …</translation> + <translation>&Indstillinger…</translation> </message> <message> <source>&Encrypt Wallet...</source> - <translation>&Kryptér tegnebog …</translation> + <translation>&Kryptér tegnebog…</translation> </message> <message> <source>&Backup Wallet...</source> - <translation>&Sikkerhedskopiér tegnebog …</translation> + <translation>&Sikkerhedskopiér tegnebog…</translation> </message> <message> <source>&Change Passphrase...</source> - <translation>&Skift adgangskode …</translation> + <translation>&Skift adgangskode…</translation> </message> <message> <source>&Sending addresses...</source> - <translation>&Afsendelsesadresser …</translation> + <translation>&Afsendelsesadresser…</translation> </message> <message> <source>&Receiving addresses...</source> - <translation>&Modtagelsesadresser …</translation> + <translation>&Modtagelsesadresser…</translation> </message> <message> <source>Open &URI...</source> - <translation>&Åbn URI …</translation> + <translation>&Åbn URI…</translation> </message> <message> <source>Bitcoin Core client</source> @@ -300,11 +311,11 @@ </message> <message> <source>Importing blocks from disk...</source> - <translation>Importerer blokke fra disken …</translation> + <translation>Importerer blokke fra disken…</translation> </message> <message> <source>Reindexing blocks on disk...</source> - <translation>Genindekserer blokke på disken …</translation> + <translation>Genindekserer blokke på disken…</translation> </message> <message> <source>Send coins to a Bitcoin address</source> @@ -328,7 +339,7 @@ </message> <message> <source>&Verify message...</source> - <translation>&Verificér besked …</translation> + <translation>&Verificér besked…</translation> </message> <message> <source>Bitcoin</source> @@ -428,7 +439,7 @@ </message> <message> <source>No block source available...</source> - <translation>Ingen blokkilde tilgængelig …</translation> + <translation>Ingen blokkilde tilgængelig…</translation> </message> <message numerus="yes"> <source>Processed %n block(s) of transaction history.</source> @@ -484,7 +495,7 @@ </message> <message> <source>Catching up...</source> - <translation>Indhenter …</translation> + <translation>Indhenter…</translation> </message> <message> <source>Date: %1 @@ -1065,6 +1076,34 @@ <translation>Port for proxyen (fx 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Bruges til at nå knuder via:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Viser om den angivne standard-SOCKS5-proxy bruges til at nå knuder via denne netværkstype.</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Forbind til Bitcoin-netværket gennem en separat SOCKS5-proxy for skjulte tjenester via Tor.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Brug separat SOCKS5-proxy for at nå knuder via skjulte Tor-tjenester.</translation> + </message> + <message> <source>&Window</source> <translation>&Vindue</translation> </message> @@ -1283,10 +1322,6 @@ <translation>Betalingsanmodning %1 er for stor (%2 byte, %3 byte tilladt).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Beskyttelse mod DoS-angreb via betalingsanmodninger</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Fejl under kommunikation med %1: %2</translation> </message> @@ -1365,7 +1400,7 @@ <name>QRImageWidget</name> <message> <source>&Save Image...</source> - <translation>&Gem billede …</translation> + <translation>&Gem billede…</translation> </message> <message> <source>&Copy Image</source> @@ -1455,10 +1490,18 @@ <translation>Andre &knuder</translation> </message> <message> + <source>Banned peers</source> + <translation>Bandlyste knuder</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Vælg en anden knude for at se detaljeret information.</translation> </message> <message> + <source>Whitelisted</source> + <translation>På hvidliste</translation> + </message> + <message> <source>Direction</source> <translation>Retning</translation> </message> @@ -1467,20 +1510,24 @@ <translation>Version</translation> </message> <message> - <source>User Agent</source> - <translation>Brugeragent</translation> + <source>Starting Block</source> + <translation>Startblok</translation> </message> <message> - <source>Services</source> - <translation>Tjenester</translation> + <source>Synced Headers</source> + <translation>Synkroniserede headers</translation> </message> <message> - <source>Starting Height</source> - <translation>Starthøjde</translation> + <source>Synced Blocks</source> + <translation>Synkroniserede blokke</translation> </message> <message> - <source>Sync Height</source> - <translation>Synkroniseringshøjde</translation> + <source>User Agent</source> + <translation>Brugeragent</translation> + </message> + <message> + <source>Services</source> + <translation>Tjenester</translation> </message> <message> <source>Ban Score</source> @@ -1511,6 +1558,14 @@ <translation>Ping-tid</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>Varigheden af den aktuelt igangværende ping.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Ping-ventetid</translation> + </message> + <message> <source>Time Offset</source> <translation>Tidsforskydning</translation> </message> @@ -1559,6 +1614,34 @@ <translation>Ryd konsol</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Afbryd forbindelse til knude</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Bandlys knude i</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &time</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &dag</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &uge</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &år</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>&Fjern bandlysning af knude</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Velkommen til Bitcoin Cores RPC-konsol.</translation> </message> @@ -1587,6 +1670,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(knude-id: %1)</translation> + </message> + <message> <source>via %1</source> <translation>via %1</translation> </message> @@ -1603,12 +1690,16 @@ <translation>Udgående</translation> </message> <message> - <source>Unknown</source> - <translation>Ukendt</translation> + <source>Yes</source> + <translation>Ja</translation> </message> <message> - <source>Fetching...</source> - <translation>Henter …</translation> + <source>No</source> + <translation>Nej</translation> + </message> + <message> + <source>Unknown</source> + <translation>Ukendt</translation> </message> </context> <context> @@ -1710,7 +1801,7 @@ </message> <message> <source>&Save Image...</source> - <translation>&Gem billede …</translation> + <translation>&Gem billede…</translation> </message> <message> <source>Request payment to %1</source> @@ -1792,7 +1883,7 @@ </message> <message> <source>Inputs...</source> - <translation>Inputs …</translation> + <translation>Inputs…</translation> </message> <message> <source>automatically selected</source> @@ -1844,7 +1935,7 @@ </message> <message> <source>Choose...</source> - <translation>Vælg …</translation> + <translation>Vælg…</translation> </message> <message> <source>collapse fee-settings</source> @@ -1884,7 +1975,7 @@ </message> <message> <source>(Smart fee not initialized yet. This usually takes a few blocks...)</source> - <translation>(Smart-gebyr er ikke initialiseret endnu. Dette tager typisk nogle få blokke …)</translation> + <translation>(Smart-gebyr er ikke initialiseret endnu. Dette tager typisk nogle få blokke…)</translation> </message> <message> <source>Confirmation time:</source> @@ -1975,10 +2066,6 @@ <translation>Kopiér byttepenge</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Totalbeløb %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>eller</translation> </message> @@ -2019,6 +2106,10 @@ <translation>Betal kun det minimale gebyr på %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Totalbeløb %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Modtageradressen er ikke gyldig. Tjek venligst igen.</translation> </message> @@ -2138,7 +2229,7 @@ <name>ShutdownWindow</name> <message> <source>Bitcoin Core is shutting down...</source> - <translation>Bitcoin Core lukker ned …</translation> + <translation>Bitcoin Core lukker ned…</translation> </message> <message> <source>Do not shut down the computer until this window disappears.</source> @@ -2603,7 +2694,7 @@ </message> <message> <source>Range...</source> - <translation>Interval …</translation> + <translation>Interval…</translation> </message> <message> <source>Received with</source> @@ -2797,12 +2888,56 @@ <translation>Acceptér kommandolinje- og JSON-RPC-kommandoer</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying (default: %s)</source> + <translation>Gebyrer (i %s/kB) mindre end dette opfattes som nul-gebyr under videresendelse (standard: %s)</translation> + </message> + <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>Hvis <category> ikke angives eller hvis <category> = 1, udskriv al fejlretningsinformation.</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Maksimalt totalgebyr (i %s) for brug i en enkelt tegnebogstransaktion; ved at sætte dette for lavt, kan store transaktioner afbrydes (standard: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Kontrollér venligst, at din computers dato og tid er korrekt! Hvis uret ikke passer, vil Bitcoin Core ikke fungere korrekt.</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>Beskæring er sat under minimumsgrænsen på %d MiB. Brug venligst et større tal.</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>Beskæring: Seneste synkronisering rækker udover beskårne data. Du er nødt til at bruge -reindex (downloade hele blokkæden igen i fald af beskåret knude)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Reducér lagringskravene ved at beskære (slette) gamle blokke. Denne tilstand er ikke kompatibel med -txindex og -rescan. Advarsel: Fortrydelse af denne indstilling kræver gendownload af hele blokkæden. (standard: 0 = slå beskæring af blokke fra, >%u = målstørrelse i MiB der skal bruges på blokfiler)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>Genindlæsninger er ikke mulige i beskåret tilstand. Du er nødt til at bruge -reindex, hvilket vil downloade hele blokkæden igen.</translation> + </message> + <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Fejl: En alvorlig intern fejl er opstået. Se debug.log for detaljer</translation> + </message> + <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Gebyr (i %s/kB) der skal lægges til de transaktioner du sender (standard: %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Beskærer bloklager…</translation> + </message> + <message> <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> - <source>Use the test network</source> - <translation>Brug testnetværket</translation> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Kunne ikke starte HTTP-server. Se fejlretningslog for detaljer.</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2825,18 +2960,14 @@ <translation>Udfør kommando, når en transaktion i tegnebogen ændres (%s i kommandoen erstattes med TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Maksimalt totalt gebyr der kan bruges i en enkelt tegnebogstransaktion. For lav en værdi kan afbryde store transaktioner (standard: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Reducér pladskravene ved at beskære (slette, "prune") gamle blokke. Denne tilstand slår understøttelse af tegnebogen fra og er ikke kompatibel med -txindex. Advarsel: Fortrydelse af denne indstilling kræver download af hele blokkæden igen. (standard: 0 = slå beskæring af blokke fra, >%u = målstørrelse i MiB der skal bruges til blokfiler)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Sæt antallet af scriptverificeringstråde (%u til %d, 0 = auto, <0 = efterlad det antal kernet fri, standard: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>Blokdatabasen indeholder en blok, som ser ud til at være fra fremtiden. Dette kan skyldes, at din computers dato og tid ikke er sat korrekt. Genopbyg kun blokdatabasen, hvis du er sikker på, at din computers dato og tid er korrekt</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>Dette er en foreløbig testudgivelse - brug på eget ansvar - brug ikke til udvinding eller handelsprogrammer</translation> </message> @@ -2845,6 +2976,10 @@ <translation>Ikke i stand til at tildele til %s på denne computer. Bitcoin Core kører sansynligvis allerede.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Brug UPnP for at konfigurere den lyttende port (standard: 1 under lytning og ingen -proxy)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>ADVARSEL: unormalt mange blokke er genereret; %d blokke er modtaget i løbet af de seneste %d timer (%d forventet)</translation> </message> @@ -2853,10 +2988,6 @@ <translation>ADVARSEL: tjek din netværksforbindelse; %d blokke er modtaget i løbet af de seneste %d timer (%d forventet)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Advarsel: Netværket ser ikke ud til at være fuldt ud enige! Enkelte minere ser ud til at opleve problemer.</translation> </message> @@ -2865,10 +2996,6 @@ <translation>Advarsel: Vi ser ikke ud til at være fuldt ud enige med andre knuder! Du kan være nødt til at opgradere, eller andre knuder kan være nødt til at opgradere.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Advarsel: fejl under læsning af wallet.dat! Alle nøgler blev læst korrekt, men transaktionsdata eller adressebogsposter kan mangle eller være forkerte.</translation> - </message> - <message> <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>Advarsel: wallet.dat ødelagt, data reddet! Oprindelig wallet.dat gemt som wallet.{timestamp}.bak i %s; hvis din saldo eller dine transaktioner er forkert, bør du genskabe fra en sikkerhedskopi.</translation> </message> @@ -2881,6 +3008,10 @@ <translation>(standard: 1)</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool skal være mindst %d MB</translation> + </message> + <message> <source><category> can be:</source> <translation><kategori> kan være:</translation> </message> @@ -2917,6 +3048,22 @@ <translation>Ønsker du at genopbygge blokdatabasen nu?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Aktivér offentliggørelse af hash-blok i <address></translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Aktivér offentliggørelse af hash-transaktion i <address></translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Aktivér offentliggørelse af rå blok i <address></translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>Aktivér offentliggørelse af rå transaktion i <address></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Klargøring af blokdatabase mislykkedes</translation> </message> @@ -2933,10 +3080,6 @@ <translation>Åbning af blokdatabase mislykkedes</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Fejl: En fatal intern fejl opstod; se debug.log for detaljer</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Fejl: Mangel på ledig diskplads!</translation> </message> @@ -2945,12 +3088,8 @@ <translation>Lytning på enhver port mislykkedes. Brug -listen=0, hvis du ønsker dette.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Hvis <kategori> ikke angives, udskriv al fejlsøgningsinformation.</translation> - </message> - <message> <source>Importing...</source> - <translation>Importerer …</translation> + <translation>Importerer…</translation> </message> <message> <source>Incorrect or no genesis block found. Wrong datadir for network?</source> @@ -2961,6 +3100,10 @@ <translation>Ugyldig -onion adresse: "%s"</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>Hold hukommelsespuljen med transaktioner under <n> megabyte (standard: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>For få tilgængelige fildeskriptorer.</translation> </message> @@ -2989,16 +3132,32 @@ <translation>Angiv tegnebogsfil (inden for datamappe)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Argument -benchmark understøttes ikke og ignoreres; brug -debug=bench.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Argument -debugnet understøttes ikke og ignoreres; brug -debug=net.</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>Argument -tor understøttes ikke; brug -onion.</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>Brug UPnP til at konfigurere den lyttende port (standard: %u)</translation> </message> <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>Brugeragent-kommentar (%s) indeholder usikre tegn.</translation> + </message> + <message> <source>Verifying blocks...</source> - <translation>Verificerer blokke …</translation> + <translation>Verificerer blokke…</translation> </message> <message> <source>Verifying wallet...</source> - <translation>Verificerer tegnebog …</translation> + <translation>Verificerer tegnebog…</translation> </message> <message> <source>Wallet %s resides outside data directory %s</source> @@ -3025,10 +3184,6 @@ <translation>Tillad JSON-RPC-forbindelser fra angivet kilde. Gyldig for <ip> er en enkelt IP (fx 1.2.3.4), et netværk/netmaske (fx 1.2.3.4/255.255.255.0) eller et netværk/CIDR (fx 1.2.3.4/24). Dette tilvalg kan angives flere gange</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Der opstod en fejl under opsætning af RPC-adresse %s port %u for lytning: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Tildel given adresse og sæt andre knuder, der forbinder til den, på hvidliste. Brug [vært]:port notation for IPv6</translation> </message> @@ -3053,18 +3208,10 @@ <translation>Fejl: Lytning efter indkommende forbindelser mislykkedes (lytning resultarede i fejl %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Fejl: Ikke understøttet argument -socks blev fundet. Det er ikke muligt at angive SOCKS-version længere, da kun SOCKS5-proxier er understøttet.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Udfør kommando, når en relevant alarm modtages eller vi ser en virkelig lang udsplitning (%s i cmd erstattes af besked)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Gebyrer (i BTC/Kb) mindre end dette opfattes som nulgebyr for videresendelse (standard: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Hvis paytxfee ikke er sat, inkluderes nok gebyr til at transaktioner begynder at blive bekræftet ingen for gennemsnitligt n blokke (standard: %u)</translation> </message> @@ -3077,10 +3224,6 @@ <translation>Maksimal størrelse på data i transaktioner til dataoverførsel, som vi videresender og miner (standard: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Beskæring opsat under minimumsværdien %d MB. Brug venligst en højere værdi.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Forespørgsel</translation> </message> @@ -3105,38 +3248,6 @@ <translation>Dette produkt indeholder software, der er udviklet af OpenSSL-projektet for brug i OpenSSL-værktøjskassen <https://www.openssl.org/>, samt kryptografisk software, der er skrevet af Eric Young, samt UPnP-software, der er skrevet af Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>For at bruge bitcoind eller valgmuligheden -server i bitcoin-qt skal du oprette et rpcpassword i konfigurationsfilen: -%s -Det anbefales, at du bruger følgende tilfældige adgangskode: -rpcuser=bitcoinrpc -rpcpassword=%s -(du behøver ikke at huske adgangskoden) -Brugernavnet og adgangskoden MÅ IKKE være det samme. -Hvis filen ikke eksisterer, opret den da så kun ejeren har læserettigheder. -Det anbefales også at sætte alertnotify, så du får besked omkring problemer; -for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Advarsel: -maxtxfee er sat meget højt! Så store gebyrer kan betales på en enkelt transaktion.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Advarsel: Undersøg venligst at din computers dato og klokkeslet er korrekt indstillet! Hvis der er fejl i disse vil Bitcoin Core ikke fungere korrekt.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Andre knuder på hvidliste kan ikke DoS-bandlyses, og deres transaktioner videresendes altid, selv hvis de allerede er i mempool'en. Brugbart til fx et adgangspunkt</translation> </message> @@ -3154,11 +3265,7 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Activating best chain...</source> - <translation>Aktiverer bedste kæde …</translation> - </message> - <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Kan ikke køre med en tegnebog i beskåret tilstand.</translation> + <translation>Aktiverer bedste kæde…</translation> </message> <message> <source>Cannot resolve -whitebind address: '%s'</source> @@ -3177,10 +3284,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Ophavsret © 2009-%i Udviklerne af Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Kunne ikke tolke -rpcbind-værdi %s som en netværksadresse</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Fejl ved indlæsning af wallet.dat: Tegnebog kræver en nyere version af Bitcoin Core</translation> </message> @@ -3189,14 +3292,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Fejl under læsning fra database; lukker ned.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Fejl: Ikke understøttet argument -tor fundet, brug -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Gebyr (i BTC/kB) som skal føjes til transaktioner, du sender (standard: %s)</translation> - </message> - <message> <source>Information</source> <translation>Information</translation> </message> @@ -3237,18 +3332,10 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Videresendelsesvalgmuligheder for knude:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Tilvalg for RPC SSL: (se Bitcoin Wiki for instruktioner i SSL-opstart)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Tilvalg for RPC-server:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPC-understøttelse for HTTP-persistente forbindelser (standard: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Genopbyg blokkædeindeks fra nuværende blk000??.dat-filer ved opstart</translation> </message> @@ -3257,6 +3344,10 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Modtag og vis P2P-netværksadvarsler (standard: %u)</translation> </message> <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>Reducerer -maxconnections fra %d til %d på grund af systembegrænsninger.</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Send sporings-/fejlsøgningsinformation til konsollen i stedet for debug.log filen</translation> </message> @@ -3325,10 +3416,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Ikke i stand til at tildele til %s på denne computer (bind returnerede fejl %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Brug UPnP til at konfigurere den lyttende port (standard: 1 under lytning)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Brugernavn til JSON-RPC-forbindelser</translation> </message> @@ -3341,16 +3428,12 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Advarsel</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Advarsel: Ikke understøttet argument -benchmark ignoreret, brug -debug=bench.</translation> + <source>Zapping all transactions from wallet...</source> + <translation>Zapper alle transaktioner fra tegnebog…</translation> </message> <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Advarsel: Ikke understøttet argument -debugnet ignoreret, brug -debug=net.</translation> - </message> - <message> - <source>Zapping all transactions from wallet...</source> - <translation>Zapper alle transaktioner fra tegnebog …</translation> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ-notifikationsindstillinger:</translation> </message> <message> <source>on startup</source> @@ -3377,10 +3460,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Gennemsøg blokkæden for manglende tegnebogstransaktioner</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Brug OpenSSL (https) for JSON-RPC-forbindelser</translation> - </message> - <message> <source>This help message</source> <translation>Denne hjælpebesked</translation> </message> @@ -3390,7 +3469,7 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Loading addresses...</source> - <translation>Indlæser adresser …</translation> + <translation>Indlæser adresser…</translation> </message> <message> <source>Error loading wallet.dat: Wallet corrupted</source> @@ -3401,6 +3480,22 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(1 = behold metadata for transaktion, fx kontoindehaver og information om betalingsanmodning, 2 = drop metadata for transaktion)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>-maxtxfee er sat meget højt! Gebyrer så store risikeres betalt på en enkelt transaktion.</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>-paytxfee er sat meget højt! Dette er transaktionsgebyret, som du betaler, hvis du sender en transaktion.</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Behold ikke transaktioner i hukommelsespuljen i mere end <n> timer (default: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>Fejl under læsning af wallet.dat! Alle nøgler blev læst korrekt, men transaktionsdata eller indgange i adressebogen kan mangle eller være ukorrekte.</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Hvor gennemarbejdet blokverificeringen for -checkblocks er (0-4; standard: %u)</translation> </message> @@ -3417,6 +3512,18 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Udskriv fejlsøgningsinformation (standard: %u, angivelse af <kategori> er valgfri)</translation> </message> <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>Den totale længde på netværksversionsstrengen (%i) overstiger maksimallængden (%i). Reducér antaller af eller størrelsen på uacomments.</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Prøver at holde udadgående traffik under det givne mål (i MiB pr. 24 timer), 0 = ingen grænse (standard: %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>Argument -socks understøttes ikke. Det er ikke længere muligt at sætte SOCKS-version; kun SOCKS5-proxier understøttes.</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Brug separat SOCS5-proxy for at nå andre knuder via Tor skjulte tjenester (standard: %s)</translation> </message> @@ -3425,10 +3532,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(standard: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Accepterede kodninger (standard: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Forespørg altid adresser på andre knuder via DNS-opslag (default: %u)</translation> </message> @@ -3489,15 +3592,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Videresend ikke-P2SH multisig (standard: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Servercertifikat-fil (standard: %s) -</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Serverens private nøgle (standard: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Sæt nøglepuljestørrelse til <n> (standard: %u) </translation> @@ -3552,7 +3646,7 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Loading block index...</source> - <translation>Indlæser blokindeks …</translation> + <translation>Indlæser blokindeks…</translation> </message> <message> <source>Add a node to connect to and attempt to keep the connection open</source> @@ -3560,7 +3654,7 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Loading wallet...</source> - <translation>Indlæser tegnebog …</translation> + <translation>Indlæser tegnebog…</translation> </message> <message> <source>Cannot downgrade wallet</source> @@ -3572,7 +3666,7 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Rescanning...</source> - <translation>Genindlæser …</translation> + <translation>Genindlæser…</translation> </message> <message> <source>Done loading</source> diff --git a/src/qt/locale/bitcoin_de.ts b/src/qt/locale/bitcoin_de.ts index a50a6e60cb..a25fb7458d 100644 --- a/src/qt/locale/bitcoin_de.ts +++ b/src/qt/locale/bitcoin_de.ts @@ -1,4 +1,4 @@ -<TS language="de" version="2.0"> +<TS language="de" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,13 @@ </message> </context> <context> + <name>BanTableModel</name> + <message> + <source>IP/Netmask</source> + <translation>IP/Netzmaske</translation> + </message> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1069,6 +1076,18 @@ <translation>Port des Proxies (z.B. 9050)</translation> </message> <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> <source>&Window</source> <translation>&Programmfenster</translation> </message> @@ -1287,10 +1306,6 @@ <translation>Zahlungsanforderung %1 ist zu groß (%2 Byte, erlaubt sind %3 Byte).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Zahlungsanforderungs-DoS-Schutz</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Kommunikationsfehler mit %1: %2</translation> </message> @@ -1471,20 +1486,20 @@ <translation>Version</translation> </message> <message> - <source>User Agent</source> - <translation>User-Agent</translation> + <source>Synced Headers</source> + <translation>Synchronisierte Kopfdaten</translation> </message> <message> - <source>Services</source> - <translation>Dienste</translation> + <source>Synced Blocks</source> + <translation>Synchronisierte Blöcke</translation> </message> <message> - <source>Starting Height</source> - <translation>Start-Höhe</translation> + <source>User Agent</source> + <translation>User-Agent</translation> </message> <message> - <source>Sync Height</source> - <translation>Sync-Höhe</translation> + <source>Services</source> + <translation>Dienste</translation> </message> <message> <source>Ban Score</source> @@ -1563,6 +1578,26 @@ <translation>Konsole zurücksetzen</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>Knoten &trennen</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &Stunde</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &Tag</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &Woche</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &Jahr</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Willkommen in der "Bitcoin Core"-RPC-Konsole.</translation> </message> @@ -1591,6 +1626,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(Knotenkennung: %1)</translation> + </message> + <message> <source>via %1</source> <translation>über %1</translation> </message> @@ -1607,12 +1646,16 @@ <translation>ausgehend</translation> </message> <message> - <source>Unknown</source> - <translation>Unbekannt</translation> + <source>Yes</source> + <translation>Ja</translation> </message> <message> - <source>Fetching...</source> - <translation>Aktualisiere...</translation> + <source>No</source> + <translation>Nein</translation> + </message> + <message> + <source>Unknown</source> + <translation>Unbekannt</translation> </message> </context> <context> @@ -1979,10 +2022,6 @@ <translation>Wechselgeld kopieren</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Gesamtbetrag %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>oder</translation> </message> @@ -2023,6 +2062,10 @@ <translation>Nur die minimale Gebühr in Höhe von %1 zahlen</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Gesamtbetrag %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Die Zahlungsadresse ist ungültig, bitte nochmals überprüfen.</translation> </message> @@ -2801,12 +2844,16 @@ <translation>Kommandozeilen- und JSON-RPC-Befehle annehmen</translation> </message> <message> - <source>Run in the background as a daemon and accept commands</source> - <translation>Als Hintergrunddienst ausführen und Befehle annehmen</translation> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Fehler: Ein schwerer interner Fehler ist aufgetreten, siehe debug.log für Details.</translation> </message> <message> - <source>Use the test network</source> - <translation>Das Testnetz verwenden</translation> + <source>Pruning blockstore...</source> + <translation>Kürze Blockspeicher...</translation> + </message> + <message> + <source>Run in the background as a daemon and accept commands</source> + <translation>Als Hintergrunddienst ausführen und Befehle annehmen</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2829,14 +2876,6 @@ <translation>Befehl ausführen wenn sich eine Wallet-Transaktion verändert (%s im Befehl wird durch die Transaktions-ID ersetzt)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Maximale Gesamtgebühren je Wallet-Transaktion, ein zu niedriger Wert kann große Transaktionen abbrechen (Standard: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Speicherplatzanforderung durch kürzen (löschen) alter Blöcke reduzieren. Dieser Modus deaktiviert die Wallet-Unterstützung und ist nicht mit -txindex kompatibel. Warnung: Die Umkehr dieser Einstellung erfordert das erneute Herunterladen der gesamten Blockkette. (Standard: 0 = deaktiviert das Kürzen von Blöcken, >%u = Zielgröße in MiB, die für Blockdateien verwendet werden darf)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Maximale Anzahl an Skript-Verifizierungs-Threads festlegen (%u bis %d, 0 = automatisch, <0 = so viele Kerne frei lassen, Standard: %d)</translation> </message> @@ -2857,10 +2896,6 @@ <translation>Warnung: Überprüpfen Sie ihre Netzwerkverbindung, %d Blöcke wurden in den letzten %d Stunden empfangen (%d wurden erwartet).</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Warnung: Das Netzwerk scheint nicht vollständig übereinzustimmen! Einige Miner scheinen Probleme zu haben.</translation> </message> @@ -2869,10 +2904,6 @@ <translation>Warnung: Wir scheinen nicht vollständig mit unseren Gegenstellen übereinzustimmen! Sie oder die anderen Knoten müssen unter Umständen Ihre Client-Software aktualisieren.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Warnung: Lesen von wallet.dat fehlgeschlagen! Alle Schlüssel wurden korrekt gelesen, Transaktionsdaten bzw. Adressbucheinträge fehlen aber möglicherweise oder sind inkorrekt.</translation> - </message> - <message> <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>Warnung: wallet.dat beschädigt, Datenrettung erfolgreich! Original wallet.dat wurde als wallet.{Zeitstempel}.dat in %s gespeichert. Falls Ihr Kontostand oder Transaktionen nicht korrekt sind, sollten Sie von einer Datensicherung wiederherstellen.</translation> </message> @@ -2885,6 +2916,10 @@ <translation>(Standard: 1)</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool muss mindestens %d MB betragen</translation> + </message> + <message> <source><category> can be:</source> <translation><category> kann sein:</translation> </message> @@ -2937,10 +2972,6 @@ <translation>Fehler beim Öffnen der Blockdatenbank</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Fehler: Ein schwerer Fehler ist aufgetreten, für Details debug.log ansehen.</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Fehler: Zu wenig freier Speicherplatz auf dem Datenträger!</translation> </message> @@ -2949,10 +2980,6 @@ <translation>Fehler, es konnte kein Port abgehört werden. Wenn dies so gewünscht wird -listen=0 verwenden.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Wenn <category> nicht angegeben wird, jegliche Debugginginformationen ausgeben.</translation> - </message> - <message> <source>Importing...</source> <translation>Importiere...</translation> </message> @@ -3029,10 +3056,6 @@ <translation>JSON-RPC-Verbindungen von der angegeben Quelle erlauben. Gültig für <ip> ist eine einzelne IP-Adresse (z.B. 1.2.3.4), ein Netzwerk bzw. eine Netzmaske (z.B. 1.2.3.4/255.255.255.0), oder die CIDR-Notation (z.B. 1.2.3.4/24). Kann mehrmals angegeben werden.</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Beim Einrichten der abzuhörenden RPC-Adresse %s auf Port %u ist ein Fehler aufgetreten: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>An die angegebene Adresse binden und Gegenstellen, die sich dorthin verbinden, immer zulassen. Für IPv6 "[Host]:Port"-Notation verwenden</translation> </message> @@ -3057,18 +3080,10 @@ <translation>Fehler: Abhören nach eingehenden Verbindungen fehlgeschlagen (listen meldete Fehler %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Fehler: Nicht unterstütztes Argument -socks gefunden. Das Festlegen der SOCKS-Version ist nicht mehr möglich, nur noch SOCKS5-Proxies werden unterstützt.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Befehl ausführen wenn ein relevanter Alarm empfangen wird oder wir einen wirklich langen Fork entdecken (%s im Befehl wird durch die Nachricht ersetzt)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Niedrigere Gebühren (in BTC/Kb) als diese werden bei der Weiterleitung als gebührenfrei angesehen (Standard: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Wenn -paytxfee nicht festgelegt wurde Gebühren einschließen, so dass mit der Bestätigung von Transaktionen im Schnitt innerhalb von n Blöcken begonnen wird (Standard: %u)</translation> </message> @@ -3081,10 +3096,6 @@ <translation>Maximale Datengröße in "Data Carrier"-Transaktionen die weitergeleitet und erarbeitet werden (Standard: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Kürzungsmodus wurde kleiner als das Minimum in Höhe von %d MiB konfiguriert. Bitte verwenden Sie einen größeren Wert.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Adressen von Gegenstellen via DNS-Namensauflösung finden, falls zu wenige Adressen verfügbar sind (Standard: 1, außer bei -connect)</translation> </message> @@ -3109,38 +3120,6 @@ <translation>Dieses Produkt enthält Software, die vom OpenSSL-Projekt zur Verwendung im OpenSSL-Toolkit <https://www.openssl.org/> entwickelt wird, sowie von Eric Young geschriebene kryptographische Software und von Thomas Bernard geschriebene UPnP-Software.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Um bitcoind oder die Option -server mit bitcoin-qt verwenden zu können, müssen Sie rpcpassword 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!) -Der Benutzername und das Passwort dürfen NICHT identisch sein. -Falls die Konfigurationsdatei nicht existiert, erzeugen Sie diese bitte mit Leserechten nur für den Dateibesitzer. -Es wird ebenfalls empfohlen alertnotify anzugeben, um im Problemfall benachrichtigt zu werden. -Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Warnung: -maxtxfee ist auf einen sehr hohen Wert festgelegt! Gebühren dieser Höhe könnten für eine einzelne Transaktion bezahlt werden.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Warnung: Bitte korrigieren Sie die Datums- und Uhrzeiteinstellungen Ihres Computers, da Bitcoin Core ansonsten nicht ordnungsgemäß funktionieren wird.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Erlaubte Gegenstellen werden nicht für DoS-Attacken gesperrt und ihre Transkationen werden immer weitergeleitet, auch wenn sie sich bereits im Speicherpool befinden, was z.B. für Gateways sinnvoll ist.</translation> </message> @@ -3161,10 +3140,6 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Aktiviere beste Blockkette...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Eine Wallet kann im Kürzungsmodus nicht verwendet werden.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Kann Adresse in -whitebind nicht auflösen: '%s'</translation> </message> @@ -3181,10 +3156,6 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Urheberrecht (C) 2009-%i Die "Bitcoin Core"-Entwickler</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Der Wert %s von -rpcbind wurde nicht als Netzwerkadresse erkannt</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Fehler beim Laden von wallet.dat: Wallet benötigt neuere Version von Bitcoin Core</translation> </message> @@ -3193,14 +3164,6 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Fehler beim lesen der Datenbank, Ausführung wird beendet.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Fehler: Nicht unterstütztes Argument -tor gefunden, bitte -onion verwenden.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Gebühr (in BTC/kB), die von Ihnen gesendeten Transaktionen hinzugefügt wird (Standard: %s)</translation> - </message> - <message> <source>Information</source> <translation>Hinweis</translation> </message> @@ -3241,18 +3204,10 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Knoten-Weiterleitungsoptionen:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC-SSL-Optionen (siehe Bitcoin-Wiki für SSL-Einrichtung):</translation> - </message> - <message> <source>RPC server options:</source> <translation>RPC-Serveroptionen:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Unterstützung für persistente HTTP-Verbindungen bei RPC (Standard: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Blockkettenindex aus aktuellen Dateien blk000??.dat beim Starten wiederaufbauen</translation> </message> @@ -3329,10 +3284,6 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Kann auf diesem Computer nicht an %s binden (bind meldete Fehler %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>UPnP verwenden, um eine Portweiterleitung einzurichten (Standard: 1, wenn abgehört wird)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Benutzername für JSON-RPC-Verbindungen</translation> </message> @@ -3345,18 +3296,14 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Warnung</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Warnung: Nicht unterstütztes Argument -benchmark wurde ignoriert, bitte -debug=bench verwenden.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Warnung: Nicht unterstütztes Argument -debugnet wurde ignoriert, bitte -debug=net verwenden.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Lösche alle Transaktionen aus Wallet...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ-Benachrichtigungsoptionen:</translation> + </message> + <message> <source>on startup</source> <translation>beim Starten</translation> </message> @@ -3381,10 +3328,6 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Blockkette erneut nach fehlenden Wallet-Transaktionen durchsuchen</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>OpenSSL (https) für JSON-RPC-Verbindungen verwenden</translation> - </message> - <message> <source>This help message</source> <translation>Dieser Hilfetext</translation> </message> @@ -3429,10 +3372,6 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(Standard: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Zulässige Chiffren (Standard: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Adressen von Gegenstellen immer über DNS-Namensauflösung abfragen (Standard: %u)</translation> </message> @@ -3489,14 +3428,6 @@ Beispiel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Nicht-"P2SH-Multisig" weiterleiten (Standard: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Serverzertifikat (Standard: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Privater Serverschlüssel (Standard: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Größe des Schlüsselpools festlegen auf <n> (Standard: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_el_GR.ts b/src/qt/locale/bitcoin_el_GR.ts index 8a0958a7bd..1f33a497ee 100644 --- a/src/qt/locale/bitcoin_el_GR.ts +++ b/src/qt/locale/bitcoin_el_GR.ts @@ -1,4 +1,4 @@ -<TS language="el_GR" version="2.0"> +<TS language="el_GR" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -214,6 +214,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -452,6 +455,36 @@ <translation>Ενημέρωση...</translation> </message> <message> + <source>Date: %1 +</source> + <translation>Ημερομηνία: %1 +</translation> + </message> + <message> + <source>Amount: %1 +</source> + <translation>Ποσό: %1 +</translation> + </message> + <message> + <source>Type: %1 +</source> + <translation>Τύπος: %1 +</translation> + </message> + <message> + <source>Label: %1 +</source> + <translation>Ετικέτα: %1 +</translation> + </message> + <message> + <source>Address: %1 +</source> + <translation>Διεύθυνση: %1 +</translation> + </message> + <message> <source>Sent transaction</source> <translation>Η συναλλαγή απεστάλη</translation> </message> @@ -650,6 +683,18 @@ <translation>κανένα</translation> </message> <message> + <source>This label turns red if the transaction size is greater than 1000 bytes.</source> + <translation>Αυτή η ετικέτα γίνεται κόκκινη αν το μέγεθος της συναλλαγής είναι μεγαλύτερο από 1000 bytes.</translation> + </message> + <message> + <source>This label turns red if the priority is smaller than "medium".</source> + <translation>Αυτή η ετικέτα γίνεται κόκκινη αν η προτεραιότητα είναι μικρότερη από "μεσαία".</translation> + </message> + <message> + <source>This label turns red if any recipient receives an amount smaller than %1.</source> + <translation>Αυτή η ετικέτα γίνεται κόκκινη αν οποιοσδήποτε παραλήπτης λάβει ποσό μικρότερο από %1.</translation> + </message> + <message> <source>yes</source> <translation>ναι</translation> </message> @@ -826,7 +871,15 @@ <source>Error</source> <translation>Σφάλμα</translation> </message> - </context> + <message numerus="yes"> + <source>%n GB of free space available</source> + <translation><numerusform>%n GB ελεύθερου χώρου διαθέσιμα</numerusform><numerusform>%n GB ελεύθερου χώρου διαθέσιμα</numerusform></translation> + </message> + <message numerus="yes"> + <source>(of %n GB needed)</source> + <translation><numerusform>(από το %n GB που απαιτείται)</numerusform><numerusform>(από τα %n GB που απαιτούνται)</numerusform></translation> + </message> +</context> <context> <name>OpenURIDialog</name> <message> @@ -885,6 +938,10 @@ <translation>Διεύθυνση IP του διαμεσολαβητή (π.χ. 127.0.0.1 / IPv6: ::1)</translation> </message> <message> + <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source> + <translation>Ελαχιστοποίηση αντί για έξοδο κατά το κλείσιμο του παραθύρου. Όταν αυτή η επιλογή είναι ενεργοποιημένη, η εφαρμογή θα κλείνει μόνο αν επιλεχθεί η Έξοδος στο μενού.</translation> + </message> + <message> <source>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source> <translation>URLs από τρίτους (π.χ. ένας εξερευνητής μπλοκ) τα οποία εμφανίζονται στην καρτέλα συναλλαγών ως στοιχεία μενού. Το %s στα URL αντικαθιστάται από την τιμή της κατατεμαχισμένης συναλλαγής.</translation> </message> @@ -1316,14 +1373,6 @@ <translation>Υπηρεσίες</translation> </message> <message> - <source>Starting Height</source> - <translation>Αρχικό ύψος</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Ύψος συγχονισμού</translation> - </message> - <message> <source>Ban Score</source> <translation>Σκορ αποκλησμού</translation> </message> @@ -1439,10 +1488,6 @@ <source>Unknown</source> <translation>Άγνωστο(α)</translation> </message> - <message> - <source>Fetching...</source> - <translation>Ανάκτηση...</translation> - </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -1656,6 +1701,14 @@ <translation>ανά kilobyte</translation> </message> <message> + <source>Hide</source> + <translation>Απόκρυψη</translation> + </message> + <message> + <source>total at least</source> + <translation>συνολικά τουλάχιστον</translation> + </message> + <message> <source>Recommended:</source> <translation>Προτεινόμενο: </translation> </message> @@ -1748,10 +1801,6 @@ <translation>Αντιγραφή των ρέστων</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Ολικό Ποσό %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>ή</translation> </message> @@ -2482,10 +2531,6 @@ <translation>Εκτέλεση στο παρασκήνιο κι αποδοχή εντολών</translation> </message> <message> - <source>Use the test network</source> - <translation>Χρήση του δοκιμαστικού δικτύου</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Να δέχεσαι συνδέσεις από έξω(προεπιλογή:1)</translation> </message> @@ -2502,14 +2547,6 @@ <translation>Αυτό είναι ένα προ-τεστ κυκλοφορίας - χρησιμοποιήστε το με δική σας ευθύνη - δεν χρησιμοποιείτε για εξόρυξη ή για αλλες εφαρμογές</translation> </message> <message> - <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> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Προειδοποίηση : Σφάλμα wallet.dat κατα την ανάγνωση ! Όλα τα κλειδιά αναγνωρισθηκαν σωστά, αλλά τα δεδομένα των συναλλαγών ή καταχωρήσεις στο βιβλίο διευθύνσεων μπορεί να είναι ελλιπείς ή λανθασμένα. </translation> - </message> - <message> <source>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>Προειδοποίηση : το αρχειο wallet.dat ειναι διεφθαρμένο, τα δεδομένα σώζονται ! Original wallet.dat αποθηκεύονται ως wallet.{timestamp}.bak στο %s . Αν το υπόλοιπο του ή τις συναλλαγές σας, είναι λάθος θα πρέπει να επαναφέρετε από ένα αντίγραφο ασφαλείας</translation> </message> @@ -2558,10 +2595,6 @@ <translation>Σφάλμα φορτωσης της βασης δεδομενων των μπλοκ</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Σφάλμα: Παρουσιάστηκε ανεπανόρθωτο εσωτερικό σφάλμα, δείτε debug.log για λεπτομέρειες</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Προειδοποίηση: Χαμηλός χώρος στο δίσκο </translation> </message> @@ -2614,10 +2647,6 @@ <translation>Αδυναμία κλειδώματος του φακέλου δεδομένων %s. Πιθανώς το Bitcoin να είναι ήδη ενεργό.</translation> </message> <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Προειδοποίηση: Παρακαλώ ελέγξτε ότι η ημερομηνία και ώρα του υπολογιστή σας είναι σωστά ρυθμισμένες! Εάν το ρολόι σας είναι λάθος το Bitcoin Core δεν θα λειτουργήσει σωστά. </translation> - </message> - <message> <source>Choose data directory on startup (default: 0)</source> <translation>Επιλογή φακέλου δεδομένων στην εκκίνηση (προεπιλεγμένο: 0)</translation> </message> @@ -2626,10 +2655,6 @@ <translation>Σύνδεση μέσω διαμεσολαβητή SOCKS5</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Δεν μπόρεσε να αναλυθεί η παράμετρος -rpcbind value %s ως διεύθυνση δικτύου</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Σφάλμα φόρτωσης wallet.dat: Το Πορτοφόλι απαιτεί μια νεότερη έκδοση του Bitcoin</translation> </message> @@ -2638,10 +2663,6 @@ <translation>Σφάλμα ανάγνωσης από τη βάση δεδομένων, γίνεται τερματισμός.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Σφάλμα: Μη συμβατή παράμετρος -tor. Χρησιμοποιήσε την παράμετρο -onion</translation> - </message> - <message> <source>Information</source> <translation>Πληροφορία</translation> </message> @@ -2662,10 +2683,6 @@ <translation>Επιλογές αναμετάδοσης κόμβου: </translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Ρυθμίσεις SSL: (ανατρέξτε στο Bitcoin Wiki για οδηγίες ρυθμίσεων SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Επιλογές διακομιστή RPC:</translation> </message> @@ -2718,10 +2735,6 @@ <translation>Η συναλλαγή ειναι πολύ μεγάλη </translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Χρησιμοποίηση του UPnP για την χρήση της πόρτας αναμονής (προεπιλογή:1)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Όνομα χρήστη για τις συνδέσεις JSON-RPC</translation> </message> @@ -2758,10 +2771,6 @@ <translation>Επανέλεγχος της αλυσίδας μπλοκ για απούσες συναλλαγές</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Χρήση του OpenSSL (https) για συνδέσεις JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Αυτό το κείμενο βοήθειας</translation> </message> @@ -2810,10 +2819,6 @@ <translation>Δεν είναι έγκυρη η διεύθυνση διαμεσολαβητή: '%s'</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Αρχείο πιστοποιητικού του διακομιστή (προεπιλογή: %s)</translation> - </message> - <message> <source>Specify connection timeout in milliseconds (minimum: 1, default: %d)</source> <translation>Ορισμός λήξης χρονικού ορίου σε χιλιοστά του δευτερολέπτου(προεπιλογή: %d)</translation> </message> diff --git a/src/qt/locale/bitcoin_en.ts b/src/qt/locale/bitcoin_en.ts index 3ebb4d0bf6..1a607a2233 100644 --- a/src/qt/locale/bitcoin_en.ts +++ b/src/qt/locale/bitcoin_en.ts @@ -1756,7 +1756,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+761"/> + <location line="+760"/> <source>%1 d</source> <translation type="unfinished"></translation> </message> @@ -1921,16 +1921,18 @@ </message> <message> <location line="+231"/> + <location line="+552"/> <source>Received</source> <translation type="unfinished"></translation> </message> <message> - <location line="+80"/> + <location line="-472"/> + <location line="+449"/> <source>Sent</source> <translation type="unfinished"></translation> </message> <message> - <location line="+41"/> + <location line="-408"/> <source>&Peers</source> <translation type="unfinished"></translation> </message> @@ -1942,7 +1944,7 @@ <message> <location line="+57"/> <location filename="../rpcconsole.cpp" line="+281"/> - <location line="+560"/> + <location line="+566"/> <source>Select a peer to view detailed information.</source> <translation type="unfinished"></translation> </message> @@ -2008,17 +2010,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+23"/> - <source>Bytes Sent</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+23"/> - <source>Bytes Received</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+23"/> + <location line="+69"/> <source>Ping Time</source> <translation type="unfinished"></translation> </message> @@ -2093,7 +2085,7 @@ <translation>Clear console</translation> </message> <message> - <location filename="../rpcconsole.cpp" line="-150"/> + <location filename="../rpcconsole.cpp" line="-156"/> <source>&Disconnect Node</source> <translation type="unfinished"></translation> </message> @@ -2131,7 +2123,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+64"/> + <location line="+70"/> <source>Welcome to the Bitcoin Core RPC console.</source> <translation type="unfinished"></translation> </message> @@ -2424,7 +2416,7 @@ <name>SendCoinsDialog</name> <message> <location filename="../forms/sendcoinsdialog.ui" line="+14"/> - <location filename="../sendcoinsdialog.cpp" line="+545"/> + <location filename="../sendcoinsdialog.cpp" line="+546"/> <source>Send Coins</source> <translation>Send Coins</translation> </message> @@ -2626,7 +2618,7 @@ <translation>Confirm send coins</translation> </message> <message> - <location line="-48"/> + <location line="-49"/> <location line="+5"/> <location line="+5"/> <location line="+4"/> @@ -2669,7 +2661,12 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+246"/> + <location line="+244"/> + <source>Total Amount %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>or</source> <translation type="unfinished"></translation> </message> @@ -2708,8 +2705,13 @@ <source>Payment request expired.</source> <translation type="unfinished"></translation> </message> + <message> + <location line="+88"/> + <source>Pay only the required fee of %1</source> + <translation type="unfinished"></translation> + </message> <message numerus="yes"> - <location line="+110"/> + <location line="+22"/> <source>Estimated to begin confirmation within %n block(s).</source> <translation type="unfinished"> <numerusform>Estimated to begin confirmation within %n block.</numerusform> @@ -2717,17 +2719,7 @@ </translation> </message> <message> - <location line="-22"/> - <source>Pay only the minimum fee of %1</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="-309"/> - <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+195"/> + <location line="-136"/> <source>The recipient address is not valid. Please recheck.</source> <translation type="unfinished"></translation> </message> @@ -2752,7 +2744,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="-691"/> + <location line="-692"/> <source>Copy dust</source> <translation type="unfinished"></translation> </message> @@ -3706,7 +3698,7 @@ <context> <name>bitcoin-core</name> <message> - <location filename="../bitcoinstrings.cpp" line="+249"/> + <location filename="../bitcoinstrings.cpp" line="+258"/> <source>Options:</source> <translation>Options:</translation> </message> @@ -3731,12 +3723,7 @@ <translation>Accept command line and JSON-RPC commands</translation> </message> <message> - <location line="-117"/> - <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+5"/> + <location line="-113"/> <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> <translation type="unfinished"></translation> </message> @@ -3771,17 +3758,17 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+109"/> + <location line="+110"/> <source>Error: A fatal internal error occurred, see debug.log for details</source> <translation type="unfinished"></translation> </message> <message> - <location line="+4"/> + <location line="+3"/> <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> <translation type="unfinished"></translation> </message> <message> - <location line="+37"/> + <location line="+38"/> <source>Pruning blockstore...</source> <translation type="unfinished"></translation> </message> @@ -3796,17 +3783,12 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+4"/> - <source>Use the test network</source> - <translation>Use the test network</translation> - </message> - <message> - <location line="-123"/> + <location line="-119"/> <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 line="-157"/> + <location line="-160"/> <source>Bind to given address and always listen on it. Use [host]:port notation for IPv6</source> <translation>Bind to given address and always listen on it. Use [host]:port notation for IPv6</translation> </message> @@ -3821,7 +3803,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+11"/> + <location line="+13"/> <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source> <translation>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</translation> </message> @@ -3841,12 +3823,12 @@ <translation>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</translation> </message> <message> - <location line="+7"/> + <location line="+13"/> <source>Unable to bind to %s on this computer. Bitcoin Core is probably already running.</source> <translation type="unfinished"></translation> </message> <message> - <location line="+3"/> + <location line="+6"/> <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> <translation type="unfinished"></translation> </message> @@ -3861,11 +3843,6 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> - <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 line="+3"/> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</translation> @@ -3877,11 +3854,6 @@ </message> <message> <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>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</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>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.</translation> </message> @@ -3897,16 +3869,16 @@ </message> <message> <location line="+1"/> - <source><category> can be:</source> + <source>-maxmempool must be at least %d MB</source> <translation type="unfinished"></translation> </message> <message> - <location line="+8"/> - <source>Attempt to recover private keys from a corrupt wallet.dat</source> - <translation>Attempt to recover private keys from a corrupt wallet.dat</translation> + <location line="+1"/> + <source><category> can be:</source> + <translation type="unfinished"></translation> </message> <message> - <location line="+1"/> + <location line="+9"/> <source>Block creation options:</source> <translation>Block creation options:</translation> </message> @@ -3986,7 +3958,7 @@ <translation>Error: Disk space is low!</translation> </message> <message> - <location line="+2"/> + <location line="+1"/> <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> @@ -4006,7 +3978,12 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+20"/> + <location line="+9"/> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+12"/> <source>Not enough file descriptors available.</source> <translation>Not enough file descriptors available.</translation> </message> @@ -4041,12 +4018,32 @@ <translation>Specify wallet file (within data directory)</translation> </message> <message> - <location line="+17"/> + <location line="+16"/> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+1"/> + <source>Unsupported argument -tor found, use -onion.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> <source>Use UPnP to map the listening port (default: %u)</source> <translation type="unfinished"></translation> </message> <message> - <location line="+3"/> + <location line="+1"/> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> <source>Verifying blocks...</source> <translation>Verifying blocks...</translation> </message> @@ -4071,17 +4068,12 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+3"/> + <location line="+1"/> <source>You need to rebuild the database using -reindex to change -txindex</source> <translation>You need to rebuild the database using -reindex to change -txindex</translation> </message> <message> - <location line="-89"/> - <source>Imports blocks from external blk000??.dat file</source> - <translation>Imports blocks from external blk000??.dat file</translation> - </message> - <message> - <location line="-206"/> + <location line="-299"/> <source>Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times</source> <translation type="unfinished"></translation> </message> @@ -4111,22 +4103,22 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+11"/> <source>Error: Listening for incoming connections failed (listen returned error %s)</source> <translation type="unfinished"></translation> </message> <message> <location line="+2"/> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+3"/> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</translation> </message> <message> - <location line="+17"/> + <location line="+9"/> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying, mining and transaction creation (default: %s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+8"/> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation type="unfinished"></translation> </message> @@ -4171,12 +4163,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+18"/> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+22"/> + <location line="+40"/> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation type="unfinished"></translation> </message> @@ -4191,7 +4178,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+5"/> + <location line="+6"/> <source>Accept public REST requests (default: %u)</source> <translation type="unfinished"></translation> </message> @@ -4201,7 +4188,12 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+9"/> + <location line="+4"/> + <source>Attempt to recover private keys from a corrupt wallet.dat on startup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> <source>Cannot resolve -whitebind address: '%s'</source> <translation type="unfinished"></translation> </message> @@ -4231,12 +4223,12 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+4"/> - <source>Error: Unsupported argument -tor found, use -onion.</source> + <location line="+9"/> + <source>Imports blocks from external blk000??.dat file on startup</source> <translation type="unfinished"></translation> </message> <message> - <location line="+9"/> + <location line="+3"/> <source>Information</source> <translation>Information</translation> </message> @@ -4276,7 +4268,7 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+10"/> + <location line="+11"/> <source>Need to specify a port with -whitebind: '%s'</source> <translation type="unfinished"></translation> </message> @@ -4306,7 +4298,12 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+6"/> + <location line="+3"/> + <source>Rescan the block chain for missing wallet transactions on startup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Send trace/debug info to console instead of debug.log file</translation> </message> @@ -4392,6 +4389,11 @@ </message> <message> <location line="+6"/> + <source>Upgrade wallet to latest format on startup</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> <source>Username for JSON-RPC connections</source> <translation>Username for JSON-RPC connections</translation> </message> @@ -4406,17 +4408,7 @@ <translation>Warning</translation> </message> <message> - <location line="+2"/> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+2"/> + <location line="+3"/> <source>Zapping all transactions from wallet...</source> <translation type="unfinished"></translation> </message> @@ -4427,11 +4419,6 @@ </message> <message> <location line="+1"/> - <source>on startup</source> - <translation type="unfinished"></translation> - </message> - <message> - <location line="+1"/> <source>wallet.dat corrupt, salvage failed</source> <translation>wallet.dat corrupt, salvage failed</translation> </message> @@ -4441,22 +4428,12 @@ <translation>Password for JSON-RPC connections</translation> </message> <message> - <location line="-195"/> + <location line="-196"/> <source>Execute command when the best block changes (%s in cmd is replaced by block hash)</source> <translation>Execute command when the best block changes (%s in cmd is replaced by block hash)</translation> </message> <message> - <location line="+242"/> - <source>Upgrade wallet to latest format</source> - <translation>Upgrade wallet to latest format</translation> - </message> - <message> - <location line="-36"/> - <source>Rescan the block chain for missing wallet transactions</source> - <translation>Rescan the block chain for missing wallet transactions</translation> - </message> - <message> - <location line="+25"/> + <location line="+232"/> <source>This help message</source> <translation>This help message</translation> </message> @@ -4476,12 +4453,32 @@ <translation>Error loading wallet.dat: Wallet corrupted</translation> </message> <message> - <location line="-196"/> + <location line="-205"/> <source>(1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data)</source> <translation type="unfinished"></translation> </message> <message> - <location line="+49"/> + <location line="+3"/> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>-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="+32"/> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>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="+17"/> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation type="unfinished"></translation> </message> @@ -4501,17 +4498,32 @@ <translation type="unfinished"></translation> </message> <message> - <location line="+51"/> + <location line="+46"/> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+3"/> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation type="unfinished"></translation> </message> <message> - <location line="+37"/> + <location line="+28"/> <source>(default: %s)</source> <translation type="unfinished"></translation> </message> <message> - <location line="+10"/> + <location line="+11"/> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation type="unfinished"></translation> </message> @@ -4521,7 +4533,7 @@ <translation>Error loading wallet.dat</translation> </message> <message> - <location line="+11"/> + <location line="+10"/> <source>Generate coins (default: %u)</source> <translation type="unfinished"></translation> </message> @@ -4541,7 +4553,7 @@ <translation>Invalid -proxy address: '%s'</translation> </message> <message> - <location line="+8"/> + <location line="+9"/> <source>Listen for JSON-RPC connections on <port> (default: %u or testnet: %u)</source> <translation type="unfinished"></translation> </message> @@ -4641,7 +4653,7 @@ <translation>Cannot resolve -externalip address: '%s'</translation> </message> <message> - <location line="+47"/> + <location line="+46"/> <source>Invalid amount for -paytxfee=<amount>: '%s'</source> <translation>Invalid amount for -paytxfee=<amount>: '%s'</translation> </message> @@ -4651,7 +4663,7 @@ <translation>Insufficient funds</translation> </message> <message> - <location line="+13"/> + <location line="+14"/> <source>Loading block index...</source> <translation>Loading block index...</translation> </message> diff --git a/src/qt/locale/bitcoin_eo.ts b/src/qt/locale/bitcoin_eo.ts index 17ce494f91..b969075e0a 100644 --- a/src/qt/locale/bitcoin_eo.ts +++ b/src/qt/locale/bitcoin_eo.ts @@ -1,4 +1,4 @@ -<TS language="eo" version="2.0"> +<TS language="eo" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -209,6 +209,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1445,10 +1448,6 @@ <translation>Kopii restmonon</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Totala Sumo %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>aŭ</translation> </message> @@ -2103,10 +2102,6 @@ <translation>Ruli fone kiel demono kaj akcepti komandojn</translation> </message> <message> - <source>Use the test network</source> - <translation>Uzi la test-reton</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Akcepti konektojn el ekstere (defaŭlte: 1 se ne estas -proxy nek -connect)</translation> </message> @@ -2123,10 +2118,6 @@ <translation>Tiu ĉi estas antaŭeldona testa versio - uzu laŭ via propra risko - ne uzu por minado aŭ por aplikaĵoj por vendistoj</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Averto: -paytxfee estas agordita per tre alta valoro! Tio estas la krompago, kion vi pagos se vi sendas la transakcion.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Averto: La reto ne tute konsentas! Kelkaj minantoj ŝajne spertas problemojn aktuale.</translation> </message> @@ -2135,10 +2126,6 @@ <translation>Averto: ŝajne ni ne tute konsentas kun niaj samtavolanoj! Eble vi devas ĝisdatigi vian klienton, aŭ eble aliaj nodoj faru same.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Averto: okazis eraro dum lego de wallet.dat! Ĉiuj ŝlosiloj sukcese legiĝis, sed la transakciaj datumoj aŭ la adresaro eble mankas aŭ malĝustas.</translation> - </message> - <message> <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>Averto: via wallet.dat estas difektita, sed la datumoj sukcese saviĝis! La originala wallet.dat estas nun konservita kiel wallet.{timestamp}.bak en %s; se via saldo aŭ transakcioj estas malĝustaj vi devus restaŭri per alia sekurkopio.</translation> </message> @@ -2291,10 +2278,6 @@ <translation>Transakcio estas tro granda</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Uzi UPnP por mapi la aŭskultan pordon (defaŭlte: 1 dum aŭskultado)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Salutnomo por konektoj JSON-RPC</translation> </message> @@ -2323,10 +2306,6 @@ <translation>Reskani la blokĉenon por mankantaj monujaj transakcioj</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Uzi OpenSSL (https) por konektoj JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Tiu ĉi helpmesaĝo</translation> </message> diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts index de55496c09..91b0d79e30 100644 --- a/src/qt/locale/bitcoin_es.ts +++ b/src/qt/locale/bitcoin_es.ts @@ -1,4 +1,4 @@ -<TS language="es" version="2.0"> +<TS language="es" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -217,6 +217,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1283,10 +1286,6 @@ <translation>La petición de pago %1 es demasiado grande (%2 bytes, permitidos %3 bytes).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation> Solicitud pago de protección DoS</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Error en la comunicación con %1: %2</translation> </message> @@ -1475,14 +1474,6 @@ <translation>Servicios</translation> </message> <message> - <source>Starting Height</source> - <translation>Altura de comienzo</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Altura de sincronización</translation> - </message> - <message> <source>Ban Score</source> <translation>Puntuación de bloqueo</translation> </message> @@ -1603,12 +1594,16 @@ <translation>Saliente</translation> </message> <message> - <source>Unknown</source> - <translation>Desconocido</translation> + <source>Yes</source> + <translation>Sí</translation> </message> <message> - <source>Fetching...</source> - <translation>Adquiriendo....</translation> + <source>No</source> + <translation>No</translation> + </message> + <message> + <source>Unknown</source> + <translation>Desconocido</translation> </message> </context> <context> @@ -1975,10 +1970,6 @@ <translation>Copiar Cambio</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Cuantía Total %1 (=%2)</translation> - </message> - <message> <source>or</source> <translation>o</translation> </message> @@ -2015,6 +2006,10 @@ <translation>Paga sólo la cuota mínima de %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Monto Total %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>La dirección del destinatario no es válida. Por favor, compruébela de nuevo.</translation> </message> @@ -2795,13 +2790,16 @@ </translation> </message> <message> - <source>Run in the background as a daemon and accept commands</source> - <translation>Ejecutar en segundo plano como daemon y aceptar comandos -</translation> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Un error interno fatal ocurrió, ver debug.log para detalles</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Poda blockstore ...</translation> </message> <message> - <source>Use the test network</source> - <translation>Usar la red de pruebas + <source>Run in the background as a daemon and accept commands</source> + <translation>Ejecutar en segundo plano como daemon y aceptar comandos </translation> </message> <message> @@ -2825,14 +2823,6 @@ <translation>Ejecutar comando cuando una transacción del monedero cambia (%s en cmd se remplazará por TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Maximo Comisión totales para usar en una sola transacción billetera; establecer esta demasiado bajo puede abortar transacciones grandes (por defecto: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Reducir los requerimientos de almacenamiento mediante la poda (borrado) bloquea viejos. Este modo desactiva el apoyo cartera y es incompatible con -txindex. Advertencia: Revertir esta configuración requiere volver a descargar toda la blockchain. (por defecto: 0 = desactivar bloques de poda, >%u = tamaño de destino en MiB de usar para los archivos de bloques)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Establecer el número de hilos (threads) de verificación de scripts (entre %u y %d, 0 = automático, <0 = dejar libres ese número de núcleos; predeterminado: %d)</translation> </message> @@ -2853,10 +2843,6 @@ <translation>ADVERTENCIA: comprueba tu conexión de red, %d bloques recibidos en las últimas %d horas (%d esperados)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Atención: ¡Parece que la red no está totalmente de acuerdo! Algunos mineros están presentando inconvenientes.</translation> </message> @@ -2865,10 +2851,6 @@ <translation>Atención: ¡Parece que no estamos completamente de acuerdo con nuestros pares! Podría necesitar una actualización, u otros nodos podrían necesitarla.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Aviso: ¡Error al leer wallet.dat! Todas las claves se han leído correctamente, pero podrían faltar o ser incorrectos los datos de transacciones o las entradas de la libreta de direcciones.</translation> - </message> - <message> <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>Aviso: ¡Recuperados datos de wallet.dat corrupto! El wallet.dat original se ha guardado como wallet.{timestamp}.bak en %s; si hubiera errores en su saldo o transacciones, deberá restaurar una copia de seguridad.</translation> </message> @@ -2933,10 +2915,6 @@ <translation>Error al abrir base de datos de bloques.</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Error: un error grave interno ocurrió, sea debug.log para más detalles.</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Error: ¡Espacio en disco bajo!</translation> </message> @@ -2945,10 +2923,6 @@ <translation>Ha fallado la escucha en todos los puertos. Use -listen=0 si desea esto.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Si no se proporciona <category>, mostrar toda la depuración</translation> - </message> - <message> <source>Importing...</source> <translation>Importando...</translation> </message> @@ -3025,10 +2999,6 @@ <translation>Permitir conexiones JSON-RPC de origen especificado. Válido para son una sola IP (por ejemplo 1.2.3.4), una red/máscara de red (por ejemplo 1.2.3.4/255.255.255.0) o una red/CIDR (e.g. 1.2.3.4/24). Esta opción se puede especificar varias veces</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Ocurrió un error al configurar la dirección de RPC %s puerto %u para escuchar en: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Ligar a las direcciones especificadas y poner en lista blanca a los equipos conectados a ellas. Usar la notación para IPv6 [host]:puerto.</translation> </message> @@ -3053,18 +3023,10 @@ <translation>Error: la escucha para conexiones entrantes falló (la escucha regresó el error %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Error: Unsupported argumento -socks encontrados. SOCKS versión ajuste ya no es posible, sólo SOCKS5 proxies son compatibles.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Ejecutar un comando cuando se reciba una alerta importante o cuando veamos un fork demasiado largo (%s en cmd se reemplazará por el mensaje)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Tarifas (en BTC/Kb) más pequeños que esto se consideran cero cuota de reinstalación (por defecto: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Si el pago de comisión no está establecido, incluir la cuota suficiente para que las transacciones comiencen la confirmación en una media de n bloques ( por defecto :%u)</translation> </message> @@ -3073,10 +3035,6 @@ <translation>El tamaño máximo de los datos en las operaciones de transporte de datos que transmitimos y el mio (default: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Pode configurado por debajo del mínimo de %d MB. Por favor, use un número más alto.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Consulta de direcciones pares mediante búsqueda de DNS, si bajo en direcciones (por defecto: 1 a menos que - conectar)</translation> </message> @@ -3101,38 +3059,6 @@ <translation>Este producto incluye software desarrollado por el OpenSSL Project para su uso en OpenSSL Toolkit <https://www.openssl.org/>, software de cifrado escrito por Eric Young y software UPnP escrito por Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Para utilizar bitcoind, o la -opción servidor a bitcoin-qt, debes establecer una rpcpassword en el fichero de configuración: -%s -Se recomienda utilizar la siguiente contraseña aleatoria: -rpcuser=bitcoinrpc -rpcpassword=%s -(no es necesario que recuerdes esta contraseña) -El nombre de usuario y contraseña NO DEBEN ser la misma. -Si no existe el archivo, crearlo con los permisos de archivos de propietarios de -sólo lectura-. -También se recomienda establecer una notificación de alerta para ser notificado de problemas; -por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Advertencia: ¡-maxtxfee se establece muy alta! Esta gran tarifa podría ser pagada en una sola transacción .</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Aviso: ¡Comprueba la fecha y hora de tu ordenador y verifica si es correcta! Si no es correcta Bitcoin Core no funcionará adecuadamente.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>A los equipos en lista blanca no se les pueden prohibir los ataques DoS y sus transacciones siempre son retransmitidas, incluso si ya están en el mempool, es útil por ejemplo para un gateway.</translation> </message> @@ -3153,10 +3079,6 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>Activando la mejor cadena...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>No se puede ejecutar con un monedero en modo recorte.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>No se puede resolver -whitebind address: '%s'</translation> </message> @@ -3173,10 +3095,6 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>Copyright (C) 2009-%i The Bitcoin Core Developers</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>No se pudo analizar -rpcbind valor%s como dirección de red</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Error al cargar wallet.dat: El monedero requiere una versión más reciente de Bitcoin Core</translation> </message> @@ -3185,14 +3103,6 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>Error al leer la base de datos, cerrando.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Error: Argumento encontrado -tor no soportado, utilice -onion</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Cuota (in BTC/kB) para añadir a las transacciones que envíes (por defecto: %s)</translation> - </message> - <message> <source>Information</source> <translation>Información</translation> </message> @@ -3233,18 +3143,10 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>Opciones de nodos de retransmisión:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opciones SSL de RPC: (véase la wiki de Bitcoin para las instrucciones de instalación de SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opciones de servidor RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Soporte RPC para conexiones HTTP persistentes (por defecto: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Reconstruir el índice de la cadena de bloques en el arranque desde los actuales ficheros blk000??.dat</translation> </message> @@ -3321,10 +3223,6 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>No es posible conectar con %s en este sistema (bind ha dado el error %s)</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Nombre de usuario para las conexiones JSON-RPC </translation> @@ -3338,14 +3236,6 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>Aviso</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Advertencia: Argumento no soportado -benchmark ignored, use -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Aviso: Argumento no sportado -debugnet anticuado, utilice -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Eliminando todas las transacciones del monedero...</translation> </message> @@ -3375,11 +3265,6 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>Volver a examinar la cadena de bloques en busca de transacciones del monedero perdidas</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Usar OpenSSL (https) para las conexiones JSON-RPC -</translation> - </message> - <message> <source>This help message</source> <translation>Este mensaje de ayuda </translation> @@ -3425,10 +3310,6 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>(predeterminado: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Aceptar cifrado (por defecto: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Siempre consultar direcciones de otros equipos por medio de DNS lookup (por defecto: %u)</translation> </message> @@ -3489,14 +3370,6 @@ por ejemplo: alertnotify=echo %% s | correo -s "Alerta Bitcoin" admin@foo.com <translation>Relay non-P2SH multisig (default: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Archivo de certificado del servidor (por defecto: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Llave privada del servidor (por defecto: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Ajustar el número de claves en reserva <n> (predeterminado: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_es_CL.ts b/src/qt/locale/bitcoin_es_CL.ts index c35acf2c67..e388b5a0cf 100644 --- a/src/qt/locale/bitcoin_es_CL.ts +++ b/src/qt/locale/bitcoin_es_CL.ts @@ -1,4 +1,4 @@ -<TS language="es_CL" version="2.0"> +<TS language="es_CL" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -165,6 +165,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1289,15 +1292,6 @@ </translation> </message> <message> - <source>Use the test network</source> - <translation>Usa la red de pruebas -</translation> - </message> - <message> - <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> <source>Connect only to the specified node(s)</source> <translation>Conecta solo al nodo especificado </translation> @@ -1328,10 +1322,6 @@ </translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Usuario para las conexiones JSON-RPC </translation> @@ -1359,11 +1349,6 @@ </translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Usa OpenSSL (https) para las conexiones JSON-RPC -</translation> - </message> - <message> <source>This help message</source> <translation>Este mensaje de ayuda </translation> diff --git a/src/qt/locale/bitcoin_es_DO.ts b/src/qt/locale/bitcoin_es_DO.ts index 6071702989..7a7a6e33f5 100644 --- a/src/qt/locale/bitcoin_es_DO.ts +++ b/src/qt/locale/bitcoin_es_DO.ts @@ -1,4 +1,4 @@ -<TS language="es_DO" version="2.0"> +<TS language="es_DO" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -201,6 +201,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1429,10 +1432,6 @@ <translation>Copiar Cambio</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Cuantía Total %1 (=%2)</translation> - </message> - <message> <source>or</source> <translation>o</translation> </message> @@ -2106,11 +2105,6 @@ </translation> </message> <message> - <source>Use the test network</source> - <translation>Usar la red de pruebas -</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Aceptar conexiones desde el exterior (predeterminado: 1 si no -proxy o -connect)</translation> </message> @@ -2127,10 +2121,6 @@ <translation>Esta es una versión de pre-prueba - utilícela bajo su propio riesgo. No la utilice para usos comerciales o de minería.</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Atención: ¡Parece que la red no está totalmente de acuerdo! Algunos mineros están presentando inconvenientes.</translation> </message> @@ -2139,10 +2129,6 @@ <translation>Atención: ¡Parece que no estamos completamente de acuerdo con nuestros pares! Podría necesitar una actualización, u otros nodos podrían necesitarla.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Aviso: ¡Error al leer wallet.dat! Todas las claves se han leído correctamente, pero podrían faltar o ser incorrectos los datos de transacciones o las entradas de la libreta de direcciones.</translation> - </message> - <message> <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>Aviso: ¡Recuperados datos de wallet.dat corrupto! El wallet.dat original se ha guardado como wallet.{timestamp}.bak en %s; si hubiera errores en su saldo o transacciones, deberá restaurar una copia de seguridad.</translation> </message> @@ -2195,10 +2181,6 @@ <translation>Ha fallado la escucha en todos los puertos. Use -listen=0 si desea esto.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Si no se proporciona <category>, mostrar toda la depuración</translation> - </message> - <message> <source>Incorrect or no genesis block found. Wrong datadir for network?</source> <translation>Incorrecto o bloque de génesis no encontrado. Datadir equivocada para la red?</translation> </message> @@ -2263,10 +2245,6 @@ <translation>Inválido por el monto -mintxfee=<amount>: '%s'</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opciones RPC SSL: (Vea la Wiki de Bitcoin para las instrucciones de la configuración de SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opciones del sservidor RPC:</translation> </message> @@ -2311,10 +2289,6 @@ <translation>Transacción demasiado grande</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Nombre de usuario para las conexiones JSON-RPC </translation> @@ -2349,11 +2323,6 @@ <translation>Volver a examinar la cadena de bloques en busca de transacciones del monedero perdidas</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Usar OpenSSL (https) para las conexiones JSON-RPC -</translation> - </message> - <message> <source>This help message</source> <translation>Este mensaje de ayuda </translation> diff --git a/src/qt/locale/bitcoin_es_MX.ts b/src/qt/locale/bitcoin_es_MX.ts index 258308598e..1075fb08bb 100644 --- a/src/qt/locale/bitcoin_es_MX.ts +++ b/src/qt/locale/bitcoin_es_MX.ts @@ -1,4 +1,4 @@ -<TS language="es_MX" version="2.0"> +<TS language="es_MX" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -193,6 +193,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -673,10 +676,6 @@ <translation>copiar cambio</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Monto total %1(=%2)</translation> - </message> - <message> <source>or</source> <translation>o</translation> </message> diff --git a/src/qt/locale/bitcoin_es_UY.ts b/src/qt/locale/bitcoin_es_UY.ts index bb99466619..5029333b5b 100644 --- a/src/qt/locale/bitcoin_es_UY.ts +++ b/src/qt/locale/bitcoin_es_UY.ts @@ -1,4 +1,4 @@ -<TS language="es_UY" version="2.0"> +<TS language="es_UY" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -105,6 +105,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Synchronizing with network...</source> diff --git a/src/qt/locale/bitcoin_et.ts b/src/qt/locale/bitcoin_et.ts index c746107bc7..d2f98a9876 100644 --- a/src/qt/locale/bitcoin_et.ts +++ b/src/qt/locale/bitcoin_et.ts @@ -1,4 +1,4 @@ -<TS language="et" version="2.0"> +<TS language="et" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -177,6 +177,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1657,10 +1660,6 @@ <translation>Tööta taustal ning aktsepteeri käsklusi</translation> </message> <message> - <source>Use the test network</source> - <translation>Testvõrgu kasutamine</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Luba välisühendusi (vaikeväärtus: 1 kui puudub -proxy või -connect)</translation> </message> @@ -1677,14 +1676,6 @@ <translation>See on test-versioon - kasutamine omal riisikol - ära kasuta mining'uks ega kaupmeeste programmides</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Hoiatus: -paytxfee on seatud väga kõrgeks! See on sinu poolt makstav tehingu lisatasu.</translation> - </message> - <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Hoiatus: ilmnes tõrge wallet.dat faili lugemisel! Võtmed on terved, kuid tehingu andmed või aadressiraamatu kirjed võivad olla kadunud või vigased.</translation> - </message> - <message> <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>Hoiatus: toimus wallet.dat faili andmete päästmine! Originaal wallet.dat nimetati kaustas %s ümber wallet.{ajatempel}.bak'iks, jäägi või tehingute ebakõlade puhul tuleks teha backup'ist taastamine.</translation> </message> @@ -1797,10 +1788,6 @@ <translation>UI Valikud:</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Kasuta kuulatava pordi määramiseks UPnP ühendust (vaikeväärtus: 1, kui kuulatakse)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC ühenduste kasutajatunnus</translation> </message> @@ -1833,10 +1820,6 @@ <translation>Otsi ploki jadast rahakoti kadunud tehinguid</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Kasuta JSON-RPC ühenduste jaoks OpenSSL'i (https)</translation> - </message> - <message> <source>This help message</source> <translation>Käesolev abitekst</translation> </message> diff --git a/src/qt/locale/bitcoin_eu_ES.ts b/src/qt/locale/bitcoin_eu_ES.ts index 3de9ad5a2f..4da6cc0dce 100644 --- a/src/qt/locale/bitcoin_eu_ES.ts +++ b/src/qt/locale/bitcoin_eu_ES.ts @@ -1,23 +1,103 @@ -<TS language="eu_ES" version="2.0"> +<TS language="eu_ES" version="2.1"> <context> <name>AddressBookPage</name> <message> + <source>Right-click to edit address or label</source> + <translation>Eskuin-klika helbidea edo etiketa editatzeko</translation> + </message> + <message> <source>Create a new address</source> <translation>Sortu helbide berria</translation> </message> <message> + <source>&New</source> + <translation>&Berria</translation> + </message> + <message> <source>Copy the currently selected address to the system clipboard</source> <translation>Kopiatu hautatutako helbidea sistemaren arbelera</translation> </message> <message> + <source>&Copy</source> + <translation>&Kopiatu</translation> + </message> + <message> + <source>C&lose</source> + <translation>&Itxi</translation> + </message> + <message> + <source>&Copy Address</source> + <translation>&Kopiatu helbidea</translation> + </message> + <message> + <source>Delete the currently selected address from the list</source> + <translation>Ezabatu aukeratutako helbideak listatik</translation> + </message> + <message> + <source>Export the data in the current tab to a file</source> + <translation>Esportatu datuak uneko fitxategian</translation> + </message> + <message> + <source>&Export</source> + <translation>&Esportatu</translation> + </message> + <message> <source>&Delete</source> <translation>&Ezabatu</translation> </message> <message> + <source>Choose the address to send coins to</source> + <translation>Aukeratu helbidea txanponak bidaltzeko</translation> + </message> + <message> + <source>Choose the address to receive coins with</source> + <translation>Aukeratu helbidea txanponak jasotzeko</translation> + </message> + <message> + <source>C&hoose</source> + <translation>&Aukeratu</translation> + </message> + <message> + <source>Sending addresses</source> + <translation>Helbideak bidaltzen</translation> + </message> + <message> + <source>Receiving addresses</source> + <translation>Helbideak jasotzen</translation> + </message> + <message> + <source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source> + <translation>Hauek dira zure Bitcoin helbideak dirua bidaltzeko. Beti egiaztatu diru-kantitatea eta jasotzeko helbidea bidali baino lehen.</translation> + </message> + <message> + <source>These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source> + <translation>Hauek dira zure Bitcoin helbideak dirua jasotzeko. Gomendagarria da erabiltzea jasotzeko helbide berri bat operazio bakoitzeko.</translation> + </message> + <message> + <source>Copy &Label</source> + <translation>Kopiatu &Etiketa</translation> + </message> + <message> + <source>&Edit</source> + <translation>&Editatu</translation> + </message> + <message> + <source>Export Address List</source> + <translation>Esportatu helbide lista</translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Komaz bereizitako artxiboa (*.csv)</translation> </message> - </context> + <message> + <source>Exporting Failed</source> + <translation>Esportatua okerra</translation> + </message> + <message> + <source>There was an error trying to save the address list to %1. Please try again.</source> + <translation>Errakuntza bat egon da gordetzen %1 helbide listan. Mesedez, saiatu berriro.</translation> + </message> +</context> <context> <name>AddressTableModel</name> <message> @@ -36,6 +116,10 @@ <context> <name>AskPassphraseDialog</name> <message> + <source>Passphrase Dialog</source> + <translation>Pasahitza dialogoa</translation> + </message> + <message> <source>Enter passphrase</source> <translation>Sartu pasahitza</translation> </message> @@ -76,6 +160,22 @@ <translation>Berretsi zorroaren enkriptazioa</translation> </message> <message> + <source>Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!</source> + <translation>Abisua: Zuk enkriptatzen baduzu zure diruzorroa eta zure pasahitza galtzen baduzu, <b>BITCOIN GUZTIAK GALDUKO DITUZU</b>!</translation> + </message> + <message> + <source>Are you sure you wish to encrypt your wallet?</source> + <translation>Seguru zaude nahi duzula zure diruzorroa enkriptatu?</translation> + </message> + <message> + <source>Bitcoin Core will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source> + <translation>Bitcoin Core orain itxiko da enkriptazio prozezua amaitzeko. Gogoratu enkriptatzean zure diruzorroa ez duzula guztiz babesten zure Bitcoinak lapurretatik infektatzen zure ordenagailua Malwareekin.</translation> + </message> + <message> + <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source> + <translation>GARRANTZITSUA: Aurreko seguritate-kopiak ordeztuko dire berriekin, enkriptatutak. Segurtasun arrazoigaitik, aurreko kopiak ezin dira erabili hasiko zarenean zure diruzorro enkriptatu berriarekin.</translation> + </message> + <message> <source>Wallet encrypted</source> <translation>Zorroa enkriptatuta</translation> </message> @@ -105,6 +205,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Synchronizing with network...</source> @@ -628,6 +731,10 @@ <translation>Kopiatu etiketa</translation> </message> <message> + <source>Exporting Failed</source> + <translation>Esportatua okerra</translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Komaz bereizitako artxiboa (*.csv)</translation> </message> @@ -663,6 +770,14 @@ </context> <context> <name>WalletView</name> + <message> + <source>&Export</source> + <translation>&Esportatu</translation> + </message> + <message> + <source>Export the data in the current tab to a file</source> + <translation>Esportatu datuak uneko fitxategian</translation> + </message> </context> <context> <name>bitcoin-core</name> diff --git a/src/qt/locale/bitcoin_fa.ts b/src/qt/locale/bitcoin_fa.ts index 5eeea04684..05f8fc6251 100644 --- a/src/qt/locale/bitcoin_fa.ts +++ b/src/qt/locale/bitcoin_fa.ts @@ -1,4 +1,4 @@ -<TS language="fa" version="2.0"> +<TS language="fa" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -217,6 +217,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1060,7 +1063,7 @@ <source>Unknown</source> <translation>ناشناخته</translation> </message> - </context> +</context> <context> <name>ReceiveCoinsDialog</name> <message> @@ -1851,10 +1854,6 @@ <translation>اجرا در پشت زمینه بهصورت یک سرویس و پذیرش دستورات</translation> </message> <message> - <source>Use the test network</source> - <translation>استفاده از شبکهٔ آزمایش</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>پذیرش اتصالات از بیرون (پیش فرض:1 بدون پراکسی یا اتصال)</translation> </message> @@ -1871,10 +1870,6 @@ <translation>این یک نسخه ی آزمایشی است - با مسئولیت خودتان از آن استفاده کنید - آن را در معدن و بازرگانی بکار نگیرید.</translation> </message> <message> - <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> <source>Block creation options:</source> <translation>بستن گزینه ایجاد</translation> </message> @@ -1903,10 +1898,6 @@ <translation>خطا در بازگشایی پایگاه داده ی بلوک</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>خطا: یک خطای داخلی مهلک روی داد، debug.log را برای جزئیات ببینید</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>خطا: فضای دیسک کم است!</translation> </message> @@ -1927,10 +1918,6 @@ <translation>در حال بازبینی کیف پول...</translation> </message> <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>هشدار: تاریخ و ساعت کامپیوتر خود را بررسی کنید. اگر ساعت درست نباشد هسته بیتکوین به درستی کار نخواهد کرد.</translation> - </message> - <message> <source>Choose data directory on startup (default: 0)</source> <translation>انتخاب مسیر دادهها در ابتدای اجرای برنامه (پیشفرض: 0)</translation> </message> @@ -1963,10 +1950,6 @@ <translation>گزینههای رابط کاربری:</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>از UPnP برای شناسایی درگاه شنیداری استفاده کنید (پیش فرض:1 در زمان شنیدن)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC شناسه برای ارتباطات</translation> </message> @@ -1991,10 +1974,6 @@ <translation>اسکان مجدد زنجیر بلوکها برای گم والت معامله</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>JSON-RPCبرای ارتباطات استفاده کنید OpenSSL (https)</translation> - </message> - <message> <source>This help message</source> <translation>پیام کمکی</translation> </message> diff --git a/src/qt/locale/bitcoin_fa_IR.ts b/src/qt/locale/bitcoin_fa_IR.ts index 1174e24b46..6c16fc6f1f 100644 --- a/src/qt/locale/bitcoin_fa_IR.ts +++ b/src/qt/locale/bitcoin_fa_IR.ts @@ -1,4 +1,4 @@ -<TS language="fa_IR" version="2.0"> +<TS language="fa_IR" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -189,6 +189,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -993,10 +996,6 @@ <translation>به عنوان daemon بک گراند را اجرا کنید و دستورات را قبول نمایید</translation> </message> <message> - <source>Use the test network</source> - <translation>از تستِ شبکه استفاده نمایید</translation> - </message> - <message> <source>The transaction amount is too small to send after the fee has been deducted</source> <translation>مبلغ تراکنش کمتر از آن است که پس از کسر هزینه تراکنش قابل ارسال باشد</translation> </message> @@ -1033,10 +1032,6 @@ <translation>زنجیره بلاک را برای تراکنش جا افتاده در WALLET دوباره اسکن کنید</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>برای ارتباطاتِ JSON-RPC از OpenSSL (https) استفاده کنید</translation> - </message> - <message> <source>This help message</source> <translation>این پیام راهنما</translation> </message> diff --git a/src/qt/locale/bitcoin_fi.ts b/src/qt/locale/bitcoin_fi.ts index eb90aa4281..8cf6d01653 100644 --- a/src/qt/locale/bitcoin_fi.ts +++ b/src/qt/locale/bitcoin_fi.ts @@ -1,4 +1,4 @@ -<TS language="fi" version="2.0"> +<TS language="fi" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1279,10 +1282,6 @@ <translation>Maksupyyntö %1 on liian suuri (%2 tavua, sallittu %3 tavua).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Maksupyynnön DoS-suojaus</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Virhe kommunikoidessa %1n kanssa: %2</translation> </message> @@ -1467,14 +1466,6 @@ <translation>Palvelut</translation> </message> <message> - <source>Starting Height</source> - <translation>Aloituskorkeus</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Synkronointikorkeus</translation> - </message> - <message> <source>Ban Score</source> <translation>Panna-pisteytys</translation> </message> @@ -1595,12 +1586,16 @@ <translation>Ulosmenevä</translation> </message> <message> - <source>Unknown</source> - <translation>Tuntematon</translation> + <source>Yes</source> + <translation>Kyllä</translation> </message> <message> - <source>Fetching...</source> - <translation>Hankitaan...</translation> + <source>No</source> + <translation>Ei</translation> + </message> + <message> + <source>Unknown</source> + <translation>Tuntematon</translation> </message> </context> <context> @@ -1955,10 +1950,6 @@ <translation>Kopioi vaihtoraha</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Yhteensä %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>tai</translation> </message> @@ -2757,10 +2748,6 @@ <translation>Aja taustalla daemonina ja hyväksy komennot</translation> </message> <message> - <source>Use the test network</source> - <translation>Käytä test -verkkoa</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Hyväksy yhteyksiä ulkopuolelta (vakioasetus: 1 jos -proxy tai -connect ei määritelty)</translation> </message> @@ -2785,10 +2772,6 @@ <translation>Ei voida yhdistää %s tässä tietokoneessa. Bitcoin Core on luultavasti jo käynnissä.</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Varoitus: Tietoverkko ei ole sovussa! Luohijat näyttävät kokevan virhetilanteita.</translation> </message> @@ -2797,10 +2780,6 @@ <translation>Varoitus: Olemme vertaisverkon kanssa ristiriidassa! Sinun tulee päivittää tai toisten solmujen tulee päivitää.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Varoitus: virhe luettaessa wallet.dat-lompakkotiedostoa. Kaikki avaimet luettiin onnistuneesti, mutta siirtohistoria tai osoitekirja saattavat olla kadonneet tai virheellisiä.</translation> - </message> - <message> <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>Varoitus: wallet.dat -lompakkotiedosto on korruptoitunut, tiedot pelastettu. Alkuperäinen wallet.dat -lompakkotiedosto on tallennettu wallet.{timestamp}.bak kansioon %s; jos balanssisi tai siirtohistoria on virheellinen, sinun tulisi palauttaa lompakkotiedosto varmuuskopiosta.</translation> </message> @@ -2861,10 +2840,6 @@ <translation>Virhe avattaessa lohkoindeksiä</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Virhe: Sisäinen kriittinen virhe kohdattiin, katso debug.log:sta lisätietoja</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Varoitus: Levytila on vähissä!</translation> </message> @@ -2873,10 +2848,6 @@ <translation>Ei onnistuttu kuuntelemaan missään portissa. Käytä -listen=0 jos haluat tätä.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Jos <kategoria> ei annettu, tulosta kaikki debuggaustieto.</translation> - </message> - <message> <source>Importing...</source> <translation>Tuodaan...</translation> </message> @@ -2973,10 +2944,6 @@ <translation>Aktivoidaan parhainta ketjua...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Lompakkoa ei voida ajaa karsitussa tilassa.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>-whitebind -osoitetta '%s' ei voida jäsentää</translation> </message> @@ -3017,18 +2984,10 @@ <translation>Välityssolmukohdan asetukset:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL valinnat: (katso Bitcoin Wikistä SSL-asennuksen ohjeet)</translation> - </message> - <message> <source>RPC server options:</source> <translation>RPC-palvelimen valinnat:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPC-tuki pysyville HTTP-yhteyksille (oletus: %d)</translation> - </message> - <message> <source>Receive and display P2P network alerts (default: %u)</source> <translation>Vastaanota ja näytä P2P-verkon hälytyksiä (oletus: %u)</translation> </message> @@ -3085,10 +3044,6 @@ <translation>Ulkoasun asetukset:</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Käyttäjätunnus JSON-RPC-yhteyksille</translation> </message> @@ -3129,10 +3084,6 @@ <translation>Skannaa uudelleen lohkoketju lompakon puuttuvien rahasiirtojen vuoksi</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Käytä OpenSSL:ää (https) JSON-RPC-yhteyksille</translation> - </message> - <message> <source>This help message</source> <translation>Tämä ohjeviesti</translation> </message> @@ -3157,10 +3108,6 @@ <translation>(oletus: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Hyväksyttävät salaukset (oletus: %s)</translation> - </message> - <message> <source>Error loading wallet.dat</source> <translation>Virhe ladattaessa wallet.dat-tiedostoa</translation> </message> @@ -3193,14 +3140,6 @@ <translation>Välitä ei-P2SH-multisig (oletus: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Palvelimen sertifikaattitiedosto (oletus: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Palvelimen private key (oletus: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Aseta avainaltaan kooksi <n> (oletus: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_fr.ts b/src/qt/locale/bitcoin_fr.ts index fe140634e6..a2799f99fc 100644 --- a/src/qt/locale/bitcoin_fr.ts +++ b/src/qt/locale/bitcoin_fr.ts @@ -1,4 +1,4 @@ -<TS language="fr" version="2.0"> +<TS language="fr" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1279,10 +1282,6 @@ <translation>La demande de paiement %1 est trop grande (%2 octets, %3 octets permis).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Protection DdS des demandes de paiement</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Erreur de communication avec %1 : %2</translation> </message> @@ -1471,14 +1470,6 @@ <translation>Services</translation> </message> <message> - <source>Starting Height</source> - <translation>Hauteur de démarrage</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Hauteur de synchro</translation> - </message> - <message> <source>Ban Score</source> <translation>Pointage des bannissements</translation> </message> @@ -1599,12 +1590,16 @@ <translation>Sortant</translation> </message> <message> - <source>Unknown</source> - <translation>Inconnu</translation> + <source>Yes</source> + <translation>Oui</translation> + </message> + <message> + <source>No</source> + <translation>Non</translation> </message> <message> - <source>Fetching...</source> - <translation>Récupération...</translation> + <source>Unknown</source> + <translation>Inconnu</translation> </message> </context> <context> @@ -1971,10 +1966,6 @@ <translation>Copier la monnaie</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Montant total %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>ou</translation> </message> @@ -2015,6 +2006,10 @@ <translation>Payer seulement les frais minimum de %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Montant total %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>L'adresse du destinataire est invalide. Veuillez la vérifier.</translation> </message> @@ -2793,12 +2788,12 @@ <translation>Accepter les commandes de JSON-RPC et de la ligne de commande</translation> </message> <message> - <source>Run in the background as a daemon and accept commands</source> - <translation>Fonctionner en arrière-plan en tant que démon et accepter les commandes</translation> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Erreur : une erreur interne fatale s'est produite. Voir debug.log pour plus de détails</translation> </message> <message> - <source>Use the test network</source> - <translation>Utiliser le réseau de test</translation> + <source>Run in the background as a daemon and accept commands</source> + <translation>Fonctionner en arrière-plan en tant que démon et accepter les commandes</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2821,14 +2816,6 @@ <translation>Exécuter la commande lorsqu'une transaction de portefeuille change (%s dans la commande est remplacée par TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Total maximal des frais à utiliser en une seule transaction de portefeuille. Le définir trop bas pourrait interrompre les grosses transactions (par défaut : %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Réduire les exigences de stockage en élaguant (supprimant) les anciens blocs. Ce mode désactive la prise en charge de portefeuilles et n'est pas compatible avec -txindex. Avertissement : configurer ce paramètre à sa valeur antérieure retéléchargera complètement la chaîne de blocs (par défaut : 0 = désactiver l'élagage des blocs, >%u = taille cible en Mo à utiliser pour les fichiers de blocs).</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Définir le nombre d'exétrons de vérification des scripts (%u à %d, 0 = auto, < 0 = laisser ce nombre de cœurs inutilisés, par défaut : %d)</translation> </message> @@ -2849,10 +2836,6 @@ <translation>AVERTISSEMENT : vérifiez votre connexion réseau, %d blocs reçus durant les %d dernières heures (%d attendus)</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Avertissement : -paytxfee est réglé sur un montant très élevé ! Il s'agit des frais de transaction que vous payerez si vous envoyez une transaction.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Avertissement : le réseau ne semble pas totalement d'accord ! Quelques mineurs semblent éprouver des difficultés.</translation> </message> @@ -2861,10 +2844,6 @@ <translation>Avertissement : nous ne semblons pas être en accord complet avec nos pairs ! Vous pourriez avoir besoin d'effectuer une mise à niveau, ou d'autres nœuds du réseau pourraient avoir besoin d'effectuer une mise à niveau.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Avertissement : une erreur est survenue lors de la lecture de wallet.dat ! Toutes les clefs ont été lues correctement mais les données de transaction ou les entrées du carnet d'adresses sont peut-être incorrectes ou manquantes.</translation> - </message> - <message> <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>Avertissement : wallet.dat corrompu, données récupérées ! Le fichier wallet.dat original a été enregistré en tant que wallet.{timestamp}.bak dans %s ; si votre solde ou transactions sont incorrects vous devriez effectuer une restauration depuis une sauvegarde.</translation> </message> @@ -2929,10 +2908,6 @@ <translation>Erreur lors de l'ouverture de la base de données des blocs</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Erreur : une erreur interne fatale s'est produite. Voir debug.log pour des détails</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Erreur : l'espace disque est faible !</translation> </message> @@ -2941,10 +2916,6 @@ <translation>Échec de l'écoute sur un port quelconque. Utilisez -listen=0 si vous voulez ceci.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Si <category> n'est pas indiqué, extraire toutes les données de débogage.</translation> - </message> - <message> <source>Importing...</source> <translation>Importation...</translation> </message> @@ -3021,10 +2992,6 @@ <translation>Permettre les connexions JSON-RPC de sources spécifiques. Valide pour <ip> qui sont une IP simple (p. ex. 1.2.3.4), un réseau/masque réseau (p. ex. 1.2.3.4/255.255.255.0) ou un réseau/CIDR (p. ex. 1.2.3.4/24). Cette option peut être être spécifiée plusieurs fois</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Une erreur est survenue lors de la mise en place de l'adresse %s port %u d'écoute RPC : %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Se lier à l'adresse donnée et aux pairs s'y connectant. Utiliser la notation [host]:port pour l'IPv6</translation> </message> @@ -3049,18 +3016,10 @@ <translation>Erreur : l'écoute des connexions entrantes a échoué (l'écoute a retourné l'erreur %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Erreur : l'argument non pris en charge -socks a été trouvé. Il n'est plus possible de définir la version de SOCKS, seuls les serveurs mandataires SOCKS5 sont pris en charge.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Exécuter une commande lorsqu'une alerte pertinente est reçue ou si nous voyons une bifurcation vraiment étendue (%s dans la commande est remplacé par le message)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Les frais (en BTC/Ko) inférieurs à ce seuil sont considérés comme étant nuls pour le relayage (par défaut : %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Si paytxfee n'est pas défini, inclure suffisamment de frais afin que les transactions commencent la confirmation en moyenne avant n blocs (par défaut : %u)</translation> </message> @@ -3073,10 +3032,6 @@ <translation>Quantité maximale de données dans les transactions du porteur de données que nous relayons et minons (par défaut : %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>L'élagage est configuré au-dessous du minimum de %d Mo. Veuillez utiliser un nombre plus élevé.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Demander les adresses des pairs par recherche DNS si l'on manque d'adresses (par défaut : 1 sauf si -connect)</translation> </message> @@ -3101,38 +3056,6 @@ <translation>Ce produit comprend des logiciels développés par le projet OpenSSL pour être utilisés dans la boîte à outils OpenSSL <https://www.openssl.org/> et un logiciel cryptographique écrit par Eric Young, ainsi qu'un logiciel UPnP écrit par Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Pour utiliser bitcoind, ou l'option -server de bitcoin-qt, vous devez définir un mot de passe rpc dans le fichier de configuration : -%s -Il est recommandé d'utiliser le mot de passe aléatoire suivant : -rpcuser=bitcoinrpc -rpcpassword=%s -(vous n'avez pas à mémoriser ce mot de passe) -Le nom d'utilisateur et le mot de passe NE DOIVENT PAS être identiques. -Si le fichier n'existe pas, créez-le avec la permission lecture-seule-par-le-propriétaire. -Il est aussi recommandé de définir alertnotify afin que les problèmes vous soient signalés ; -par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Avertissement :-maxtxfee est défini très haut ! Des frais aussi élevés pourraient être payés sur une seule transaction.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Avertissement : veuillez vérifier que l'heure et la date de votre ordinateur sont correctes ! Si votre horloge n'est pas à l'heure, Bitcoin Core ne fonctionnera pas correctement.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Les pairs de la liste blanche ne peuvent pas être bannis DoS et leurs transactions sont toujours relayées, même si elles sont déjà dans le mempool, utile p. ex. pour une passerelle</translation> </message> @@ -3153,10 +3076,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>Activation de la meilleure chaîne...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>L'exécution est impossible quand le portefeuille est en mode élagage.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Impossible de résoudre l'adresse -whitebind : « %s »</translation> </message> @@ -3173,10 +3092,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>Copyright © 2009-%i Les développeurs de Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Impossible d'analyser la valeur -rpcbind %s comme adresse réseau</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Erreur lors du chargement de wallet.dat : le portefeuille exige une version plus récente de Bitcoin Core</translation> </message> @@ -3185,14 +3100,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>Erreur de lecture de la base de données, fermeture en cours.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Erreur : argument non pris en charge -tor trouvé, utiliser -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Les frais (en BTC/ko) à ajouter aux transactions que vous envoyez (par défaut : %s)</translation> - </message> - <message> <source>Information</source> <translation>Informations</translation> </message> @@ -3233,18 +3140,10 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>Options de relais du nœud :</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Options RPC SSL : (voir le wiki Bitcoin pour les instructions de configuration de SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Options du serveur RPC :</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Prise en charge de RPC pour les connexions persistantes HTTP (par défaut : %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Reconstruire au démarrage l'index de la chaîne de blocs à partir des fichiers blk000??.dat actuels</translation> </message> @@ -3321,10 +3220,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>Impossible de se lier à %s sur cet ordinateur (bind a retourné l'erreur %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Utiliser l'UPnP pour mapper le port d'écoute (par défaut : 1 lors de l'écoute)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Nom d'utilisateur pour les connexions JSON-RPC</translation> </message> @@ -3337,14 +3232,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>Avertissement</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Avertissement : l'argument -benchmark non pris en charge a été ignoré, utiliser -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Avertissement : l'argument -debugnet non pris en charge a été ignoré, utiliser -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Supprimer toutes les transactions du portefeuille...</translation> </message> @@ -3373,10 +3260,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>Réanalyser la chaîne de blocs pour les transactions de portefeuille manquantes</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Utiliser OpenSSL (https) pour les connexions JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Ce message d'aide</translation> </message> @@ -3421,10 +3304,6 @@ par exemple : alertnotify=echo %%s | mail -s "Alerte Bitcoin" admin@foo.com <translation>(par défaut : %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Chiffrements acceptables (par défaut : %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Toujours demander les adresses des pairs par recherche DNS (par défaut : %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_fr_CA.ts b/src/qt/locale/bitcoin_fr_CA.ts index f4fe7d6597..75f970f554 100644 --- a/src/qt/locale/bitcoin_fr_CA.ts +++ b/src/qt/locale/bitcoin_fr_CA.ts @@ -1,4 +1,4 @@ -<TS language="fr_CA" version="2.0"> +<TS language="fr_CA" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -65,6 +65,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> </context> <context> diff --git a/src/qt/locale/bitcoin_gl.ts b/src/qt/locale/bitcoin_gl.ts index 709b17e2f7..3edaef7e16 100644 --- a/src/qt/locale/bitcoin_gl.ts +++ b/src/qt/locale/bitcoin_gl.ts @@ -1,4 +1,4 @@ -<TS language="gl" version="2.0"> +<TS language="gl" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -201,6 +201,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1931,10 +1934,6 @@ <translation>Executar no fondo como un demo e aceptar comandos</translation> </message> <message> - <source>Use the test network</source> - <translation>Empregar a rede de proba</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Aceptar conexións de fóra (por defecto: 1 se non -proxy ou -connect)</translation> </message> @@ -1951,10 +1950,6 @@ <translation>Esta é unha build de test pre-lanzamento - emprégaa baixo o teu propio risco - non empregar para minado ou aplicacións de comerciantes</translation> </message> <message> - <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 está posto moi algo! Esta é a tarifa de transacción que ti pagarás se envías unha transacción.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Precaución: A rede non parece estar totalmente de acordo! Algúns mineitos parecen estar experimentando problemas.</translation> </message> @@ -1963,10 +1958,6 @@ <translation>Precaución: Non parece que esteamos totalmente de acordo cos nosos pares! Pode que precises actualizar, ou outros nodos poden precisar actualizarse.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Precaución: erro lendo wallet.dat! Tódalas claves lidas correctamente, pero os datos de transacción ou as entradas do libro de direccións podrían estar ausentes ou incorrectos.</translation> - </message> - <message> <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>Precaución: wallet.dat corrupto, datos salvagardados! O wallet.dat orixinal foi gardado como wallet.{timestamp}.bak en %s; se o teu balance ou transaccións son incorrectas deberías restauralas dende unha copia de seguridade.</translation> </message> @@ -2111,10 +2102,6 @@ <translation>A transacción é demasiado grande</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Usar UPnP para mapear o porto de escoita (por defecto: 1 se á escoita)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Nome de usuario para conexións JSON-RPC</translation> </message> @@ -2143,10 +2130,6 @@ <translation>Rescanear transaccións ausentes na cadea de bloques</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Empregar OpenSSL (https) para conexións JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Esta mensaxe de axuda</translation> </message> diff --git a/src/qt/locale/bitcoin_gu_IN.ts b/src/qt/locale/bitcoin_gu_IN.ts index ef99b0dd39..5de6a6109a 100644 --- a/src/qt/locale/bitcoin_gu_IN.ts +++ b/src/qt/locale/bitcoin_gu_IN.ts @@ -1,4 +1,4 @@ -<TS language="gu_IN" version="2.0"> +<TS language="gu_IN" version="2.1"> <context> <name>AddressBookPage</name> </context> @@ -9,6 +9,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> </context> <context> diff --git a/src/qt/locale/bitcoin_he.ts b/src/qt/locale/bitcoin_he.ts index 9c1863de8a..8e985e9f16 100644 --- a/src/qt/locale/bitcoin_he.ts +++ b/src/qt/locale/bitcoin_he.ts @@ -1,4 +1,4 @@ -<TS language="he" version="2.0"> +<TS language="he" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -209,6 +209,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1313,14 +1316,6 @@ <translation>שירותים</translation> </message> <message> - <source>Starting Height</source> - <translation>גובה התחלתי</translation> - </message> - <message> - <source>Sync Height</source> - <translation>גובה הסנכרון</translation> - </message> - <message> <source>Ban Score</source> <translation>דירוג חסימה</translation> </message> @@ -1433,12 +1428,16 @@ <translation>תעבורה יוצאת</translation> </message> <message> - <source>Unknown</source> - <translation>לא ידוע</translation> + <source>Yes</source> + <translation>כן</translation> </message> <message> - <source>Fetching...</source> - <translation>מתקבל…</translation> + <source>No</source> + <translation>לא</translation> + </message> + <message> + <source>Unknown</source> + <translation>לא ידוע</translation> </message> </context> <context> @@ -1737,10 +1736,6 @@ <translation>העתקת עודף</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>הסכום הכולל %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>או</translation> </message> @@ -2495,10 +2490,6 @@ <translation>ריצה כסוכן ברקע וקבלת פקודות</translation> </message> <message> - <source>Use the test network</source> - <translation>שימוש ברשת הבדיקה</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>קבלת חיבורים מבחוץ (בררת מחדל: 1 ללא -proxy או -connect)</translation> </message> @@ -2523,10 +2514,6 @@ <translation>לא ניתן להתאגד אל %s במחשב זה. כנראה שליבת ביטקוין כבר פועלת.</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>אזהרה: נראה שלא כל הרשת מסכימה! נראה שישנם כורים שנתקלים בבעיות.</translation> </message> @@ -2535,10 +2522,6 @@ <translation>אזהרה: נראה שישנה אי־הסכמה בינינו לבין שאר העמיתים שלנו! יתכן שעדיף לשדרג או שכל שאר העמיתים צריכים לשדרג.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>אזהרה: שגיאה בקריאת wallet.dat! כל המפתחות נקראו באופן תקין, אך נתוני ההעברות או ספר הכתובות עלולים להיות חסרים או שגויים.</translation> - </message> - <message> <source>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>אזהרה: הקובץ wallet.dat הושחת, המידע חולץ! קובץ ה־wallet.dat המקורי נשמר בשם wallet.{timestamp}.bak במיקום %s; אם המאזן או ההעברות שגויים עליך לשחזר גיבוי.</translation> </message> @@ -2607,10 +2590,6 @@ <translation>האזנה נכשלה בכל פורט. השתמש ב- -listen=0 אם ברצונך בכך.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>אם לא סופקה <קטגוריה> יש לייצא את כל פרטי הניפוי.</translation> - </message> - <message> <source>Importing...</source> <translation>מתבצע יבוא…</translation> </message> @@ -2671,10 +2650,6 @@ <translation>הרץ פקודה כאשר ההתראה הרלוונטית מתקבלת או כשאנחנו עדים לפיצול ארוך מאוד (%s בשורת הפקודה יוחלף ע"י ההודעה)</translation> </message> <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>אזהרה: נא לבדוק שהתאריך והשעה של המחשב שלך נכונים! אם השעון שלך שגוי ליבת ביטקוין לא תעבוד כראוי.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>לא ניתן לפתור את הכתובת -whitebind: '%s'</translation> </message> @@ -2691,22 +2666,10 @@ <translation>כל הזכויות שמורות (C) 2009-%i מתכנתי ליבת ביטקוין</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>לא ניתן לנתח את הערך של -rpcbind שצוין בתור %s ככתובת רשת</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>אירעה שגיאה בטעינת wallet.dat: הארנק דורש גרסה חדשה יותר של ליבת ביטקוין</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>שגיאה: נמצא ארגומנט בלתי נתמך -tor, יש להשתמש ב־-onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>עמלה (ב־BTC/ק״ב) להוספה להעברות שנשלחות ממך (בררת מחדל: %s)</translation> - </message> - <message> <source>Information</source> <translation>מידע</translation> </message> @@ -2739,10 +2702,6 @@ <translation>אפשרויות ממסר מפרק:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>אפשרויות RPC SSL: (נא לעיין בוויקי של ביטקוין לקבלת הנחיות על הגדרת SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>הגדרות שרת RPC</translation> </message> @@ -2799,10 +2758,6 @@ <translation>לא ניתן להתאגד עם הפתחה %s במחשב זה (פעולת האיגוד החזירה את השגיאה %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>יש להשתמש ב־UPnP כדי למפות את הפתחה להאזנה (בררת מחדל: 1 בעת האזנה)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>שם משתמש לחיבורי JSON-RPC</translation> </message> @@ -2815,14 +2770,6 @@ <translation>אזהרה</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>אזהרה: הארגומנט שאינו נתמך עוד -benchmark לא הופעל, נא להשתמש ב־-debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>אזהרה: הארגומנט שאינו נתמך עוד -debugnet לא הופעל, נא להשתמש ב־-debug=net.</translation> - </message> - <message> <source>on startup</source> <translation>עם ההפעלה</translation> </message> @@ -2847,10 +2794,6 @@ <translation>יש לסרוק מחדש את שרשרת המקטעים למציאת העברות חסרות בארנק</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>שימוש ב־OpenSSL (https) עבור חיבורי JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>הודעת העזרה הזו</translation> </message> diff --git a/src/qt/locale/bitcoin_hi_IN.ts b/src/qt/locale/bitcoin_hi_IN.ts index 01e074ffc6..fbdaf1ba7c 100644 --- a/src/qt/locale/bitcoin_hi_IN.ts +++ b/src/qt/locale/bitcoin_hi_IN.ts @@ -1,4 +1,4 @@ -<TS language="hi_IN" version="2.0"> +<TS language="hi_IN" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -117,6 +117,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Synchronizing with network...</source> @@ -814,10 +817,6 @@ <translation>बैकग्राउंड में डेमॉन बन कर रन करे तथा कमांड्स स्वीकार करें </translation> </message> <message> - <source>Use the test network</source> - <translation>टेस्ट नेटवर्क का इस्तेमाल करे </translation> - </message> - <message> <source>Verifying blocks...</source> <translation>ब्लॉक्स जाँचे जा रहा है...</translation> </message> diff --git a/src/qt/locale/bitcoin_hr.ts b/src/qt/locale/bitcoin_hr.ts index 74d380ec2b..80371dfaf7 100644 --- a/src/qt/locale/bitcoin_hr.ts +++ b/src/qt/locale/bitcoin_hr.ts @@ -1,4 +1,4 @@ -<TS language="hr" version="2.0"> +<TS language="hr" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -217,6 +217,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1098,7 +1101,7 @@ <source>Unknown</source> <translation>Nepoznato</translation> </message> - </context> +</context> <context> <name>ReceiveCoinsDialog</name> <message> @@ -1769,14 +1772,6 @@ <translation>Izvršavaj u pozadini kao uslužnik i prihvaćaj komande</translation> </message> <message> - <source>Use the test network</source> - <translation>Koristi test mrežu</translation> - </message> - <message> - <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> <source>Block creation options:</source> <translation>Opcije za kreiranje bloka:</translation> </message> @@ -1805,10 +1800,6 @@ <translation>Pokreni minimiziran</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Korisničko ime za JSON-RPC veze</translation> </message> @@ -1833,10 +1824,6 @@ <translation>Ponovno pretraži lanac blokova za transakcije koje nedostaju</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Koristi OpenSSL (https) za JSON-RPC povezivanje</translation> - </message> - <message> <source>This help message</source> <translation>Ova poruka za pomoć</translation> </message> diff --git a/src/qt/locale/bitcoin_hu.ts b/src/qt/locale/bitcoin_hu.ts index fd476611ee..6722854589 100644 --- a/src/qt/locale/bitcoin_hu.ts +++ b/src/qt/locale/bitcoin_hu.ts @@ -1,4 +1,4 @@ -<TS language="hu" version="2.0"> +<TS language="hu" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -184,6 +184,10 @@ <translation>Add meg a tárca új jelszavát.<br/>Olyan jelszót válassz, ami <b>legalább tíz véletlenszerű karakterből</b> vagy <b>legalább 8 véletlenszerű szóból</b> áll.</translation> </message> <message> + <source>Enter the old passphrase and new passphrase to the wallet.</source> + <translation>Add meg a tárcához a régi jelszavad és az új jelszavad.</translation> + </message> + <message> <source>Wallet encryption failed</source> <translation>A tárca titkosítása sikertelen.</translation> </message> @@ -213,6 +217,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -391,6 +398,10 @@ <translation>&A Bitcoin Core-ról</translation> </message> <message> + <source>Modify configuration options for Bitcoin Core</source> + <translation>Konfigurációs opciók módosítása a Bitcoin Core-hoz</translation> + </message> + <message> <source>Show the list of used sending addresses and labels</source> <translation>A használt küldési címek és címkék megtekintése</translation> </message> @@ -410,18 +421,38 @@ <source>Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options</source> <translation>A Bitcoin Core súgóüzenet megjelenítése a Bitcoin lehetséges parancssori kapcsolóival.</translation> </message> + <message numerus="yes"> + <source>%n active connection(s) to Bitcoin network</source> + <translation><numerusform>%n aktív kapcsolat a Bitcoin hálózathoz</numerusform><numerusform>%n aktív kapcsolat a Bitcoin hálózathoz</numerusform></translation> + </message> <message> <source>No block source available...</source> <translation>Blokk forrása ismeretlen...</translation> </message> <message numerus="yes"> + <source>Processed %n block(s) of transaction history.</source> + <translation><numerusform>%n blokk feldolgozva a tranzakció előzményből.</numerusform><numerusform>%n blokk feldolgozva a tranzakció előzményből.</numerusform></translation> + </message> + <message numerus="yes"> <source>%n hour(s)</source> <translation><numerusform>%n óra</numerusform><numerusform>%n óra</numerusform></translation> </message> + <message numerus="yes"> + <source>%n day(s)</source> + <translation><numerusform>%n nap</numerusform><numerusform>%n nap</numerusform></translation> + </message> + <message numerus="yes"> + <source>%n week(s)</source> + <translation><numerusform>%n hét</numerusform><numerusform>%n hét</numerusform></translation> + </message> <message> <source>%1 and %2</source> <translation>%1 és %2</translation> </message> + <message numerus="yes"> + <source>%n year(s)</source> + <translation><numerusform>%n év</numerusform><numerusform>%n év</numerusform></translation> + </message> <message> <source>%1 behind</source> <translation>%1 lemaradás</translation> @@ -461,12 +492,30 @@ </translation> </message> <message> + <source>Amount: %1 +</source> + <translation>Összeg: %1 +</translation> + </message> + <message> <source>Type: %1 </source> <translation>Típus: %1 </translation> </message> <message> + <source>Label: %1 +</source> + <translation>Címke: %1 +</translation> + </message> + <message> + <source>Address: %1 +</source> + <translation>Cím: %1 +</translation> + </message> + <message> <source>Sent transaction</source> <translation>Tranzakció elküldve.</translation> </message> @@ -493,6 +542,10 @@ <context> <name>CoinControlDialog</name> <message> + <source>Coin Selection</source> + <translation>Érme Választás</translation> + </message> + <message> <source>Quantity:</source> <translation>Mennyiség:</translation> </message> @@ -510,7 +563,7 @@ </message> <message> <source>Fee:</source> - <translation>Díjak:</translation> + <translation>Díj:</translation> </message> <message> <source>Dust:</source> @@ -541,6 +594,14 @@ <translation>Összeg</translation> </message> <message> + <source>Received with label</source> + <translation>Címkével érkezett</translation> + </message> + <message> + <source>Received with address</source> + <translation>Címmel érkezett</translation> + </message> + <message> <source>Date</source> <translation>Dátum</translation> </message> @@ -653,6 +714,18 @@ <translation>semmi</translation> </message> <message> + <source>This label turns red if the transaction size is greater than 1000 bytes.</source> + <translation>Ez a címke pirosra változik, ha a tranzakció mérete nagyobb mint 1000 bájt.</translation> + </message> + <message> + <source>This label turns red if the priority is smaller than "medium".</source> + <translation>Ez a címke pirosra változik, ha a prioritás kisebb mint "közepes".</translation> + </message> + <message> + <source>This label turns red if any recipient receives an amount smaller than %1.</source> + <translation>Ez a címke pirosra változik, ha bármely fogadónak %1-nál kevesebb összeg érkezik.</translation> + </message> + <message> <source>Can vary +/- %1 satoshi(s) per input.</source> <translation>Bemenetenként +/- %1 satoshi-val változhat</translation> </message> @@ -828,6 +901,10 @@ <source>Error</source> <translation>Hiba</translation> </message> + <message numerus="yes"> + <source>%n GB of free space available</source> + <translation><numerusform>%n GB elérhető szabad hely</numerusform><numerusform>%n GB elérhető szabad hely</numerusform></translation> + </message> </context> <context> <name>OpenURIDialog</name> @@ -863,6 +940,10 @@ <translation>&Fő</translation> </message> <message> + <source>Size of &database cache</source> + <translation>A&datbázis gyorsítótár mérete</translation> + </message> + <message> <source>MB</source> <translation>MB</translation> </message> @@ -879,6 +960,10 @@ <translation>A proxy IP címe (pl.: IPv4: 127.0.0.1 / IPv6: ::1)</translation> </message> <message> + <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin Core.</source> + <translation>Itt beállíthatod a kezelőfelület nyelvét. A beállítás a Bitcoin újraindítása után lép érvénybe.</translation> + </message> + <message> <source>Reset all client options to default.</source> <translation>Minden kliensbeállítás alapértelmezettre állítása.</translation> </message> @@ -895,8 +980,12 @@ <translation>A Bitcoin elindítása bejelentkezéskor</translation> </message> <message> + <source>W&allet</source> + <translation>T&árca</translation> + </message> + <message> <source>Expert</source> - <translation>szakértő</translation> + <translation>Szakértő</translation> </message> <message> <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source> @@ -994,6 +1083,10 @@ <translation>A kijelzett információ lehet, hogy elavult. A pénztárcája automatikusan szinkronizálja magát a Bitcoin hálózattal miután a kapcsolat létrejön, de ez e folyamat még nem fejeződött be.</translation> </message> <message> + <source>Watch-only:</source> + <translation>Csak megfigyelés</translation> + </message> + <message> <source>Available:</source> <translation>Elérhető:</translation> </message> @@ -1018,6 +1111,10 @@ <translation>Bányászott egyenleg amely még nem érett be.</translation> </message> <message> + <source>Balances</source> + <translation>Egyenlegek</translation> + </message> + <message> <source>Total:</source> <translation>Összesen:</translation> </message> @@ -1044,6 +1141,14 @@ <source>Cannot start bitcoin: click-to-pay handler</source> <translation>A bitcoint nem lehet elindítani: click-to-pay handler</translation> </message> + <message> + <source>Payment request expired.</source> + <translation>A fizetési kérelem lejárt</translation> + </message> + <message> + <source>Invalid payment request.</source> + <translation>Érvénytelen fizetési kérelem</translation> + </message> </context> <context> <name>PeerTableModel</name> @@ -1063,6 +1168,10 @@ <translation>Összeg</translation> </message> <message> + <source>Enter a Bitcoin address (e.g. %1)</source> + <translation>Ad meg egy Bitcoin címet (pl: %1)</translation> + </message> + <message> <source>%1 d</source> <translation>%1 n</translation> </message> @@ -1079,10 +1188,18 @@ <translation>%1 mp</translation> </message> <message> + <source>None</source> + <translation>Semmi</translation> + </message> + <message> <source>N/A</source> <translation>Nem elérhető</translation> </message> - </context> + <message> + <source>%1 ms</source> + <translation>%1 ms</translation> + </message> +</context> <context> <name>QRImageWidget</name> <message> @@ -1133,6 +1250,10 @@ <translation>Használt OpenSSL verzió</translation> </message> <message> + <source>Using BerkeleyDB version</source> + <translation>Használt BerkeleyDB verzió</translation> + </message> + <message> <source>Startup time</source> <translation>Bekapcsolás ideje</translation> </message> @@ -1169,6 +1290,10 @@ <translation>&Peerek</translation> </message> <message> + <source>Select a peer to view detailed information.</source> + <translation>Peer kijelölése a részletes információkért</translation> + </message> + <message> <source>Version</source> <translation>Verzió</translation> </message> @@ -1181,6 +1306,10 @@ <translation>Szolgáltatások</translation> </message> <message> + <source>Connection Time</source> + <translation>Csatlakozás ideje</translation> + </message> + <message> <source>Last Send</source> <translation>Legutóbbi küldés</translation> </message> @@ -1217,6 +1346,10 @@ <translation>&Hálózati forgalom</translation> </message> <message> + <source>&Clear</source> + <translation>&Törlés</translation> + </message> + <message> <source>Totals</source> <translation>Összesen:</translation> </message> @@ -1265,17 +1398,41 @@ <translation>%1 GB</translation> </message> <message> + <source>via %1</source> + <translation>%1 által</translation> + </message> + <message> <source>never</source> <translation>soha</translation> </message> <message> + <source>Inbound</source> + <translation>Bejövő</translation> + </message> + <message> + <source>Outbound</source> + <translation>Kimenő</translation> + </message> + <message> + <source>Yes</source> + <translation>Igen</translation> + </message> + <message> + <source>No</source> + <translation>Nem</translation> + </message> + <message> <source>Unknown</source> <translation>Ismeretlen</translation> </message> - </context> +</context> <context> <name>ReceiveCoinsDialog</name> <message> + <source>&Amount:</source> + <translation>&Összeg:</translation> + </message> + <message> <source>&Label:</source> <translation>Címke:</translation> </message> @@ -1284,14 +1441,30 @@ <translation>&Üzenet:</translation> </message> <message> + <source>Clear all fields of the form.</source> + <translation>Minden mező törlése</translation> + </message> + <message> <source>Clear</source> <translation>Törlés</translation> </message> <message> + <source>Requested payments history</source> + <translation>A kért kifizetések története</translation> + </message> + <message> + <source>&Request payment</source> + <translation>&Fizetés kérése</translation> + </message> + <message> <source>Show</source> <translation>Mutat</translation> </message> <message> + <source>Remove the selected entries from the list</source> + <translation>A kijelölt elemek törlése a listáról</translation> + </message> + <message> <source>Remove</source> <translation>Eltávolítás</translation> </message> @@ -1327,6 +1500,14 @@ <translation>&Kép mentése</translation> </message> <message> + <source>Request payment to %1</source> + <translation>Fizetés kérése a %1-hez</translation> + </message> + <message> + <source>Payment information</source> + <translation>Kifizetés információ</translation> + </message> + <message> <source>URI</source> <translation>URI:</translation> </message> @@ -1377,7 +1558,15 @@ <source>(no label)</source> <translation>(nincs címke)</translation> </message> - </context> + <message> + <source>(no message)</source> + <translation>(nincs üzenet)</translation> + </message> + <message> + <source>(no amount)</source> + <translation>(nincs összeg)</translation> + </message> +</context> <context> <name>SendCoinsDialog</name> <message> @@ -1389,6 +1578,14 @@ <translation>Bemenetek...</translation> </message> <message> + <source>automatically selected</source> + <translation>automatikusan kiválasztva</translation> + </message> + <message> + <source>Insufficient funds!</source> + <translation>Fedezethiány!</translation> + </message> + <message> <source>Quantity:</source> <translation>Mennyiség:</translation> </message> @@ -1421,10 +1618,26 @@ <translation>Tranzakciós díj</translation> </message> <message> + <source>Choose...</source> + <translation>Válassz...</translation> + </message> + <message> + <source>per kilobyte</source> + <translation>kilobájtonként</translation> + </message> + <message> <source>Hide</source> <translation>Elrejtés</translation> </message> <message> + <source>normal</source> + <translation>normál</translation> + </message> + <message> + <source>fast</source> + <translation>gyors</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Küldés több címzettnek egyszerre</translation> </message> @@ -1433,6 +1646,10 @@ <translation>&Címzett hozzáadása</translation> </message> <message> + <source>Clear all fields of the form.</source> + <translation>Minden mező törlése</translation> + </message> + <message> <source>Dust:</source> <translation>Por-határ:</translation> </message> @@ -1501,6 +1718,14 @@ <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> + <source>Payment request expired.</source> + <translation>A fizetési kérelem lejárt</translation> + </message> + <message> + <source>Warning: Invalid Bitcoin address</source> + <translation>Figyelmeztetés: Érvénytelen Bitcoin cím</translation> + </message> + <message> <source>(no label)</source> <translation>(nincs címke)</translation> </message> @@ -1508,6 +1733,10 @@ <source>Copy dust</source> <translation>Visszajáró másolása</translation> </message> + <message> + <source>Are you sure you want to send?</source> + <translation>Biztos, hogy el akarod küldeni?</translation> + </message> </context> <context> <name>SendCoinsEntry</name> @@ -1529,6 +1758,10 @@ <translation>Címke:</translation> </message> <message> + <source>Choose previously used address</source> + <translation>Válassz egy korábban már használt címet</translation> + </message> + <message> <source>Alt+A</source> <translation>Alt+A</translation> </message> @@ -1541,6 +1774,10 @@ <translation>Alt+P</translation> </message> <message> + <source>Remove this entry</source> + <translation>Ez a bejegyzés eltávolítása</translation> + </message> + <message> <source>Message:</source> <translation>Üzenet:</translation> </message> @@ -1555,7 +1792,11 @@ <source>Bitcoin Core is shutting down...</source> <translation>A Bitcoin Core leáll...</translation> </message> - </context> + <message> + <source>Do not shut down the computer until this window disappears.</source> + <translation>Ne állítsd le a számítógépet amíg ez az ablak el nem tűnik.</translation> + </message> +</context> <context> <name>SignVerifyMessageDialog</name> <message> @@ -1567,6 +1808,10 @@ <translation>Üzenet aláírása...</translation> </message> <message> + <source>Choose previously used address</source> + <translation>Válassz egy korábban már használt címet</translation> + </message> + <message> <source>Alt+A</source> <translation>Alt+A</translation> </message> @@ -2064,11 +2309,6 @@ </translation> </message> <message> - <source>Use the test network</source> - <translation>Teszthálózat használata -</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Kívülről érkező kapcsolatok elfogadása (alapértelmezett: 1, ha nem használt a -proxy vagy a -connect)</translation> </message> @@ -2077,10 +2317,6 @@ <translation>Parancs, amit akkor hajt végre, amikor egy tárca-tranzakció megváltozik (%s a parancsban lecserélődik a blokk TxID-re)</translation> </message> <message> - <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> <source>Connect only to the specified node(s)</source> <translation>Csatlakozás csak a megadott csomóponthoz</translation> </message> @@ -2210,8 +2446,8 @@ <translation>Túl nagy tranzakció</translation> </message> <message> - <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> + <source>UI Options:</source> + <translation>Kezelőfelület beállításai:</translation> </message> <message> <source>Username for JSON-RPC connections</source> @@ -2241,11 +2477,6 @@ </translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>OpenSSL (https) használata JSON-RPC csatalkozásokhoz -</translation> - </message> - <message> <source>This help message</source> <translation>Ez a súgó-üzenet </translation> diff --git a/src/qt/locale/bitcoin_id_ID.ts b/src/qt/locale/bitcoin_id_ID.ts index 6855d11c80..e2caa6d867 100644 --- a/src/qt/locale/bitcoin_id_ID.ts +++ b/src/qt/locale/bitcoin_id_ID.ts @@ -1,4 +1,4 @@ -<TS language="id_ID" version="2.0"> +<TS language="id_ID" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -197,6 +197,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1489,10 +1492,6 @@ <translation>Salin uang kembali</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Jumlah Nilai %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>atau</translation> </message> @@ -2191,10 +2190,6 @@ <translation>Berjalan dibelakang sebagai daemin dan menerima perintah</translation> </message> <message> - <source>Use the test network</source> - <translation>Gunakan jaringan uji</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Terima hubungan dari luar (standar: 1 kalau -proxy atau -connect tidak dipilih)</translation> </message> @@ -2207,10 +2202,6 @@ <translation>Tidak bisa mengikat dengan %s di computer ini. Kemungkinan Bitcoin Core sudah mulai.</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Peringatan: -paytxfee sangat besar! Ini adalah biaya pengiriman yang akan dibayar oleh Anda jika transaksi terkirim.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Peringatan: Jaringan tidak semua bersetuju! Beberapa penambang dapat persoalan.</translation> </message> @@ -2219,10 +2210,6 @@ <translation>Peringatan: Kami tidak bersetujuh dengan peer-peer kami! Kemungkinan Anda harus upgrade, atau node-node lain yang harus diupgrade.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Awas: wallet.dat tidak bisa dibaca! Berhasil periksakan kunci-kunci dalam arsipnya, tetapi ada kemungkinan informasi tentang transaksi atau isi-isi buku alamat salah atau terhilang.</translation> - </message> - <message> <source>(default: 1)</source> <translation>(pengaturan awal: 1)</translation> </message> @@ -2411,10 +2398,6 @@ <translation>Pindai ulang rantai-blok untuk transaksi dompet yang hilang</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Gunakan OpenSSL (https) untuk hubungan JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Pesan bantuan ini</translation> </message> diff --git a/src/qt/locale/bitcoin_it.ts b/src/qt/locale/bitcoin_it.ts index d3cc576979..b613bc888e 100644 --- a/src/qt/locale/bitcoin_it.ts +++ b/src/qt/locale/bitcoin_it.ts @@ -1,4 +1,4 @@ -<TS language="it" version="2.0"> +<TS language="it" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1280,10 +1283,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>La richiesta di pagamento %1 (%2 byte) supera la dimensione massima di %3 byte.</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Protezione DoS per la richiesta di pagamento</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Errore di comunicazione con %1: %2</translation> </message> @@ -1472,14 +1471,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Servizi</translation> </message> <message> - <source>Starting Height</source> - <translation>Nr. Blocco Iniziale</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Nr. Blocco Sincronizzato</translation> - </message> - <message> <source>Ban Score</source> <translation>Punteggio di Ban</translation> </message> @@ -1600,12 +1591,16 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>In uscita</translation> </message> <message> - <source>Unknown</source> - <translation>Sconosciuto</translation> + <source>Yes</source> + <translation>Si</translation> + </message> + <message> + <source>No</source> + <translation>No</translation> </message> <message> - <source>Fetching...</source> - <translation>Recuperando...</translation> + <source>Unknown</source> + <translation>Sconosciuto</translation> </message> </context> <context> @@ -1972,10 +1967,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Copia resto</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Importo Totale %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>o</translation> </message> @@ -2790,12 +2781,12 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Accetta comandi da riga di comando e JSON-RPC</translation> </message> <message> - <source>Run in the background as a daemon and accept commands</source> - <translation>Esegui in background come demone ed accetta i comandi</translation> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Errore: si è presentato un errore interno fatale, consulta il file debug.log per maggiori dettagli</translation> </message> <message> - <source>Use the test network</source> - <translation>Utilizza la rete di prova</translation> + <source>Run in the background as a daemon and accept commands</source> + <translation>Esegui in background come demone ed accetta i comandi</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2818,14 +2809,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Esegue un comando quando lo stato di una transazione del portamonete cambia (%s in cmd è sostituito da TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Commissioni massime totali da includere in una singola transazione dal portamonete. Un'impostazione troppo bassa potrebbe provocare l'annullamento di transazioni di grosse dimensioni (predefinito: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Riduce i requisiti di spazio di archiviazione attraverso la rimozione dei vecchi blocchi (pruning). Questa modalità disabilita le funzionalità di portamonete ed è incompatibile con l'opzione -txindex. Attenzione: il ripristinando questa opzione l'intera blockchain dovrà essere riscaricata. (predefinito: 0 = disabilita il pruning, >%u = dimensione desiderata in MiB per i file dei blocchi)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Imposta il numero di thread per la verifica degli script (da %u a %d, 0 = automatico, <0 = lascia questo numero di core liberi, predefinito: %d)</translation> </message> @@ -2846,10 +2829,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>ATTENZIONE, si consiglia di verificare la connessione di rete: %d blocchi ricevuti nelle ultime %d ore (%d previsti)</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Attenzione: -paytxfee è impostato su un valore molto elevato. Questa è la commissione che si paga quando si invia una transazione.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Attenzione: La rete non sembra trovarsi in pieno consenso! Alcuni minatori sembrano riscontrare problemi.</translation> </message> @@ -2858,10 +2837,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Attenzione: Sembra che non vi sia pieno consenso con i nostri peer! Un aggiornamento da parte tua o degli altri nodi potrebbe essere necessario.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Attenzione: errore di lettura di wallet.dat! Tutte le chiavi sono state lette correttamente, ma i dati delle transazioni o della rubrica potrebbero essere mancanti o non corretti.</translation> - </message> - <message> <source>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>Attenzione: wallet.dat corrotto, dati recuperati! Il wallet.dat originale è stato salvato come wallet.{timestamp}.bak in %s. Se i dati relativi a saldo o transazioni non dovessero risultare corretti si consiglia di procedere al ripristino da un backup.</translation> </message> @@ -2926,10 +2901,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Errore durante l'apertura del database blocchi</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Errore: si è verificato un errore interno fatale. Consulta il file debug.log for maggiori dettagli.</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Errore: la spazio libero sul disco è insufficiente!</translation> </message> @@ -2938,10 +2909,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Nessuna porta disponibile per l'ascolto. Usa -listen=0 se vuoi procedere comunque.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Se <category> non è specificata, mostra tutte le informazioni di debug.</translation> - </message> - <message> <source>Importing...</source> <translation>Importazione...</translation> </message> @@ -3042,18 +3009,10 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Errore: attesa per connessioni in arrivo fallita (errore riportato %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Errore: individuato argomento -socks non supportato. Non è più possibile impostare la versione SOCKS, solamente i proxy SOCKS5 sono supportati.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Esegue un comando in caso di ricezione di un allarme pertinente o se si rileva un fork molto lungo (%s in cmd è sostituito dal messaggio)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Le commissioni (in BTC/kB) inferiori a questo valore sono considerate pari a zero relativamente alla trasmissione (predefinito: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Nel caso in cui paytxfee non sia impostato, include una commissione tale da ottenere un avvio delle conferme entro una media di n blocchi (predefinito: %u)</translation> </message> @@ -3066,10 +3025,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Dimensione massima dei dati in transazioni di trasporto dati che saranno trasmesse ed incluse nei blocchi (predefinito: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>La modalità prune è configurata al di sotto del minimo di %d MB. Si prega di utilizzare un valore più elevato.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Ottiene gli indirizzi dei peer attraverso interrogazioni DNS, in caso di scarsa disponibilità (predefinito: 1 a meno che -connect non sia specificato)</translation> </message> @@ -3094,37 +3049,6 @@ Per specificare più URL separarli con una barra verticale "|".</translation> <translation>Questo prodotto include software sviluppato dal progetto OpenSSL per l'uso del Toolkit OpenSSL <https://www.openssl.org/>, software crittografico scritto da Eric Young e software UPnP scritto da Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Per utilizzare bitcoind o l'opzione -server in Bitcoin Core è necessario specificare una rpcpassword nel file di configurazione: -%s -Si raccomanda di utilizzare la seguente password casuale: -rpcuser=bitcoinrpc -rpcpassword=%s -(non è necessario ricordare questa password) -Il nome utente e la password NON DEVONO corrispondere. -Se il file non esiste si raccomanda di crearlo con permessi di lettura per il solo proprietario. -Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche di eventuali problemi, ad es. alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Attenzione: -maxtxfee è impostato su un valore molto elevato. Tali commissioni potrebbero essere pagate anche in una singola transazione.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Attenzione: Si prega di verificare che data ed ora del computer siano corrette! Una configurazione errata dell'orologio di sistema potrebbe impedire a Bitcoin Core di funzionare regolarmente.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>I peer inclusi in whitelist non possono subire ban per DoS e le loro transazioni saranno sempre trasmesse, anche nel caso in cui si trovino già nel mempool. Ciò è utile ad es. per i gateway</translation> </message> @@ -3145,10 +3069,6 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>Attivazione della blockchain migliore...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Impossibile operare con un portamonete in modalità prune.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Impossibile risolvere indirizzo -whitebind: '%s'</translation> </message> @@ -3165,10 +3085,6 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>Copyright (C) 2009-%i Gli sviluppatori di Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Non è stato possibile riconoscere il valore %s di -rpcbind come indirizzo di rete</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Errore durante il caricamento del file wallet.dat: il portamonete richiede una versione di Bitcoin Core più recente</translation> </message> @@ -3177,14 +3093,6 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>Errore durante lalettura del database. Arresto in corso.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Errore: Rilevato argomento -tor non supportato, utilizzare -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Commissione (in BTC/kB) da aggiungere alle transazioni che invii (predefinito: %s)</translation> - </message> - <message> <source>Information</source> <translation>Informazioni</translation> </message> @@ -3225,18 +3133,10 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>Opzioni trasmissione nodo:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opzioni RPC SSL: (consulta la Bitcoin Wiki per le istruzioni relative alla configurazione SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opzioni server RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Supporto RPC per le connessioni HTTP persistenti (predefinito: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Ricostruzione dell'indice della block chain dai file blk000??.dat correnti all'avvio</translation> </message> @@ -3313,10 +3213,6 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>Impossibile associarsi a %s su questo computer (l'associazione ha restituito l'errore %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Usa UPnP per mappare la porta in ascolto (predefinito: 1 quando in ascolto)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Nome utente per connessioni JSON-RPC</translation> </message> @@ -3329,14 +3225,6 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>Attenzione</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Attenzione: Argomento -benchmark ignorato in quanto non supportato, usare -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Attenzione: Argomento -debugnet ignorato in quanto non supportato, usare -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Eliminazione dal portamonete di tutte le transazioni...</translation> </message> @@ -3365,10 +3253,6 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>Ripete la scansione della block chain per individuare le transazioni che mancano dal portamonete</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Utilizza OpenSSL (https) per le connessioni JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Questo messaggio di aiuto</translation> </message> @@ -3413,10 +3297,6 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>(predefinito: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Cifrari accettabili (predefinito: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Interroga sempre i DNS per ottenere gli indirizzi dei peer (predefinito: %u)</translation> </message> @@ -3477,14 +3357,6 @@ Si raccomanda inoltre di configurare alertnotify in modo da ricevere notifiche d <translation>Trasmette transazioni non-P2SH multisig (predefinito: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>File del certificato del server (predefinito: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Chiave privata del server (predefinito: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Imposta la dimensione del pool di chiavi a <n> (predefinito: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_ja.ts b/src/qt/locale/bitcoin_ja.ts index e2c22f7f6d..5770fe9a02 100644 --- a/src/qt/locale/bitcoin_ja.ts +++ b/src/qt/locale/bitcoin_ja.ts @@ -1,4 +1,4 @@ -<TS language="ja" version="2.0"> +<TS language="ja" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,17 @@ </message> </context> <context> + <name>BanTableModel</name> + <message> + <source>IP/Netmask</source> + <translation>IPアドレス/ネットマスク</translation> + </message> + <message> + <source>Banned Until</source> + <translation>以下の時間までbanする:</translation> + </message> +</context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -340,11 +351,11 @@ </message> <message> <source>&Send</source> - <translation>送る (&S)</translation> + <translation>送金 (&S)</translation> </message> <message> <source>&Receive</source> - <translation>受信 (&R)</translation> + <translation>入金 (&R)</translation> </message> <message> <source>Show information about Bitcoin Core</source> @@ -787,7 +798,7 @@ </message> <message> <source>New receiving address</source> - <translation>新しい受信アドレス</translation> + <translation>新しい入金アドレス</translation> </message> <message> <source>New sending address</source> @@ -795,7 +806,7 @@ </message> <message> <source>Edit receiving address</source> - <translation>受信アドレスを編集</translation> + <translation>入金アドレスを編集</translation> </message> <message> <source>Edit sending address</source> @@ -1069,6 +1080,34 @@ <translation>プロキシのポート番号 (例 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>ピアへ到達するために使われた方法:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>このネットワークタイプ経由で、与えられたデフォルトのSOCKS5プロキシを使用してピアに到達した場合に表示する。</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Tor秘匿サービスを利用するため、独立なSOCKS5プロキシ経由でBitcoinネットワークに接続する</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Tor秘匿サービス経由でピアに到達するため、独立なSOCKS5プロキシを利用する:</translation> + </message> + <message> <source>&Window</source> <translation>ウインドウ (&W)</translation> </message> @@ -1287,10 +1326,6 @@ <translation>支払リクエスト %1 は大きすぎます(%2バイトですが、%3バイトまでが許されています)。</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>支払リクエストDoS保護</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>%1: %2とコミュニケーション・エラーです</translation> </message> @@ -1459,10 +1494,18 @@ <translation>ピア (&P)</translation> </message> <message> + <source>Banned peers</source> + <translation>Banされたピア</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>詳しい情報を見たいピアを選択してください。</translation> </message> <message> + <source>Whitelisted</source> + <translation>ホワイトリスト</translation> + </message> + <message> <source>Direction</source> <translation>方向</translation> </message> @@ -1471,20 +1514,24 @@ <translation>バージョン</translation> </message> <message> - <source>User Agent</source> - <translation>ユーザエージェント</translation> + <source>Starting Block</source> + <translation>開始ブロック</translation> </message> <message> - <source>Services</source> - <translation>サービス</translation> + <source>Synced Headers</source> + <translation>同期済みヘッダ</translation> </message> <message> - <source>Starting Height</source> - <translation>開始時のブロック高</translation> + <source>Synced Blocks</source> + <translation>同期済みブロック</translation> </message> <message> - <source>Sync Height</source> - <translation>同期済みブロック高</translation> + <source>User Agent</source> + <translation>ユーザエージェント</translation> + </message> + <message> + <source>Services</source> + <translation>サービス</translation> </message> <message> <source>Ban Score</source> @@ -1515,6 +1562,14 @@ <translation>Ping時間</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>現在実行中のpingにかかっている時間。</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Ping待ち</translation> + </message> + <message> <source>Time Offset</source> <translation>時間オフセット</translation> </message> @@ -1563,6 +1618,34 @@ <translation>コンソールをクリア</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>ノードを切断する (&D)</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>ノードをbanする:</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1時間 (&H)</translation> + </message> + <message> + <source>1 &day</source> + <translation>1日 (&D)</translation> + </message> + <message> + <source>1 &week</source> + <translation>1週間 (&W)</translation> + </message> + <message> + <source>1 &year</source> + <translation>1年 (&Y)</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>ノードのbanを解除する (&U)</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Bitcoin CoreのRPCコンソールへようこそ。</translation> </message> @@ -1591,6 +1674,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(ノードID: %1)</translation> + </message> + <message> <source>via %1</source> <translation>%1経由</translation> </message> @@ -1607,12 +1694,16 @@ <translation>外向き</translation> </message> <message> - <source>Unknown</source> - <translation>未知</translation> + <source>Yes</source> + <translation>はい</translation> </message> <message> - <source>Fetching...</source> - <translation>取得中……</translation> + <source>No</source> + <translation>いいえ</translation> + </message> + <message> + <source>Unknown</source> + <translation>未知</translation> </message> </context> <context> @@ -1940,7 +2031,7 @@ </message> <message> <source>S&end</source> - <translation>送る (&e)</translation> + <translation>送金 (&E)</translation> </message> <message> <source>Confirm send coins</source> @@ -1979,10 +2070,6 @@ <translation>釣り銭をコピー</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>総送金額 %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>または</translation> </message> @@ -2023,6 +2110,10 @@ <translation>最小手数料 %1 のみを支払う</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>総額 %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>受取アドレスが不正です。再チェックしてください。</translation> </message> @@ -2528,7 +2619,7 @@ </message> <message> <source>Received with</source> - <translation>受信元</translation> + <translation>受け取り</translation> </message> <message> <source>Received from</source> @@ -2801,12 +2892,56 @@ <translation>コマンドラインと JSON-RPC コマンドを許可</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying (default: %s)</source> + <translation>中継の際、この値未満の手数料 (%s/kB単位) はゼロであるとみなす (デフォルト: %s)</translation> + </message> + <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation><category> が与えられなかった場合や <category> = 1 の場合には、すべてのデバッグ情報が出力されます。</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>ひとつのウォレットトランザクションで使用する合計手数料 (%s 単位) の最大値。低すぎる値を指定すると巨大なトランザクションの作成ができなくなります (規定値: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>あなたのPCの日付と時刻が正しいことを確認して下さい! もしあなたの時計が正しくなければBitcoin Coreが正確に動作しません。</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>剪定が最小値の %d MiB以下に設定されています。もっと大きな値を使用してください。</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>剪定: 最後のウォレット同期ポイントは、選定されたデータよりも過去のものとなっています。-reindexをする必要があります (剪定されたノードの場合、ブロックチェイン全体をダウンロードします)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>古いブロックを剪定する (削除する) ことで記憶容量の必要量を削減する。このモードを有効にすると-txindexや-rescanと互換性がなくなります。警告: この設定の再有効化には全ブロックチェインの再ダウンロードが必要となります。(規定値: 0 = ブロックの剪定無効、>%u = ブロックファイルに使用するMiB単位の目標サイズ)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>剪定モードでは再スキャンを行うことはできません。-reindexを指定し、ブロックチェイン全体を再ダウンロードする必要があります。</translation> + </message> + <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>エラー:致命的な内部エラーが発生しました。詳細はdebug.logを参照してください</translation> + </message> + <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>送信するトランザクションに付加する手数料 (%s/kB単位) (初期値: %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>ブロックデータを剪定しています……</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>デーモンとしてバックグランドで実行しコマンドを許可</translation> </message> <message> - <source>Use the test network</source> - <translation>テストのためのネットワークを使用</translation> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>HTTPサーバを開始できませんでした。詳細はデバッグログをご確認ください。</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2829,18 +2964,14 @@ <translation>ウォレットの取引を変更する際にコマンドを実行 (cmd の %s は TxID に置換される)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>ひとつのウォレットトランザクションで使用する合計手数料の最大値。低すぎる値を指定すると巨大なトランザクションの作成ができなくなります (規定値: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>古いブロックを剪定する(削除する)ことで記憶容量の必要量を削減する。このモードを有効にするとウォレット機能のサポートは無効になり、-txindexとも互換性がなくなります。警告: この設定の再有効化には全ブロックチェインの再ダウンロードが必要となります。(規定値: 0 = ブロックの剪定無効、>%u = ブロックファイルに使用するMiB単位の目標サイズ)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>スクリプト検証スレッドを設定 (%uから%dの間, 0 = 自動, <0 = たくさんのコアを自由にしておく, 初期値: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>ブロックのデータベースに未来の時刻のブロックが含まれています。これはおそらくお使いのコンピュータに設定されている日時が間違っていることを示しています。お使いのコンピュータの日時が本当に正しい場合にのみ、ブロックのデータベースの再構築を行ってください。</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>これはリリース前のテストビルドです - 各自の責任で利用すること - 採掘や商取引に使用しないでください</translation> </message> @@ -2849,6 +2980,10 @@ <translation>このコンピュータの %s にバインドすることができません。おそらく Bitcoin Core は既に実行されています。</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>リスン ポートの割当に UPnP を使用 (初期値: リスン中および-proxyが指定されていない場合は1)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>警告:異常に多くの数のブロックが生成されています。%d ブロックが最近 %d 時間以内に受け取られました。(期待値: %d)</translation> </message> @@ -2857,10 +2992,6 @@ <translation>警告:ネットワーク接続を確認してください。%d ブロックが最近 %d 時間以内にに受け取られました。(期待値: %d)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>警告: ネットワークは完全に同意しないみたいです。マイナーは何かの問題を経験してるみたいなんです。</translation> </message> @@ -2869,10 +3000,6 @@ <translation>警告: ピアーと完全に同意しないみたいです!アップグレードは必要かもしれません、それとも他のノードはアップグレードは必要かもしれません。</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>警告: wallet.dat の読み込みエラー! すべてのキーは正しく読み取れますが、取引データやアドレス帳のエントリが失われたか、正しくない可能性があります。</translation> - </message> - <message> <source>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>警告: wallet.dat が壊れたのでデータを復旧しました! オリジナルの wallet.dat は wallet.{timestamp}.bak として %s に保存されました; もしもあなたの残高や取引が正しくないならバックアップから復元してください。</translation> </message> @@ -2885,6 +3012,10 @@ <translation>(デフォルト: 1)</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempoolは最低でも %d MB必要です</translation> + </message> + <message> <source><category> can be:</source> <translation><category>は以下の値を指定できます:</translation> </message> @@ -2922,6 +3053,22 @@ <translation>ブロック データベースを今すぐ再構築しますか?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation><address>に対し、ハッシュブロックの公開を有効にする</translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation><address> に対し、ハッシュトランザクションの公開を有効にする</translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation><address> に対し、生ブロックの公開を有効にする</translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation><address> に対し、生トランザクションの公開を有効にする</translation> + </message> + <message> <source>Error initializing block database</source> <translation>ブロック データベースの初期化中にエラー</translation> </message> @@ -2938,10 +3085,6 @@ <translation>ブロック データベースの開始エラー</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>エラー:致命的な内部エラーが発生しました。詳細はdebug.logを参照してください</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>エラー: ディスク容量不足!</translation> </message> @@ -2950,10 +3093,6 @@ <translation>ポートのリスンに失敗しました。必要であれば -listen=0 を使用してください。</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation><category> が与えられなかった場合には、すべてのデバッグ情報が出力されます。</translation> - </message> - <message> <source>Importing...</source> <translation>インポートしています……</translation> </message> @@ -2966,6 +3105,10 @@ <translation>無効な -onion アドレス:'%s'</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>トランザクションのメモリ・プールの総量を <n> メガバイト以下に維持する (初期値: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>使用可能なファイルディスクリプタが不足しています。</translation> </message> @@ -2994,10 +3137,26 @@ <translation>ウォレットのファイルを指定 (データ・ディレクトリの中に)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>サポートされていない引数 -benchmark は無視されました。-debug=bench を使用してください。</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>サポートされていない引数 -debugnet は無視されました。-debug=net を使用してください。</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>サポートされていない引数 -tor が見つかりました。-onion を使用してください。</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>リッスンポートの割当に UPnP を使用 (初期値: %u)</translation> </message> <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>ユーザエージェントのコメント (%s) には安全でない文字が含まれています。</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>ブロックの検証中...</translation> </message> @@ -3030,10 +3189,6 @@ <translation>指定したアクセス元からのJSON-RPC接続を許可する。有効な<ip>は、単一のIP (例 1.2.3.4)、ネットワーク/ネットマスク (1.2.3.4/255.255.255.0)、またはネットワーク/CIDR (1.2.3.4/24)です。このオプションは複数回指定できます。</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>リッスンする RPC アドレス %s、ポート %u の設定中にエラーが発生しました: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>指定されたアドレスおよび、そこに接続を行ってきたホワイトリストのピアに対してバインドを行います。IPv6の場合には [host]:port 表記を使用してください</translation> </message> @@ -3058,18 +3213,10 @@ <translation>エラー: 内向きの接続をリッスンするのに失敗しました (エラー %s が返却されました)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>エラー: サポートされていない引数 -socks が見つかりました。SOCKSバージョンの設定はできないようになりました。SOCKS5プロキシのみがサポートされています。</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>関連のアラートをもらってもすごく長いのフォークを見てもコマンドを実行 (コマンドの中にあるの%sはメッセージから置き換えさせる)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>中継の際、この値未満の手数料 (BTC/Kb単位) はゼロであるとみなす (デフォルト: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>paytxfee が設定されていなかった場合、平均して n ブロック以内にトランザクションが検証され始めるのに十分な手数料を含める (初期値: %u)</translation> </message> @@ -3082,10 +3229,6 @@ <translation>中継および採掘を行う際の、データ運送トランザクションの中のデータの最大サイズ (初期値: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>剪定が最小値の %d MB以下に設定されています。もっと大きな値を使用してください。</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>保有するピアアドレスが少ない場合、DNS ルックアップによりピアアドレスを問い合わせる (-connect を使っていない場合の初期値: 1)</translation> </message> @@ -3110,38 +3253,6 @@ <translation>この製品はOpenSSLプロジェクトにより開発されたソフトウェアをOpenSSLツールキットとして利用しています <https://www.openssl.org/>。また、Eric Young氏により開発された暗号ソフトウェア、Thomas Bernard氏により書かれたUPnPソフトウェアを用いています。</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>bitcoindを用いる場合や、-server オプションをbitcoin-qtに指定する場合には、設定ファイルにrpcpasswordを設定しなければなりません: -%s -以下のランダムなパスワードを用いることが推奨されます: -rpcuser=bitcoinrpc -rpcpassword=%s -(このパスワードを暗記する必要はありません) -ユーザ名とパスワードは一致してはいけません。 -ファイルが存在しない場合には、所有者のみ読み込み可能なファイルパーミッションでファイルを作成してください。 -またalertnotifyを設定し、問題発生時に通知が行くようにすることをおすすめします; -例: alertnotify=echo %%s | mail -s "Bitcoinアラート" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>警告: -maxtxfee が非常に高く設定されています!ひとつのトランザクションでこの量の手数料が支払われてしまうことがあります。</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>警告: あなたのPCの日付と時刻が正しいことを確認して下さい! もしあなたの時計が正しくなければBitcoin Coreが正確に動作しません。</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>ホワイトリストのピアはDoSによるアクセス禁止処理が無効化され、トランザクションは例えmempool内に既に存在していたとしても常にリレーされます。これは例えばゲートウェイに対して有用です</translation> </message> @@ -3162,10 +3273,6 @@ rpcpassword=%s <translation>最優良のチェインを有効化しています...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>剪定モードではウォレット機能付きで起動できません。</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>-whitebind アドレス '%s' を解決できません</translation> </message> @@ -3182,10 +3289,6 @@ rpcpassword=%s <translation>Copyright (C) 2009-%i Bitcoin Core 開発者</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>-rpcbind の値 %s をネットワークアドレスとして解釈できませんでした</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>wallet.dat の読み込みに失敗しました: ウォレットの読み込みにはより新しいバージョンの Bitcoin Core が必要です</translation> </message> @@ -3194,14 +3297,6 @@ rpcpassword=%s <translation>データベースの読み込みエラー。シャットダウンします。</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>エラー: サポートされていない引数 -tor が見つかりました。-onion を使用してください。</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>送信するトランザクションに付加する手数料 (BTC/kB単位) (初期値: %s)</translation> - </message> - <message> <source>Information</source> <translation>情報</translation> </message> @@ -3242,18 +3337,10 @@ rpcpassword=%s <translation>ノード中継オプション:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL オプション: (SSLのセットアップ手順はビットコインWikiを参照してください)</translation> - </message> - <message> <source>RPC server options:</source> <translation>RPCサーバのオプション:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPCにおけるHTTPの持続的接続のサポート (初期値: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>起動時に現在の blk000??.dat ファイルからブロック チェーンのインデックスを再構築</translation> </message> @@ -3262,6 +3349,10 @@ rpcpassword=%s <translation>P2Pネットワークのアラートの受け取りと表示を行う (デフォルト: %u)</translation> </message> <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>システム上の制約から、-maxconnections を %d から %d に削減しました。</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>トレース/デバッグ情報を debug.log ファイルの代わりにコンソールへ送る</translation> </message> @@ -3330,10 +3421,6 @@ rpcpassword=%s <translation>このコンピュータの %s にバインドすることができません (バインドが返したエラーは %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>リスン ポートの割当に UPnP を使用 (初期値: リスン中は1)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC 接続のユーザー名</translation> </message> @@ -3346,18 +3433,14 @@ rpcpassword=%s <translation>警告</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>警告: サポートされていない引数 -benchmark は無視されました。-debug=bench を使用してください。</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>警告: サポートされていない引数 -debugnet は無視されました。-debug=net を使用してください。</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>ウォレットからすべてのトランザクションを消去しています...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ通知オプション:</translation> + </message> + <message> <source>on startup</source> <translation>起動時</translation> </message> @@ -3382,10 +3465,6 @@ rpcpassword=%s <translation>失ったウォレットの取引のブロック チェーンを再スキャン</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>JSON-RPC 接続に OpenSSL (https) を使用</translation> - </message> - <message> <source>This help message</source> <translation>このヘルプ メッセージ</translation> </message> @@ -3406,6 +3485,22 @@ rpcpassword=%s <translation>(1 = トランザクションのメタデータ、例えばアカウントの所有者や支払リクエストの内容を保持する, 2 = トランザクションのメタデータを破棄する)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>-maxtxfee が非常に高く設定されています!ひとつのトランザクションでこの量の手数料が支払われてしまうことがあります。</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>-paytxfee が非常に高く設定されています! これは取引を送信する場合に支払う取引手数料です。</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>mempool内でトランザクションを <n> 時間以上保持しない (初期値: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>wallet.dat の読み込みエラー! すべてのキーは正しく読み取れますが、取引データやアドレス帳のエントリが失われたか、正しくない可能性があります。</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>-checkblocks のブロックの検証レベル (0-4, 初期値: %u)</translation> </message> @@ -3422,6 +3517,18 @@ rpcpassword=%s <translation>デバッグ情報を出力する (初期値: %u, <category> の指定は任意です)</translation> </message> <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>ネットワークバージョン文字 (%i) の長さが最大の長さ (%i) を超えています。UAコメントの数や長さを削減してください。</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>送信転送量を与えられた目標値以下に維持するようにする (24時間あたり何MiBかで指定)。0 の場合は無制限 (初期値: %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>サポートされていない引数 -socks が見つかりました。SOCKSバージョンの設定はできないようになりました。SOCKS5プロキシのみがサポートされています。</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Tor 秘匿サービスを通し、別々の SOCKS5 プロキシを用いることでピアに到達する (初期値: %s)</translation> </message> @@ -3430,10 +3537,6 @@ rpcpassword=%s <translation>(デフォルト: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>受付可能な暗号化方式 (初期値: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>DNS ルックアップを通してピアアドレスを常に問い合わせる (初期値: %u)</translation> </message> @@ -3494,14 +3597,6 @@ rpcpassword=%s <translation>P2SHでないマルチシグトランザクションをリレーする (初期値: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>サーバ証明書ファイル (初期値: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>サーバの秘密鍵 (初期値: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>key pool のサイズを <n> (初期値: %u) にセット</translation> </message> diff --git a/src/qt/locale/bitcoin_ka.ts b/src/qt/locale/bitcoin_ka.ts index 4c6ce13eff..6e5db78589 100644 --- a/src/qt/locale/bitcoin_ka.ts +++ b/src/qt/locale/bitcoin_ka.ts @@ -1,4 +1,4 @@ -<TS language="ka" version="2.0"> +<TS language="ka" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -201,6 +201,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1493,10 +1496,6 @@ <translation>ხურდის კოპირება</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>ჯამური თანხა %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>ან</translation> </message> @@ -2203,10 +2202,6 @@ <translation>რეზიდენტულად გაშვება და კომანდების მიღება</translation> </message> <message> - <source>Use the test network</source> - <translation>სატესტო ქსელის გამოყენება</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>გარედან შეერთებების დაშვება (ნაგულისხმევი: 1 თუ არ გამოიყენება -proxy ან -connect)</translation> </message> @@ -2223,10 +2218,6 @@ <translation>ეს არის წინასწარი სატესტო ვერსია - გამოიყენეთ საკუთარი რისკით - არ გამოიყენოთ მოპოვებისა ან კომერციული მიზნებისათვის</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>ყურადღება: ქსელში შეუთანხმებლობაა. შესაძლოა ცალკეულ მომპოვებლებს პრობლემები ექმნებათ!</translation> </message> @@ -2235,10 +2226,6 @@ <translation>ყურადღება: ჩვენ არ ვეთანხმებით ყველა პირს. შესაძლოა თქვენ ან სხვა კვანძებს განახლება გჭირდებათ.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>ყურადღება: არ იკითხება wallet.dat! ყველა გასაღები წაკითხულია, მაგრამ გამორჩენილი ან არასწორია ტრანსაქციის თარიღი ან ჩანაწერები მისამართების წიგნში.</translation> - </message> - <message> <source>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>ყურადღება: wallet.dat დაზიანებულია! ორიგინალური wallet.dat შენახულია როგორც wallet.{timestamp}.bak %s-ში; თუ შეამჩნიეთ უზუსტობა ნაშთში ან ტრანსაქციებში, აღადგინეთ არქივიდან.</translation> </message> @@ -2295,10 +2282,6 @@ <translation>ვერ ხერხდება პორტების მიყურადება. თუ გსურთ, გამოიყენეთ -listen=0.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>თუ <category> არ არის მითითებული, ნაჩვენები იქნება სრული დახვეწის ინფორმაცია.</translation> - </message> - <message> <source>Incorrect or no genesis block found. Wrong datadir for network?</source> <translation>საწყისი ბლოკი არ არსებობს ან არასწორია. ქსელის მონაცემთა კატალოგი datadir ხომ არის არასწორი?</translation> </message> @@ -2403,10 +2386,6 @@ <translation>ტრანსაქცია ძალიან დიდია</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>გამოიყენეთ UPnP მისაყურადებელი პორტის გადასამისამართებლად (ნაგულისხმევი: 1 როცა ჩართულია მიყურადება)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>მომხმარებლის სახელი JSON-RPC-შეერთებისათვის</translation> </message> @@ -2439,10 +2418,6 @@ <translation>ბლოკების ჯაჭვის გადამოწმება საფულეში გამორჩენილ ტრანსაქციებზე</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>OpenSSL-ის (https) გამოყენება JSON-RPC-შეერთებებისათვის</translation> - </message> - <message> <source>This help message</source> <translation>ეს ტექსტი</translation> </message> diff --git a/src/qt/locale/bitcoin_kk_KZ.ts b/src/qt/locale/bitcoin_kk_KZ.ts index 5ee9040633..4de8f1b57e 100644 --- a/src/qt/locale/bitcoin_kk_KZ.ts +++ b/src/qt/locale/bitcoin_kk_KZ.ts @@ -1,4 +1,4 @@ -<TS language="kk_KZ" version="2.0"> +<TS language="kk_KZ" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -85,6 +85,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>&Transactions</source> diff --git a/src/qt/locale/bitcoin_ko_KR.ts b/src/qt/locale/bitcoin_ko_KR.ts index 5126e53f8e..653ea40882 100644 --- a/src/qt/locale/bitcoin_ko_KR.ts +++ b/src/qt/locale/bitcoin_ko_KR.ts @@ -1,4 +1,4 @@ -<TS language="ko_KR" version="2.0"> +<TS language="ko_KR" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -209,6 +209,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -344,11 +347,11 @@ </message> <message> <source>Show or hide the main Window</source> - <translation>주 창 보이기 또는 숨기기</translation> + <translation>메인창 보이기 또는 숨기기</translation> </message> <message> <source>Encrypt the private keys that belong to your wallet</source> - <translation>소유 지갑 개인키 암호화</translation> + <translation>지갑에 포함된 개인키 암호화하기</translation> </message> <message> <source>Sign messages with your Bitcoin addresses to prove you own them</source> @@ -396,7 +399,7 @@ </message> <message> <source>Open a bitcoin: URI or payment request</source> - <translation>비트코인: URI 또는 지불요청 열기</translation> + <translation>bitcoin: URI 또는 지불요청 열기</translation> </message> <message> <source>&Command-line options</source> @@ -426,6 +429,10 @@ <source>%1 and %2</source> <translation>%1 그리고 %2</translation> </message> + <message numerus="yes"> + <source>%n year(s)</source> + <translation><numerusform>%n년</numerusform></translation> + </message> <message> <source>%1 behind</source> <translation>%1 뒤에</translation> @@ -459,6 +466,36 @@ <translation>블록 따라잡기...</translation> </message> <message> + <source>Date: %1 +</source> + <translation>날짜: %1 +</translation> + </message> + <message> + <source>Amount: %1 +</source> + <translation>금액: %1 +</translation> + </message> + <message> + <source>Type: %1 +</source> + <translation>종류: %1 +</translation> + </message> + <message> + <source>Label: %1 +</source> + <translation>라벨: %1 +</translation> + </message> + <message> + <source>Address: %1 +</source> + <translation>주소: %1 +</translation> + </message> + <message> <source>Sent transaction</source> <translation>거래 보내기</translation> </message> @@ -498,7 +535,7 @@ </message> <message> <source>Amount:</source> - <translation>거래량:</translation> + <translation>금액:</translation> </message> <message> <source>Priority:</source> @@ -1525,10 +1562,6 @@ <translation>우선도 복사</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>총 액수 %1(=%2)</translation> - </message> - <message> <source>or</source> <translation>또는</translation> </message> @@ -2239,10 +2272,6 @@ <translation>데몬으로 백그라운드에서 실행하고 명령을 허용</translation> </message> <message> - <source>Use the test network</source> - <translation>테스트 네트워크 사용</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>외부 접속을 승인합니다</translation> </message> @@ -2259,10 +2288,6 @@ <translation>이 빌드 버전은 정식 출시 전 테스트의 목적이며, 예기치 않은 위험과 오류가 발생할 수 있습니다. 채굴과 상점용 소프트웨어로 사용하는 것을 권하지 않습니다.</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>경고 : 모든 네트워크가 동의해야 하나, 일부 채굴자들에게 문제가 있는 것으로 보입니다. </translation> </message> @@ -2271,10 +2296,6 @@ <translation>경고: 현재 비트코인 버전이 다른 네트워크 참여자들과 동일하지 않는 것 같습니다. 당신 또는 다른 참여자들이 동일한 비트코인 버전으로 업그레이드 할 필요가 있습니다.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>경고 : wallet.dat 파일을 읽는 중 에러가 발생했습니다. 주소 키는 모두 정확하게 로딩되었으나 거래 데이터와 주소록 필드에서 누락이나 오류가 존재할 수 있습니다. </translation> - </message> - <message> <source>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>경고 : wallet.dat가 손상되어 데이터가 복구되었습니다. 원래의 wallet.dat 파일은 %s 후에 wallet.{timestamp}.bak 이름으로 저장됩니다. 잔액과 거래 내역이 정확하지 않다면 백업 파일로 부터 복원해야 합니다. </translation> </message> @@ -2335,10 +2356,6 @@ <translation>어떤 포트도 반응하지 않습니다. 사용자 반응=0 만약 원한다면</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation><카테고리>가 제공되지 않을 경우, 모든 디버깅 정보를 출력</translation> - </message> - <message> <source>Importing...</source> <translation>들여오기 중...</translation> </message> @@ -2419,10 +2436,6 @@ <translation>최저 거래 수수료가 부족합니다. -mintxfee=<amount>: '%s'</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL 옵션: (비트코인 위키의 SSL 설정 설명서 참고)</translation> - </message> - <message> <source>RPC server options:</source> <translation>RPC 서버 설정</translation> </message> @@ -2471,10 +2484,6 @@ <translation>너무 큰 거래</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>UPnP사용하여 지도에서 포트 반응기다리는 중 (기본값: 1 반응이 생기면)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC 연결에 사용할 사용자 이름</translation> </message> @@ -2511,10 +2520,6 @@ <translation>누락된 지갑 송금에 대한 블록 체인 다시 검색</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>JSON-RPC 연결에 OpenSSL(https) 사용</translation> - </message> - <message> <source>This help message</source> <translation>도움말 메시지입니다</translation> </message> diff --git a/src/qt/locale/bitcoin_ky.ts b/src/qt/locale/bitcoin_ky.ts index 442d7c5d52..495f11b1f4 100644 --- a/src/qt/locale/bitcoin_ky.ts +++ b/src/qt/locale/bitcoin_ky.ts @@ -1,4 +1,4 @@ -<TS language="ky" version="2.0"> +<TS language="ky" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -25,6 +25,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>&Transactions</source> diff --git a/src/qt/locale/bitcoin_la.ts b/src/qt/locale/bitcoin_la.ts index b1a69c9a9e..b1e14fb859 100644 --- a/src/qt/locale/bitcoin_la.ts +++ b/src/qt/locale/bitcoin_la.ts @@ -1,4 +1,4 @@ -<TS language="la" version="2.0"> +<TS language="la" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -157,6 +157,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1387,10 +1390,6 @@ <translation>Operare infere sicut daemon et mandata accipe</translation> </message> <message> - <source>Use the test network</source> - <translation>Utere rete experimentale</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Accipe conexiones externas (praedefinitum: 1 nisi -proxy neque -connect)</translation> </message> @@ -1407,14 +1406,6 @@ <translation>Hoc est prae-dimittum experimentala aedes - utere eo periculo tuo proprio - nolite utere fodendo vel applicationibus mercatoriis</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Monitio: -paytxfee constitutum valde magnum! Hoc est merces transactionis solves si mittis transactionem.</translation> - </message> - <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Monitio: error legendo wallet.dat! Omnes claves recte lectae, sed data transactionum vel libri inscriptionum fortasse desint vel prava sint.</translation> - </message> - <message> <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>Monitio: wallet.data corrupta, data salvata! Originalis wallet.dat salvata ut wallet.{timestamp}.bak in %s; si pendendum tuum vel transactiones pravae sunt, oportet ab conservato restituere.</translation> </message> @@ -1527,10 +1518,6 @@ <translation>Transactio nimis magna</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Utere UPnP designare portam auscultandi (praedefinitum: 1 quando auscultans)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Nomen utentis pro conexionibus JSON-RPC</translation> </message> @@ -1559,10 +1546,6 @@ <translation>Iterum perlege catenam frustorum propter absentes cassidilis transactiones</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Utere OpenSSL (https) pro conexionibus JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Hic nuntius auxilii</translation> </message> diff --git a/src/qt/locale/bitcoin_lt.ts b/src/qt/locale/bitcoin_lt.ts index 4e468911dc..d91c183884 100644 --- a/src/qt/locale/bitcoin_lt.ts +++ b/src/qt/locale/bitcoin_lt.ts @@ -1,4 +1,4 @@ -<TS language="lt" version="2.0"> +<TS language="lt" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -189,6 +189,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1615,14 +1618,6 @@ <translation>Dirbti fone kaip šešėlyje ir priimti komandas</translation> </message> <message> - <source>Use the test network</source> - <translation>Naudoti testavimo tinklą</translation> - </message> - <message> - <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> <source>Connect only to the specified node(s)</source> <translation>Prisijungti tik prie nurodyto mazgo</translation> </message> @@ -1655,10 +1650,6 @@ <translation>Paleisti sumažintą</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Vartotojo vardas JSON-RPC jungimuisi</translation> </message> @@ -1679,10 +1670,6 @@ <translation>Ieškoti prarastų piniginės sandorių blokų grandinėje</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Naudoti OpenSSL (https) jungimuisi JSON-RPC </translation> - </message> - <message> <source>This help message</source> <translation>Pagelbos žinutė</translation> </message> diff --git a/src/qt/locale/bitcoin_lv_LV.ts b/src/qt/locale/bitcoin_lv_LV.ts index 23b846bd49..db2eabaf78 100644 --- a/src/qt/locale/bitcoin_lv_LV.ts +++ b/src/qt/locale/bitcoin_lv_LV.ts @@ -1,4 +1,4 @@ -<TS language="lv_LV" version="2.0"> +<TS language="lv_LV" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -62,6 +62,14 @@ <translation>Saņemšanas adreses</translation> </message> <message> + <source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source> + <translation>Šīs ir jūsu Bitcoin adreses maksājumu sūtīšanai. Vienmēr pārbaudiet summu un saņēmēja adresi pirms monētu sūtīšanas.</translation> + </message> + <message> + <source>These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source> + <translation>Šīs ir jūsu Bitcoin adreses maksājumu saņemšanai. Ir ieteicams katram darījumam izmantot jaunu saņemšanas adresi.</translation> + </message> + <message> <source>Copy &Label</source> <translation>Kopēt &Nosaukumu</translation> </message> @@ -81,7 +89,11 @@ <source>Exporting Failed</source> <translation>Eksportēšana Neizdevās</translation> </message> - </context> + <message> + <source>There was an error trying to save the address list to %1. Please try again.</source> + <translation>Radās kļūda, saglabājot adrešu sarakstu %1. Lūdzu, mēģiniet vēlreiz!</translation> + </message> +</context> <context> <name>AddressTableModel</name> <message> @@ -152,6 +164,14 @@ <translation>Vai tu tiešām vēlies šifrēt savu maciņu?</translation> </message> <message> + <source>Bitcoin Core will close now to finish the encryption process. Remember that encrypting your wallet cannot fully protect your bitcoins from being stolen by malware infecting your computer.</source> + <translation>Bitcoin Core tiks aizvērts, lai pabeigtu šifrēšansa procesu. Atcerieties, ka jūsu maka šifrēšana nevar pilnībā pasargāt jūsu monētas no to nozagašanas, inficējot datoru ar ļaunprātīgām programmām.</translation> + </message> + <message> + <source>IMPORTANT: Any previous backups you have made of your wallet file should be replaced with the newly generated, encrypted wallet file. For security reasons, previous backups of the unencrypted wallet file will become useless as soon as you start using the new, encrypted wallet.</source> + <translation>SVARĪGI: Iepriekšējie maka faila dublējumi ir jāaizvieto ar jauno, šifrēto maka failu. Drošības apsvērumu dēļ iepriekšējie nešifrētā maka dublējumi vairs nebūs derīgi, tiklīdz sāksiet izmantot jauno, šifrēto maku.</translation> + </message> + <message> <source>Warning: The Caps Lock key is on!</source> <translation>Brīdinājums: Caps Lock ir ieslēgts!</translation> </message> @@ -160,6 +180,10 @@ <translation>Maciņš nošifrēts</translation> </message> <message> + <source>Enter the old passphrase and new passphrase to the wallet.</source> + <translation>Ievadiet veco un jauno maka paroli.</translation> + </message> + <message> <source>Wallet encryption failed</source> <translation>Maciņa šifrēšana neizdevās</translation> </message> @@ -189,6 +213,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -775,10 +802,18 @@ <translation>Skriptu &pārbaudes pavedienu skaits</translation> </message> <message> + <source>Allow incoming connections</source> + <translation>Atļaut ienākošos savienojumus</translation> + </message> + <message> <source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source> <translation>Starpniekservera IP adrese (piem. IPv4: 127.0.0.1 / IPv6: ::1)</translation> </message> <message> + <source>Minimize instead of exit the application when the window is closed. When this option is enabled, the application will be closed only after selecting Exit in the menu.</source> + <translation>Minimizēt nevis aizvērt aplikāciju, kad logs tiek aizvērts. Kad šī iespēja ir ieslēgta, aplikācija tiks aizvērta, izvēloties Aizvērt izvēlnē.</translation> + </message> + <message> <source>Third party transaction URLs</source> <translation>Trešo personu transakciju URLs</translation> </message> @@ -945,6 +980,14 @@ <translation>Nederīga maksājuma adrese %1</translation> </message> <message> + <source>Payment request rejected</source> + <translation>Maksājuma pieprasījums noraidīts</translation> + </message> + <message> + <source>Payment request network doesn't match client network.</source> + <translation>Maksājuma pieprasījuma tīkls neatbilst klienta tīklam.</translation> + </message> + <message> <source>Payment request error</source> <translation>Maksājumu pieprasījuma kļūda</translation> </message> @@ -1397,10 +1440,6 @@ <translation>Kopēt atlikumu</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Kopējā Summa %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>vai</translation> </message> @@ -2075,10 +2114,6 @@ <translation>Darbināt fonā kā servisu un pieņemt komandas</translation> </message> <message> - <source>Use the test network</source> - <translation>Izmantot testa tīklu</translation> - </message> - <message> <source>(default: 1)</source> <translation>(noklusējums: 1)</translation> </message> @@ -2115,10 +2150,6 @@ <translation>Kļūda: Zema diska vieta!</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Ja <category> nav norādīta, izvadīt visu atkļūdošanas informāciju.</translation> - </message> - <message> <source>Importing...</source> <translation>Importē...</translation> </message> @@ -2211,10 +2242,6 @@ <translation>Atkārtoti skanēt bloku virkni, meklējot trūkstošās maciņa transakcijas</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>JSON-RPC savienojumiem izmantot OpenSSL (https)</translation> - </message> - <message> <source>This help message</source> <translation>Šis palīdzības paziņojums</translation> </message> diff --git a/src/qt/locale/bitcoin_mn.ts b/src/qt/locale/bitcoin_mn.ts index 73793482d6..a44d3b6fb3 100644 --- a/src/qt/locale/bitcoin_mn.ts +++ b/src/qt/locale/bitcoin_mn.ts @@ -1,4 +1,4 @@ -<TS language="mn" version="2.0"> +<TS language="mn" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -50,6 +50,10 @@ <translation>Зооснуудыг хүлээн авах хаягийг сонгоно уу</translation> </message> <message> + <source>C&hoose</source> + <translation>С&онго</translation> + </message> + <message> <source>Sending addresses</source> <translation>Илгээх хаягууд</translation> </message> @@ -173,6 +177,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -649,10 +656,6 @@ <translation>Ѳѳрчлѳлтийг санах</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Нийт дүн %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>эсвэл</translation> </message> diff --git a/src/qt/locale/bitcoin_ms_MY.ts b/src/qt/locale/bitcoin_ms_MY.ts index 5e10c80aff..8f6676e484 100644 --- a/src/qt/locale/bitcoin_ms_MY.ts +++ b/src/qt/locale/bitcoin_ms_MY.ts @@ -1,4 +1,4 @@ -<TS language="ms_MY" version="2.0"> +<TS language="ms_MY" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -57,6 +57,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>&Options...</source> diff --git a/src/qt/locale/bitcoin_nb.ts b/src/qt/locale/bitcoin_nb.ts index 385f038d46..9f5344ecab 100644 --- a/src/qt/locale/bitcoin_nb.ts +++ b/src/qt/locale/bitcoin_nb.ts @@ -1,4 +1,4 @@ -<TS language="nb" version="2.0"> +<TS language="nb" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,17 @@ </message> </context> <context> + <name>BanTableModel</name> + <message> + <source>IP/Netmask</source> + <translation>IP/Nettmaske</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Utestengt til</translation> + </message> +</context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1069,6 +1080,34 @@ <translation>Proxyens port (f.eks. 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Brukt for å nå noder via:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Viser om angitt SOCKS5 mellomtjener blir brukt for å nå noder via denne nettverkstypen.</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Koble til Bitcoin-nettverket gjennom en separat SOCKS5 mellomtjener for Tor skjulte tjenester.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Bruk separat SOCKS5 mellomtjener for å nå noder via Tor skjulte tjenester:</translation> + </message> + <message> <source>&Window</source> <translation>&Vindu</translation> </message> @@ -1287,10 +1326,6 @@ <translation>Betalingsforespørsel %1 er for stor (%2 bytes, tillatt %3 bytes).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Betalingsforespørsel DoS-beskyttelse</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Feil i kommunikasjonen med %1: %2</translation> </message> @@ -1459,10 +1494,18 @@ <translation>&Noder</translation> </message> <message> + <source>Banned peers</source> + <translation>Utestengte noder</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Velg en node for å vise detaljert informasjon.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Hvitelistet</translation> + </message> + <message> <source>Direction</source> <translation>Retning</translation> </message> @@ -1471,20 +1514,24 @@ <translation>Versjon</translation> </message> <message> - <source>User Agent</source> - <translation>Brukeragent</translation> + <source>Starting Block</source> + <translation>Startblokk</translation> </message> <message> - <source>Services</source> - <translation>Tjenester</translation> + <source>Synced Headers</source> + <translation>Synkroniserte Blokkhoder</translation> </message> <message> - <source>Starting Height</source> - <translation>Starthøyde</translation> + <source>Synced Blocks</source> + <translation>Synkroniserte Blokker</translation> </message> <message> - <source>Sync Height</source> - <translation>Synkroniseringshøyde</translation> + <source>User Agent</source> + <translation>Brukeragent</translation> + </message> + <message> + <source>Services</source> + <translation>Tjenester</translation> </message> <message> <source>Ban Score</source> @@ -1515,6 +1562,14 @@ <translation>Ping-tid</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>Tidsforløp for utestående ping.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Ping Tid</translation> + </message> + <message> <source>Time Offset</source> <translation>Tidsforskyvning</translation> </message> @@ -1563,6 +1618,34 @@ <translation>Tøm konsoll</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Koble fra node</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Steng node ute for</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &time</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &dag</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &uke</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &år</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>Fjern &Utestengning av Node</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Velkommen til Bitcoin Core sin RPC-konsoll.</translation> </message> @@ -1591,6 +1674,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(node id: %1)</translation> + </message> + <message> <source>via %1</source> <translation>via %1</translation> </message> @@ -1607,12 +1694,16 @@ <translation>Utgående</translation> </message> <message> - <source>Unknown</source> - <translation>Ukjent</translation> + <source>Yes</source> + <translation>Ja</translation> + </message> + <message> + <source>No</source> + <translation>Nei</translation> </message> <message> - <source>Fetching...</source> - <translation>Henter …</translation> + <source>Unknown</source> + <translation>Ukjent</translation> </message> </context> <context> @@ -1979,10 +2070,6 @@ <translation>Kopier veksel</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Totalt Beløp %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>eller</translation> </message> @@ -2023,6 +2110,10 @@ <translation>Betal kun minimumsgebyret på %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Totalt Beløp %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Mottakeradressen er ikke gyldig. Vennligst kontroller på nytt.</translation> </message> @@ -2801,12 +2892,52 @@ <translation>Ta imot kommandolinje- og JSON-RPC-kommandoer</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying (default: %s)</source> + <translation>Gebyrer (i %s/kB) mindre enn dette vil anses som gebyrfrie (for videresending) (standard: %s)</translation> + </message> + <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>Hvis <category> ikke er oppgitt eller hvis <category> = 1, ta ut all informasjon for feilsøking.</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Maksimalt samlede gebyrer (i %s) til å bruke i en enkelt lommeboktransaksjon; settes dette for lavt kan store transaksjoner kanskje avbrytes (standardverdi: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Vennligst undersøk at din datamaskin har riktig dato og klokkeslett! Hvis klokken er stilt feil vil ikke Bitcoin Core fungere riktig.</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>Beskjæringsmodus er konfigurert under minimum på %d MiB. Vennligst bruk et høyere nummer.</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>Beskjæring: siste lommeboksynkronisering går utenfor beskjærte data. Du må bruke -reindex (laster ned hele blokkjeden igjen for beskjærte noder)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Reduser lagringsbehovet ved beskjæring (sletting) av gamle blokker. Denne modusen er ikke kompatibel med -txindex og -rescan. Advarsel: Tilbakestilling av denne innstillingen krever at hele blokkjeden må lastes ned på nytt. (Standardverdi: 0 = deaktiver beskjæring av blokker, >%u = mål for størrelse i MiB å bruke for blokkfiler)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>Omsøk er ikke mulig i beskjært modus. Du vil måtte bruke -reindex som vil laste nede hele blokkjeden på nytt.</translation> + </message> + <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Feil: En fatal intern feil oppstod, se debug.log for detaljer</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Beskjærer blokklageret...</translation> + </message> + <message> <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> - <source>Use the test network</source> - <translation>Bruk testnettverket</translation> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Kunne ikke starte HTTP server. Se debug logg for detaljer.</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2829,18 +2960,14 @@ <translation>Kjør kommando når en lommeboktransaksjon endres (%s i kommando er erstattet med TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Maksimalt samlede gebyrer til å bruke i en enkelt lommeboktransaksjon; settes dette for lavt kan store transaksjoner kanskje avbrytes (standardverdi: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Reduser lagringsbehovet ved beskjæring (slette) gamle blokker. Denne modusen deaktiverer støtte for lommebok og er ikke kompatibel med -txindex. Advarsel: Tilbakestilling av denne innstillingen krever at hele blokkjeden må lastes ned på nytt. (Standardverdi: 0 = deaktiver beskjæringsblokker, >%u = mål for størrelse i MiB å bruke for blokkfiler)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Angi antall tråder for skriptverifisering (%u til %d, 0 = auto, <0 = la det antallet kjerner være ledig, standard: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>Blokkdatabasen inneholder en blokk som ser ut til å være fra fremtiden. Dette kan være fordi dato og tid på din datamaskin er satt feil. Gjenopprett kun blokkdatabasen når du er sikker på at dato og tid er satt riktig.</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>Dette er en forhåndssluppet testversjon - bruk på egen risiko - ikke for bruk til blokkutvinning eller bedriftsapplikasjoner</translation> </message> @@ -2849,6 +2976,10 @@ <translation>Ute av stand til å binde til %s på denne datamaskinen. Bitcoin Core kjører sannsynligvis allerede.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Bruk UPnP for lytteport (standardverdi: 1 ved lytting og uten -proxy)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>ADVARSEL: unormalt høyt antall blokker generert, %d blokker mottatt de siste %d timene (%d forventet)</translation> </message> @@ -2857,10 +2988,6 @@ <translation>ADVARSEL: kontroller nettverkstilkoblingen, mottok %d blokker i de siste %d timene (%d forventet)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Advarsel: Nettverket ser ikke ut til å være enig! Noen minere ser ut til å ha problemer.</translation> </message> @@ -2869,10 +2996,6 @@ <translation>Advarsel: Vi ser ikke ut til å være enige med våre noder! Du må oppgradere, eller andre noder må oppgradere.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Advarsel: Feil ved lesing av wallet.dat! Alle nøkler lest riktig, men transaksjonsdataene eller oppføringer i adresseboken mangler kanskje eller er feil.</translation> - </message> - <message> <source>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>Advarsel: wallet.dat korrupt, data reddet! Original wallet.dat lagret som wallet.{timestamp}.bak i %s; hvis din saldo eller dine transaksjoner ikke er korrekte bør du gjenopprette fra en backup.</translation> </message> @@ -2885,6 +3008,10 @@ <translation>(standardverdi: 1)</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool må være minst %d MB</translation> + </message> + <message> <source><category> can be:</source> <translation><category> kan være:</translation> </message> @@ -2921,6 +3048,22 @@ <translation>Ønsker du å gjenopprette blokkdatabasen nå?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Slå på publish hash block i <address></translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Slå på publish hash transaction i <address></translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Slå på publish raw block i <address></translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>Slå på publish raw transaction i <address></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Feil under initialisering av blokkdatabase</translation> </message> @@ -2937,10 +3080,6 @@ <translation>Feil under åpning av blokkdatabase</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Feil: En fatal intern feil oppstod, se debug.log for detaljer</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Feil: Lite ledig lagringsplass!</translation> </message> @@ -2949,10 +3088,6 @@ <translation>Kunne ikke lytte på noen port. Bruk -listen=0 hvis det er dette du vil.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Hvis <category> ikke er oppgitt, ta ut all informasjon om feilsøking.</translation> - </message> - <message> <source>Importing...</source> <translation>Importerer...</translation> </message> @@ -2965,6 +3100,10 @@ <translation>Ugyldig -onion adresse: '%s'</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>Hold transaksjonsminnet under <n> megabytes (standard: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>For få fildeskriptorer tilgjengelig.</translation> </message> @@ -2993,10 +3132,26 @@ <translation>Angi lommebokfil (inne i datamappe)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Ustøttet argument -benchmark ble ignorert, bruk -debug=bench.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Advarsel: Argumentet -debugnet er ikke støttet og ble ignorert, bruk -debug=net.</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>Feil: Argumentet -tor er ikke støttet, bruk -onion.</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>Bruk UPnP for å sette opp lytteport (standardverdi: %u)</translation> </message> <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>User Agent kommentar (%s) inneholder utrygge tegn.</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>Verifiserer blokker...</translation> </message> @@ -3029,10 +3184,6 @@ <translation>Tillat JSON-RPC-tilkoblinger fra angitt kilde. Gyldig for <ip> er en enkelt IP (f. eks. 1.2.3.4), et nettverk/nettmaske (f. eks. 1.2.3.4/255.255.255.0) eller et nettverk/CIDR (f. eks. 1.2.3.4/24). Dette alternativet kan angis flere ganger</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>En feil oppstod under oppsett av RPC-adressen %s port %u for lytting: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Bind til gitt adresse og hvitlist peers som kobler seg til den. Bruk [host]:port notasjon for IPv6</translation> </message> @@ -3057,18 +3208,10 @@ <translation>Feil: Lytting etter innkommende tilkoblinger feilet (lytting returnerte feil %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Feil: Argumentet -socks er ikke støttet. Det er ikke lenger mulig å sette SOCKS-versjon; bare SOCKS5-proxyer er støttet.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Utfør kommando når et relevant varsel er mottatt eller vi ser en veldig lang gaffel (%s i kommando er erstattet med melding)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Gebyrer (i BTC/Kb) mindre enn dette anses som null gebyr for videresending (standardverdi: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Hvis paytxfee ikke er angitt, inkluderer da nok i gebyr til at transaksjoner gjennomsnittligt bekreftes innen n blokker (standardverdi: %u)</translation> </message> @@ -3081,10 +3224,6 @@ <translation>Maksimal størrelse på data i databærende transaksjoner vi videresender og ufører graving på (standardverdi: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Beskjæringsmodus er konfigurert under minimum på %d MB. Vennligst bruk et høyere nummer.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Søk etter nodeadresser via DNS-oppslag, hvis vi har få adresser å koble til (standard: 1 med mindre -connect)</translation> </message> @@ -3109,38 +3248,6 @@ <translation>Dette produktet inneholder programvare utviklet av OpenSSL Project for bruk i OpenSSL Toolkit <https://www.openssl.org/> og kryptografisk programvare skrevet av Eric Young og UPnP-programvare skrevet av Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>For å bruke bitcoind, eller -server valget til bitcoin-qt, må du angi et rpcpassord i konfigurasjonsfilen: -%s -Det anbefales at du bruker det følgende tilfeldige passordet: -rpcuser=bitcoinrpc -rpcpassword=%s -(du behøver ikke å huske passordet) -Brukernavnet og passordet MÅ IKKE være like. -Om filen ikke eksisterer, opprett den med eier-kun-les filrettigheter. -Det er også anbefalt at å sette varselsmelding slik du får melding om problemer; -for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Advarsel: -paytxfee er satt veldig høyt! Så stort gebyr kan bli betalt ved en enkelt transaksjon.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Advarsel: Vennligst undersøk at din datamaskin har riktig dato og klokkeslett! Hvis klokken er stilt feil vil ikke Bitcoin Core fungere riktig.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Hvitlistede noder kan ikke DoS-blokkeres, og deres transaksjoner videresendes alltid, selv om de allerede er i minnelageret. Nyttig f.eks. for en gateway.</translation> </message> @@ -3161,10 +3268,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Aktiverer beste kjede...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Kan ikke kjøre med en lommebok i beskjæringsmodus.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Kan ikke løse -whitebind-adresse: '%s'</translation> </message> @@ -3181,10 +3284,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Copyright (C) 2009-%i utviklerne av Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Kunne ikke tolke -rpcbind-verdi %s som en nettverksadresse</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Feil ved lasting av wallet.dat: Lommeboken krever en nyere versjon av Bitcoin Core</translation> </message> @@ -3193,14 +3292,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Feil ved lesing fra database, stenger ned.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Feil: Argumentet -tor er ikke støttet, bruk -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Gebyr (i BTC/kB) for å legge til i transaksjoner du sender (standardverdi: %s)</translation> - </message> - <message> <source>Information</source> <translation>Informasjon</translation> </message> @@ -3241,18 +3332,10 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Node alternativer for videresending:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL-valg: (se Bitcoin Wiki for oppsettsinstruksjoner for SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Innstillinger for RPC-server:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPC-støtte for persistente HTTP-forbindelser (standardverdi: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Gjenopprett blokkjedeindeks fra gjeldende blk000??.dat filer ved oppstart</translation> </message> @@ -3261,6 +3344,10 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Motta og vis P2P nettverksvarsler (standardvalg: %u)</translation> </message> <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>Reduserer -maxconnections fra %d til %d, pga. systembegrensninger.</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Send spor-/feilsøkingsinformasjon til konsollen istedenfor filen debug.log</translation> </message> @@ -3329,10 +3416,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Kan ikke binde til %s på denne datamaskinen (binding returnerte feilen %s)</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Brukernavn for JSON-RPC forbindelser</translation> </message> @@ -3345,18 +3428,14 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Advarsel</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Advarsel: Argumentet -benchmark er ikke støttet og ble ignorert, bruk -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Advarsel: Argumentet -debugnet er ikke støttet og ble ignorert, bruk -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Zapper alle transaksjoner fra lommeboken...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>Valg for ZeroMQ-meldinger:</translation> + </message> + <message> <source>on startup</source> <translation>ved oppstart</translation> </message> @@ -3381,10 +3460,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Se gjennom blokkjeden etter manglende lommeboktransaksjoner</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Bruk OpenSSL (https) for JSON-RPC forbindelser</translation> - </message> - <message> <source>This help message</source> <translation>Denne hjelpemeldingen</translation> </message> @@ -3405,6 +3480,22 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(1 = behold metadata for transaksjon som f. eks. kontoeier og informasjon om betalingsanmodning, 2 = dropp metadata for transaksjon)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>-maxtxfee er satt veldig høyt! Så stort gebyr kan bli betalt ved en enkelt transaksjon.</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>-paytxfee er satt veldig høyt! Dette er transaksjonsgebyret du betaler når du sender transaksjoner.</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Ikke hold transaksjoner i minnet lenger enn <n> timer (standard: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>Feil ved lesing av wallet.dat! Alle nøkler lest riktig, men transaksjonsdataene eller oppføringer i adresseboken mangler kanskje eller er feil.</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Hvor grundig blokkverifiseringen til -checkblocks er (0-4, standardverdi: %u)</translation> </message> @@ -3421,6 +3512,18 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Ta ut feilsøkingsinformasjon (standardverdi: %u, bruk av <category> er valgfritt)</translation> </message> <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>Total lengde av nettverks-versionstreng (%i) er over maks lengde (%i). Reduser tallet eller størrelsen av uacomments.</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Prøv å holde utgående trafikk under angitt mål (i MB per 24t), 0 = ingen grense (standard: %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>Argumentet -socks er ikke støttet. Det er ikke lenger mulig å sette SOCKS-versjon; bare SOCKS5-proxyer er støttet.</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Bruk separate SOCKS5 proxyer for å nå noder via Tor skjulte tjenester (standardverdi: %s)</translation> </message> @@ -3429,10 +3532,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(standardverdi: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Akseptable sifre (standardverdi: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Alltid søk etter nodeadresser via DNS-oppslag (standardverdi: %u)</translation> </message> @@ -3493,14 +3592,6 @@ for eksempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Videresend ikke-P2SH multisig (standardverdi: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Fil for tjenersertifikat (standardverdi: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Privat nøkkel for tjener (standardverdi: %s) </translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Angi størrelse på nøkkel-lager til <n> (standardverdi: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_nl.ts b/src/qt/locale/bitcoin_nl.ts index 7999e263e4..cbb1dc0fe3 100644 --- a/src/qt/locale/bitcoin_nl.ts +++ b/src/qt/locale/bitcoin_nl.ts @@ -1,4 +1,4 @@ -<TS language="nl" version="2.0"> +<TS language="nl" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1287,10 +1290,6 @@ <translation>Betalingsverzoek %1 is te groot (%2 bytes, toegestaan %3 bytes).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Betalingsaanvraag DoS bescherming</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Fout bij communiceren met %1: %2</translation> </message> @@ -1475,14 +1474,6 @@ <translation>Services</translation> </message> <message> - <source>Starting Height</source> - <translation>Aanvangshoogte</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Synchronisatiehoogte</translation> - </message> - <message> <source>Ban Score</source> <translation>Ban score</translation> </message> @@ -1599,12 +1590,16 @@ <translation>Uitgaand</translation> </message> <message> - <source>Unknown</source> - <translation>Onbekend</translation> + <source>Yes</source> + <translation>Ja</translation> </message> <message> - <source>Fetching...</source> - <translation>Ophalen...</translation> + <source>No</source> + <translation>Nee</translation> + </message> + <message> + <source>Unknown</source> + <translation>Onbekend</translation> </message> </context> <context> @@ -1971,10 +1966,6 @@ <translation>Kopieer wijziging</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Totaal bedrag %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>of</translation> </message> @@ -2086,6 +2077,14 @@ <translation>Verwijder deze toevoeging</translation> </message> <message> + <source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source> + <translation>De vergoeding zal worden afgetrokken van het bedrag dat verzonden wordt. De ontvangers zullen minder bitcoins ontvangen dan ingevoerd is in het hoeveelheids veld. Als er meerdere ontvangers geselecteerd zijn, dan wordt de vergoeding gelijk verdeeld.</translation> + </message> + <message> + <source>S&ubtract fee from amount</source> + <translation>Trek de vergoeding af van het bedrag.</translation> + </message> + <message> <source>Message:</source> <translation>Bericht:</translation> </message> @@ -2192,6 +2191,10 @@ <translation>&Verifiëer Bericht</translation> </message> <message> + <source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source> + <translation>Voer het adres van de ontvanger in, bericht (zorg ervoor dat de regeleinden, spaties, tabs etc. precies kloppen) en onderteken onderaan om het bericht te verifiëren. Wees voorzicht om niet meer in de ondertekening te lezen dan in het getekende bericht zelf, om te voorkomen dat je wordt aangevallen met een man-in-the-middle attack. Houd er mee rekening dat dit alleen de ondertekende partij bewijst met het ontvangen adres, er kan niet bewezen worden dat er een transactie heeft plaatsgevonden!</translation> + </message> + <message> <source>The Bitcoin address the message was signed with</source> <translation>Het Bitcoin adres waarmee het bericht ondertekend is</translation> </message> @@ -2769,12 +2772,12 @@ <translation>Aanvaard commandoregel- en JSON-RPC-commando's</translation> </message> <message> - <source>Run in the background as a daemon and accept commands</source> - <translation>Draai in de achtergrond als daemon en aanvaard commando's</translation> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Fout: er is een fout opgetreden, zie debug.log voor details</translation> </message> <message> - <source>Use the test network</source> - <translation>Gebruik het testnetwerk</translation> + <source>Run in the background as a daemon and accept commands</source> + <translation>Draai in de achtergrond als daemon en aanvaard commando's</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2813,10 +2816,6 @@ <translation>WAARSCHUWING: controleer uw netwerkverbinding, %d blokken ontvangen in de laatste %d uren (%d verwacht)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Waarschuwing: Het lijkt erop dat het netwerk geen consensus kan vinden! Sommige delvers lijken problemen te ondervinden.</translation> </message> @@ -2825,10 +2824,6 @@ <translation>Waarschuwing: Het lijkt erop dat we geen consensus kunnen vinden met onze peers! Mogelijk dient u te upgraden, of andere nodes moeten wellicht upgraden.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Waarschuwing: Fout bij het lezen van wallet.dat! Alle sleutels zijn in goede orde uitgelezen, maar transactiedata of adresboeklemma's zouden kunnen ontbreken of fouten bevatten.</translation> - </message> - <message> <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>Waarschuwing: wallet.dat is corrupt, data is veiliggesteld! Originele wallet.dat is opgeslagen als wallet.{tijdstip}.bak in %s; als uw balans of transacties incorrect zijn dient u een backup terug te zetten.</translation> </message> @@ -2893,10 +2888,6 @@ <translation>Fout bij openen blokkendatabase</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Fout: Een fatale interne fout is opgetreden, zie debug.log voor details</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Fout: Weinig vrije diskruimte!</translation> </message> @@ -2905,10 +2896,6 @@ <translation>Mislukt om op welke poort dan ook te luisteren. Gebruik -listen=0 as u dit wilt.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Als er geen <category> is opgegeven, laat dan alle debugging informatie zien.</translation> - </message> - <message> <source>Importing...</source> <translation>Importeren...</translation> </message> @@ -2977,10 +2964,6 @@ <translation>Sta JSON-RPC verbindingen toe vanuit een gespecificeerde bron. Geldig voor <ip> zijn een enkel IP (bijv. 1.2.3.4), een netwerk/netmask (bijv. 1.2.3.4/255.255.255.0) of een netwerk/CIDR (bijv. 1.2.3.4/24). Deze optie kan meerdere keren gespecificeerd worden.</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Er is een fout opgetreden tijdens het opzetten van het RPC adres %s poort %u voor luisteren: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Bind aan opgegeven adres en keur peers die ermee verbinden goed. Gebruik [host]:poort notatie voor IPv6</translation> </message> @@ -3001,18 +2984,10 @@ <translation>Fout: luisteren naar binnenkomende verbindingen mislukt (luisteren gaf foutmelding %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Fout: er is een niet-ondersteund argument -socks aangetroffen. Het instellen van de SOCKS-versie is niet langer mogelijk. Alleen SOCKS5-proxy's worden ondersteund.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Voer commando uit zodra een waarschuwing is ontvangen of wanneer we een erg lange fork detecteren (%s in commando wordt vervangen door bericht)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Toeslagen (in BTC/Kb) kleiner dan dit worden beschouwd als geen vergoeding (voor doorgeven) (standaard: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Als paytxfee niet is ingesteld, het pakket voldoende vergoeding zodat transacties beginnen bevestiging gemiddeld binnen in blokken (default: %u)</translation> </message> @@ -3046,37 +3021,6 @@ <translation>Dit product bevat software dat ontwikkeld is door het OpenSSL Project voor gebruik in de OpenSSL Toolkit <https://www.openssl.org/> en cryptografische software geschreven door Eric Young en UPnP software geschreven door Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Om bitcoind of de -server optie naar bitcoin-gt te gebruiken, dient u een rpcwachtwoord in te stellen in het configuratiebestand: - %s -Wij raden u aan om het volgende wachtwoord willekeurig te gebruiken: -rpcuser=bitcoinrpc -rpcpassword=%s -(u hoeft dit wachtwoord niet te onthouden) -De gebruikersnaam en het wachtwoorden moeten NIET hetzelfde zijn. -Indien het bestand niet bestaat, maak het bestand aan met bestandsrechten: alleen lezen voor eigenaar. -Het is ook aan te raden om een alarmnotificatie in te stellen, zodat u op de hoogte bent van de problemen; -Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Let op: -maxtxfee is erg hoog ingesteld! Transactiekosten van dergelijke groottes kunnen in een enkele transactie worden betaald.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Waarschuwing: Controleer dat de datum en tijd van uw computer correct zijn ingesteld! Bij een onjuist ingestelde klok zal Bitcoin Core niet goed werken.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Goedgekeurde peers kunnen niet ge-DoS-banned worden en hun transacties worden altijd doorgestuurd, zelfs als ze reeds in de mempool aanwezig zijn, nuttig voor bijv. een gateway</translation> </message> @@ -3109,10 +3053,6 @@ Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</transla <translation>Auteursrecht (C) 2009-%i De Bitcoin Core Ontwikkelaars</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Niet mogelijk om -rpcbind waarde %s te verwerken als netwerk adres</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Fout bij laden wallet.dat: Portemonnee vereist een nieuwere versie van Bitcoin Core</translation> </message> @@ -3121,14 +3061,6 @@ Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</transla <translation>Fout bij het lezen van de database, afsluiten. </translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Fout: Niet ondersteund argument -tor gevonden, gebruik -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Transactiekosten (in BTC/kB) om toe te voegen aan transacties die u verstuurd (standaard: %s)</translation> - </message> - <message> <source>Information</source> <translation>Informatie</translation> </message> @@ -3169,18 +3101,10 @@ Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</transla <translation>Node relay opties:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL opties: (zie de Bitcoin Wiki voor SSL installatie-instructies)</translation> - </message> - <message> <source>RPC server options:</source> <translation>RPC server opties:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPC ondersteuning voor HTTP persisten verbindingen (default: %d)</translation> - </message> - <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Stuur trace/debug-info naar de console in plaats van het debug.log bestand</translation> </message> @@ -3249,10 +3173,6 @@ Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</transla <translation>Niet in staat om aan %s te binden op deze computer (bind gaf error %s)</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Gebruikersnaam voor JSON-RPC-verbindingen</translation> </message> @@ -3265,14 +3185,6 @@ Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</transla <translation>Waarschuwing</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Waarschuwing: Niet ondersteund argument -benchmark genegeerd, gebruik -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Waarschuwing: Niet ondersteund argument -debugnet genegeerd, gebruik -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Bezig met het zappen van alle transacties van de portemonnee...</translation> </message> @@ -3301,10 +3213,6 @@ Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</transla <translation>Doorzoek de blokketen op ontbrekende portemonnee-transacties</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Gebruik OpenSSL (https) voor JSON-RPC-verbindingen</translation> - </message> - <message> <source>This help message</source> <translation>Dit helpbericht</translation> </message> @@ -3345,10 +3253,6 @@ Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</transla <translation>Gebruik een aparte SOCKS5 proxy om 'Tor hidden services' te bereiken (standaard: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Geaccepteerde versleutelingen (standaard: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Vind anderen door middel van een DNS-naslag (standaard: %u)</translation> </message> @@ -3409,14 +3313,6 @@ Voorbeeld: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com</transla <translation>Relay non-P2SH multisig (default: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Certificaat-bestand voor server (standaard: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Geheime sleutel voor server (standaard: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Stel sleutelpoelgrootte in op <&> (standaard: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_pam.ts b/src/qt/locale/bitcoin_pam.ts index 4939dff4b0..f5e74261f0 100644 --- a/src/qt/locale/bitcoin_pam.ts +++ b/src/qt/locale/bitcoin_pam.ts @@ -1,4 +1,4 @@ -<TS language="pam" version="2.0"> +<TS language="pam" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -189,6 +189,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1327,18 +1330,10 @@ <translation>Gumana king gulut bilang daemon at tumanggap commands</translation> </message> <message> - <source>Use the test network</source> - <translation>Gamitan ing test network</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Tumanggap koneksion menibat king kilwal (default: 1 if no -proxy or -connect)</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Kapabaluan: Sobra ya katas ing makalage king -paytxfee. Ini ing maging bayad mu para king bayad na ning transaksion istung pepadala me ing transaksion a ini.</translation> - </message> - <message> <source>Block creation options:</source> <translation>Pipamilian king pamag-gawang block:</translation> </message> @@ -1419,10 +1414,6 @@ <translation>I-scan pasibayu ing block chain para kareng mauaualang transaksion</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Gumamit OpenSSL(https) para king JSON-RPC koneksion</translation> - </message> - <message> <source>This help message</source> <translation>Ining saup a mensayi</translation> </message> diff --git a/src/qt/locale/bitcoin_pl.ts b/src/qt/locale/bitcoin_pl.ts index 5bc7df0aca..ed828539ee 100644 --- a/src/qt/locale/bitcoin_pl.ts +++ b/src/qt/locale/bitcoin_pl.ts @@ -1,4 +1,4 @@ -<TS language="pl" version="2.0"> +<TS language="pl" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1283,10 +1286,6 @@ <translation>Żądanie płatności %1 jest zbyt duże (%2 bajtów, dozwolone %3 bajtów).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Zabezpieczenie żądania płatności przed atakiem DoS</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Błąd komunikacji z %1 : %2</translation> </message> @@ -1475,14 +1474,6 @@ <translation>Usługi</translation> </message> <message> - <source>Starting Height</source> - <translation>Początkowa wysokość</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Zsynchronizowana wysokość</translation> - </message> - <message> <source>Ban Score</source> <translation>Punkty karne</translation> </message> @@ -1606,10 +1597,6 @@ <source>Unknown</source> <translation>Nieznany</translation> </message> - <message> - <source>Fetching...</source> - <translation>Pobieram...</translation> - </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -1971,10 +1958,6 @@ <translation>Skopiuj resztę</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Łączna kwota %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>lub</translation> </message> @@ -2015,6 +1998,10 @@ <translation>Płac tylko minimalna opłatę %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Całkowita kwota %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Adres odbiorcy jest nieprawidłowy, proszę sprawić ponownie.</translation> </message> @@ -2789,12 +2776,16 @@ <translation>Akceptuj linię poleceń oraz polecenia JSON-RPC</translation> </message> <message> - <source>Run in the background as a daemon and accept commands</source> - <translation>Uruchom w tle jako daemon i przyjmuj polecenia</translation> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Błąd: Wystąpił fatalny błąd wewnętrzny, sprawdź szczegóły w debug.log</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Przycinanie zapisu bloków...</translation> </message> <message> - <source>Use the test network</source> - <translation>Użyj sieci testowej</translation> + <source>Run in the background as a daemon and accept commands</source> + <translation>Uruchom w tle jako daemon i przyjmuj polecenia</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2829,8 +2820,12 @@ <translation>Nie można przywiązać z portem %s na tym komputerze. Bitcoin Core prawdopodobnie już działa.</translation> </message> <message> - <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że! Jest to prowizja za transakcje, którą płacisz, gdy wysyłasz monety.</translation> + <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> + <translation>UWAGA: nienaturalnie duża liczba wygenerowanych bloków, %d bloków otrzymano w ostatnich %d godzinach (%d oczekiwanych)</translation> + </message> + <message> + <source>WARNING: check your network connection, %d blocks received in the last %d hours (%d expected)</source> + <translation>UWAGA: sprawdź swoje połączenie sieciowe, %d bloków otrzymano w ostatnich %d godzinach (%d oczekiwanych)</translation> </message> <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> @@ -2841,10 +2836,6 @@ <translation>Uwaga: Wygląda na to, że nie ma pełnej zgodności z naszymi peerami! Możliwe, że potrzebujesz aktualizacji bądź inne węzły jej potrzebują</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Ostrzeżenie: błąd odczytu wallet.dat! Wszystkie klucze zostały odczytane, ale może brakować pewnych danych transakcji lub wpisów w książce adresowej lub mogą one być nieprawidłowe.</translation> - </message> - <message> <source>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>Ostrzeżenie: Odtworzono dane z uszkodzonego pliku wallet.dat! Oryginalny wallet.dat został zapisany jako wallet.{timestamp}.bak w %s; jeśli twoje saldo lub transakcje są niepoprawne powinieneś odtworzyć kopię zapasową.</translation> </message> @@ -2909,10 +2900,6 @@ <translation>Błąd otwierania bazy bloków</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Błąd: Wystąpił krytyczny błąd wewnętrzny, sprawdź w debug.log</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Błąd: Mało miejsca na dysku!</translation> </message> @@ -2921,10 +2908,6 @@ <translation>Próba nasłuchiwania na jakimkolwiek porcie nie powiodła się. Użyj -listen=0 jeśli tego chcesz.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Jeżeli <category> nie zostanie określona, wyświetl wszystkie informacje debugowania.</translation> - </message> - <message> <source>Importing...</source> <translation>Importowanie…</translation> </message> @@ -2945,6 +2928,10 @@ <translation>Łącz z węzłami tylko w sieci <net> (ipv4, piv6 lub onion)</translation> </message> <message> + <source>Prune cannot be configured with a negative value.</source> + <translation>Przycinanie nie może być skonfigurowane z negatywną wartością.</translation> + </message> + <message> <source>Prune mode is incompatible with -txindex.</source> <translation>Tryb ograniczony jest niekompatybilny z -txindex.</translation> </message> @@ -2997,10 +2984,6 @@ <translation>Pozwól na połączenia JSON-RPC z podanego źródła. Jako <ip> prawidłowe jest pojedyncze IP (np. 1.2.3.4), podsieć/maska (np. 1.2.3.4/255.255.255.0) lub sieć/CIDR (np. 1.2.3.4/24). Opcja ta może być użyta wiele razy.</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Napotkano błąd podczas ustawiania adres RPC %s port %u dla nasłuchiwania: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Podepnij się do podanego adresu i dodawaj do białej listy węzły łączące się z nim. Użyj notacji [host]:port dla IPv6</translation> </message> @@ -3017,22 +3000,18 @@ <translation>Twórz nowe pliki z domyślnymi dla systemu uprawnieniami, zamiast umask 077 (skuteczne tylko przy wyłączonej funkcjonalności portfela)</translation> </message> <message> - <source>Error: Listening for incoming connections failed (listen returned error %s)</source> - <translation>Błąd: Nasłuchiwanie połączeń przychodzących nie powiodło się (nasłuch zwrócił błąd %s)</translation> + <source>Discover own IP addresses (default: 1 when listening and no -externalip or -proxy)</source> + <translation>Odkryj własny adres IP (domyślnie: 1 kiedy w trybie nasłuchu i brak -externalip lub -proxy)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Błąd: Znaleziono niewspierany argument -socks . Ustawienie wersji SOCKS nie jest już możliwe, tylko serwery proxy SOCKS5 są wspierane.</translation> + <source>Error: Listening for incoming connections failed (listen returned error %s)</source> + <translation>Błąd: Nasłuchiwanie połączeń przychodzących nie powiodło się (nasłuch zwrócił błąd %s)</translation> </message> <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Uruchom polecenie przy otrzymaniu odpowiedniego powiadomienia lub gdy zobaczymy naprawdę długie rozgałęzienie (%s w poleceniu jest podstawiane za komunikat)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Opłaty (w BTC/Kb) mniejsze niż ta będą traktowane jako bez opłaty przy propagowaniu (domyślnie: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Jeżeli nie ustawiono paytxfee, dołącz wystarczająca opłatę, aby transakcja mogła zostać zatwierdzona w ciągu średniej ilości n bloków (domyślnie: %u)</translation> </message> @@ -3065,38 +3044,6 @@ <translation>Program ten zawiera oprogramowanie stworzone przez OpenSSL Project do użycia w OpensSSL Toolkit <https://www.openssl.org/>, oprogramowanie kryptograficzne napisane przez Eric Young oraz oprogramowanie UPnP napisane przez Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Aby korzystać z bitcoind, lub opcji -server w bitcoin-qt, musisz ustawić opcję rpcpassword w pliku konfiguracyjnym: -%s -Zalecane jest użycie poniższego losowego hasła: -rpcuser=bitcoinrpc -rpcpassword=%s -(nie musisz pamiętać tego hasła) -Nazwa użytkownika i hasło NIE MOGĄ być takie same. -Jeżeli ten plik nie istnieje, utwórz go z uprawnieniami tylko-do-odczytu przez właściciela. -Zalecane jest także ustawienie opcji alertnotify, dzięki której będziesz powiadamiany o problemach; -na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Ostrzeżenie: -matxfee jest ustawione bardzo wysokie! Tak wysokie opłaty mogą być zapłacone w jednej transakcji.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Ostrzeżenie: Proszę sprawdzić czy data i czas na Twoim komputerze są poprawne! Jeżeli ustawienia zegara będą złe, Bitcoin Core nie będzie działał prawidłowo.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Węzły z białej listy nie mogą zostać zbanowane za ataki DoS, a ich transakcje będą zawsze przekazywane, nawet jeżeli będą znajdywać się już w pamięci, przydatne np. dla bramek płatniczych</translation> </message> @@ -3113,10 +3060,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>Aktywuje najlepszy łańcuch</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Nie można uruchomić z portfela w trybie ograniczonym.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Nie można rozwiązać adresu -whitebind: '%s'</translation> </message> @@ -3133,10 +3076,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>Copyright (C) 2009-%i The Bitcoin Core Developers</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Nie można przetworzyć wartości -rpcbind %s jako adresu sieciowego</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Błąd ładowania wallet.dat: Portfel wymaga nowszej wersji Bitcoin Core</translation> </message> @@ -3145,14 +3084,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>Błąd odczytu z bazy danych, wyłączam się.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Błąd: Znaleziono nieprawidłowy argument -tor, użyj -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Prowizja (w BTC za kB) dodawana do wysyłanej transakcji (domyślnie: %s)</translation> - </message> - <message> <source>Information</source> <translation>Informacja</translation> </message> @@ -3189,18 +3120,10 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>Opcje przekaźnikowe węzła:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opcje RPC SSL: (odwiedź Bitcoin Wiki w celu uzyskania instrukcji)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opcje serwera RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Wsparcie RPC dla ciągłych połączeń HTTP (domyślnie: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Odbuduj indeks łańcucha bloków z obecnych plików blk000??.dat podczas ponownego uruchomienia</translation> </message> @@ -3277,10 +3200,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>Nie można przywiązać do %s na tym komputerze (bind zwrócił błąd %s)</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Nazwa użytkownika dla połączeń JSON-RPC</translation> </message> @@ -3293,14 +3212,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>Ostrzeżenie</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Uwaga: Zignorowano nieprawidłowy argument -benchmark, użyj -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Uwaga: Zignorowano nieprawidłowy argument -debugnet , użyj -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Usuwam wszystkie transakcje z portfela...</translation> </message> @@ -3329,10 +3240,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>Przeskanuj łańcuch bloków w poszukiwaniu zaginionych transakcji portfela</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Użyj OpenSSL (https) do połączeń JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Ta wiadomość pomocy</translation> </message> @@ -3377,10 +3284,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>(domyślnie: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Akceptowane szyfry (domyślne: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Zawsze wypytuj o adresy węzłów poprzez podejrzenie DNS (domyślnie: %u)</translation> </message> @@ -3441,14 +3344,6 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo.com <translation>Przekazuj transakcje multisig inne niż P2SH (domyślnie: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Plik certyfikatu serwera (domyślnie: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Klucz prywatny serwera (domyślnie: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Ustaw rozmiar puli kluczy na <n> (domyślnie: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_pt_BR.ts b/src/qt/locale/bitcoin_pt_BR.ts index cd2a5a6323..da28365de0 100644 --- a/src/qt/locale/bitcoin_pt_BR.ts +++ b/src/qt/locale/bitcoin_pt_BR.ts @@ -1,4 +1,4 @@ -<TS language="pt_BR" version="2.0"> +<TS language="pt_BR" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -67,7 +67,7 @@ </message> <message> <source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source> - <translation>Esses são seus endereços Bitcoin para enviar pagamentos. Certifique-se sempre da quantia e do destinatário antes de enviar moedas.</translation> + <translation>Esses são seus endereços Bitcoin para enviar pagamentos. Confira sempre a quantia e o destinatário antes de enviar moedas.</translation> </message> <message> <source>These are your Bitcoin addresses for receiving payments. It is recommended to use a new receiving address for each transaction.</source> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1227,6 +1230,10 @@ <translation>Solicitação de pagamento rejeitada</translation> </message> <message> + <source>Payment request network doesn't match client network.</source> + <translation>Rede de pedido de pagamento não corresponde rede do cliente.</translation> + </message> + <message> <source>Payment request is not initialized.</source> <translation>Pedido de pagamento não é inicializado.</translation> </message> @@ -1247,10 +1254,18 @@ <translation>URL de cobrança é inválida: %1</translation> </message> <message> + <source>URI cannot be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source> + <translation>URI não pode ser analisado ! Isto pode ser causado por um endereço Bitcoin inválido ou parâmetros URI informados incorretamente.</translation> + </message> + <message> <source>Payment request file handling</source> <translation>Manipulação de arquivo de cobrança</translation> </message> <message> + <source>Payment request file cannot be read! This can be caused by an invalid payment request file.</source> + <translation>Arquivo de pedido de pagamento não pode ser lido ! Isto pode ser causado por uma requisição de pagamento inválida.</translation> + </message> + <message> <source>Payment request expired.</source> <translation>Pedido de pagamento expirado.</translation> </message> @@ -1271,10 +1286,6 @@ <translation>Pedido de pagamento %1 é muito grande (%2 bytes, permitido %3 bytes).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Pagamento requer proteção DoS</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Erro na comunicação com %1: %2</translation> </message> @@ -1463,14 +1474,6 @@ <translation>Serviços</translation> </message> <message> - <source>Starting Height</source> - <translation>Altura inicial</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Altura sincronizada</translation> - </message> - <message> <source>Ban Score</source> <translation>Banir pontuação</translation> </message> @@ -1587,12 +1590,16 @@ <translation>Saída</translation> </message> <message> - <source>Unknown</source> - <translation>Desconhecido</translation> + <source>Yes</source> + <translation>Sim</translation> </message> <message> - <source>Fetching...</source> - <translation>Buscando...</translation> + <source>No</source> + <translation>Não</translation> + </message> + <message> + <source>Unknown</source> + <translation>Desconhecido</translation> </message> </context> <context> @@ -1816,7 +1823,7 @@ </message> <message> <source>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</source> - <translation>Se isso estiver ativo e o endereço de troco estiver vazio ou inválido, o troco será enviado a um novo endereço gerado na hora.</translation> + <translation>Se essa opção for ativada e o endereço de troco estiver vazio ou inválido, o troco será enviado a um novo endereço gerado na hora.</translation> </message> <message> <source>Custom change address</source> @@ -1959,10 +1966,6 @@ <translation>Copia alteração</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Quantidade Total %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>ou</translation> </message> @@ -2083,7 +2086,7 @@ </message> <message> <source>The fee will be deducted from the amount being sent. The recipient will receive less bitcoins than you enter in the amount field. If multiple recipients are selected, the fee is split equally.</source> - <translation>A taxa será deduzida da quantia sendo enviada. O beneficiario receberá menos bitcoins do que você colocou no campo de quantidade. Se varios beneficiarios estão selecionados, a taxa é dividida igualmente.</translation> + <translation>A taxa será deduzida da quantia sendo enviada. O destinatário receberá menos bitcoins do que você colocou no campo de quantidade. Se varios destinatários estão selecionados, a taxa é dividida igualmente.</translation> </message> <message> <source>S&ubtract fee from amount</source> @@ -2122,7 +2125,7 @@ <name>ShutdownWindow</name> <message> <source>Bitcoin Core is shutting down...</source> - <translation>Bitcoin está desligando...</translation> + <translation>Bitcoin está sendo encerrado...</translation> </message> <message> <source>Do not shut down the computer until this window disappears.</source> @@ -2140,6 +2143,10 @@ <translation>&Assinar mensagem</translation> </message> <message> + <source>You can sign messages/agreements with your addresses to prove you can receive bitcoins sent to them. Be careful not to sign anything vague or random, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source> + <translation>Você pode assinar mensagens com seus endereços para provar que você pode receber bitcoins enviados por alguém. Cuidado para não assinar nada vago ou aleatório, pois ataques phishing podem tentar te enganar para assinar coisas para eles como se fosse você. Somente assine termos bem detalhados que você concorde.</translation> + </message> + <message> <source>The Bitcoin address to sign the message with</source> <translation>O enderesso Bitcoin que assinará a mensagem</translation> </message> @@ -2192,6 +2199,10 @@ <translation>&Verificar mensagem</translation> </message> <message> + <source>Enter the receiver's address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack. Note that this only proves the signing party receives with the address, it cannot prove sendership of any transaction!</source> + <translation>Coloque o endereço do destinatário, a mensagem (certifique-se de copiar toda a mensagem, incluindo quebras de linha, espaços, tabulações, etc.) e a assinatura embaixo para verificar a mensagem. Cuidado para não ler mais da assinatura do que está assinado na mensagem, para evitar ser enganado pelo ataque man-in-the-middle. Note que isso somente prova a propriedade de um endereço, e não o remetende de qualquer transação.</translation> + </message> + <message> <source>The Bitcoin address the message was signed with</source> <translation>O enderesso Bitcoin que assionou a mesnagem</translation> </message> @@ -2769,12 +2780,12 @@ <translation>Aceitar linha de comando e comandos JSON-RPC</translation> </message> <message> - <source>Run in the background as a daemon and accept commands</source> - <translation>Rodar em segundo plano como serviço e aceitar comandos</translation> + <source>Pruning blockstore...</source> + <translation>Prunando os blocos existentes...</translation> </message> <message> - <source>Use the test network</source> - <translation>Usar rede de teste</translation> + <source>Run in the background as a daemon and accept commands</source> + <translation>Rodar em segundo plano como serviço e aceitar comandos</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2797,10 +2808,6 @@ <translation>Executa um comando quando uma transação da carteira mudar (%s no comando será substituído por TxID)</translation> </message> <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Reduz o armazenamento requerido prunando (apagando) blocos antigos. Este modo desativa o suporte a carteira e é incompatível com -txindex. Aviso: Reverter essa opção requer re-baixar o blockchain inteiro. (padrão: 0 = disativado, >%u = Tamanho em mega para os arquivos de bloco)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Define o número de threads de verificação de script (%u a %d, 0 = automático, <0 = número de cores deixados livres, padrão: %d)</translation> </message> @@ -2813,8 +2820,8 @@ <translation>Impossível ouvir em %s neste computador. Provavelmente o Bitcoin já está sendo executado.</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Atenção: valor de -paytxfee escolhido é muito alto! Este é o valor da taxa de transação que você irá pagar se enviar a transação.</translation> + <source>WARNING: check your network connection, %d blocks received in the last %d hours (%d expected)</source> + <translation>ATENÇÃO: verifique sua conexão %d blocos recebidos nas últimas %d horas (%d tempo estimado)</translation> </message> <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> @@ -2825,10 +2832,6 @@ <translation>Atenção: Nós não parecemos concordar plenamente com nossos colegas! Você pode precisar atualizar ou outros nós podem precisar atualizar.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Atenção: erro ao ler arquivo wallet.dat! Todas as chaves foram lidas corretamente, mas dados de transações e do catálogo de endereços podem estar faltando ou incorretos.</translation> - </message> - <message> <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>Atenção: wallet.dat corrompido, dados recuperados! Arquivo wallet.dat original salvo como wallet.{timestamp}.bak em %s; se seu saldo ou transações estiverem incorretos, você deve restaurar o backup.</translation> </message> @@ -2893,10 +2896,6 @@ <translation>Erro ao abrir banco de dados de blocos</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Erro: Um erro interno fatal ocorreu, ver o debug.log para detalhes</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Erro: Espaço em disco insuficiente!</translation> </message> @@ -2905,10 +2904,6 @@ <translation>Falha ao escutar em qualquer porta. Use -listen=0 se você quiser isso.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Se <category> não for informada, registrar toda informação de depuração.</translation> - </message> - <message> <source>Importing...</source> <translation>Importando...</translation> </message> @@ -2985,10 +2980,6 @@ <translation>Permitir conexões JSON-RPC de uma fonte específica. Válido para um único ip (ex. 1.2.3.4), até uma rede/máscara (ex. 1.2.3.4/255.255.255.0) ou uma rede/CIDR (ex. 1.2.3.4/24). Esta opção pode ser usada múltiplas vezes</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Um erro ocorreu enquanto configurando o endereço RPC %s porta %u para escuta: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Vincular ao endereço fornecido e sempre escutar nele. Use a notação [host]:port para IPv6</translation> </message> @@ -3009,40 +3000,12 @@ <translation>Executa um comando quando um alerta relevante é recebido ou vemos uma longa segregação (%s em cmd é substituído pela mensagem)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Taxas (em BTC/Kb) menores do que este valor são consideradas inexistentes para divulgação (padrão: %s)</translation> - </message> - <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Prunagem configurada abaixo do mínimo de %d MB. Use um número maior.</translation> - </message> - <message> <source>Set maximum size of high-priority/low-fee transactions in bytes (default: %d)</source> <translation>Define o tamanho máximo de alta-prioridade por taxa baixa nas transações em bytes (padrão: %d)</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Para usar o bitcoind, ou a opção -server do bitcoin-qt, você deve definir rpcpassword no arquivo de configuração: -%s -É recomendado que use a seguinte senha randômica: -rpcuser=bitcoinrpc -rpcpassword=%s -(você não precisa lembrar esta senha) -O usuário e senha NÃO DEVEM ser os mesmos. -Se o arquivo não existir, crie com permissão de proprietário criador somente. -É também recomendado definir a opção alertnotify se deseja ser notificado de problemas; -por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br -</translation> + <source>The transaction amount is too small to send after the fee has been deducted</source> + <translation>A quantia da transação é muito pequena para mandar </translation> </message> <message> <source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source> @@ -3073,10 +3036,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br <translation>Copyright (C) 2009-%i Desenvolvedores Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Impossível interpretar o valor -rpcbind %s como um endereço da rede</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Erro ao carregar wallet.dat: A carteira requer a nova versão do Bitcoin</translation> </message> @@ -3085,14 +3044,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br <translation>Erro ao ler o banco de dados. Finalizando.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Erro: Argumento não suportado -tor, use -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Taxa (em BTC/kB) a adicionar nas transações que você envia (padrão: %s)</translation> - </message> - <message> <source>Information</source> <translation>Informação</translation> </message> @@ -3125,14 +3076,14 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br <translation>Opções de relé nó :</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opções RPC SSL: (veja o Bitcoin Wiki para instruções de configuração SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opções do servidor RPC:</translation> </message> <message> + <source>Receive and display P2P network alerts (default: %u)</source> + <translation>Receba e mostre P2P alerta de rede (default: %u)</translation> + </message> + <message> <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> @@ -3169,6 +3120,10 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br <translation>Inicializar minimizado</translation> </message> <message> + <source>The transaction amount is too small to pay the fee</source> + <translation>A quantidade da transação é pequena demais para pagar a taxa</translation> + </message> + <message> <source>This is experimental software.</source> <translation>Este é um software experimental.</translation> </message> @@ -3197,10 +3152,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br <translation>Impossível se ligar a %s neste computador (bind retornou erro %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Usar UPnP para mapear porta de escuta (padrão: 1 quando estiver escutando)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Nome de usuário para conexões JSON-RPC</translation> </message> @@ -3241,10 +3192,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br <translation>Re-escanear blocos procurando por transações perdidas da carteira</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Usar OpenSSL (https) para conexões JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Exibe esta mensagem de ajuda</translation> </message> @@ -3265,10 +3212,6 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br <translation>(padrão: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Cífras aceitas (padrão: %s)</translation> - </message> - <message> <source>Error loading wallet.dat</source> <translation>Erro ao carregar wallet.dat</translation> </message> @@ -3301,18 +3244,14 @@ por exemplo: alertnotify=echo %%s | mail -s "Alerta do Bitcoin" admin@foo.com.br <translation>Retransmitir P2SH não multisig (default: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Arquivo de certificado do servidor (padrão: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Chave privada do servidor (padrão: %s)</translation> - </message> - <message> <source>Set minimum block size in bytes (default: %u)</source> <translation>Definir tamanho mínimo do bloco, em bytes (padrão: %u)</translation> </message> <message> + <source>Set the number of threads to service RPC calls (default: %d)</source> + <translation>Defina o número de threads para chamadas do serviço RPC (padrão: %d)</translation> + </message> + <message> <source>Specify configuration file (default: %s)</source> <translation>Especificar arquivo de configuração (padrão: %s)</translation> </message> diff --git a/src/qt/locale/bitcoin_pt_PT.ts b/src/qt/locale/bitcoin_pt_PT.ts index 7ac0a4fa5c..8d1d364935 100644 --- a/src/qt/locale/bitcoin_pt_PT.ts +++ b/src/qt/locale/bitcoin_pt_PT.ts @@ -1,4 +1,4 @@ -<TS language="pt_PT" version="2.0"> +<TS language="pt_PT" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1288,10 +1291,6 @@ <translation>Pedido de pagamento %1 excede o tamanho (%2 bytes, permitido %3 bytes).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Pedido de pagamento proteção DdS</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Erro ao comunicar com %1: %2</translation> </message> @@ -1476,14 +1475,6 @@ <translation>Serviços</translation> </message> <message> - <source>Starting Height</source> - <translation>Iniciando Altura</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Sincronização da Altura</translation> - </message> - <message> <source>Ban Score</source> <translation>Resultado da Suspensão</translation> </message> @@ -1603,10 +1594,6 @@ <source>Unknown</source> <translation>Desconhecido</translation> </message> - <message> - <source>Fetching...</source> - <translation>Em busca...</translation> - </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -1972,10 +1959,6 @@ <translation>Copiar alteração</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Quantia Total %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>ou</translation> </message> @@ -2754,10 +2737,6 @@ <translation>Correr o processo em segundo plano e aceitar comandos</translation> </message> <message> - <source>Use the test network</source> - <translation>Utilizar a rede de testes</translation> - </message> - <message> <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> @@ -2790,10 +2769,6 @@ <translation>Incapaz de vincular à porta %s neste computador. O Bitcoin Core provavelmente já está a correr.</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Aviso: A rede não parece estar completamente de acordo! Parece que alguns mineiros estão com dificuldades técnicas.</translation> </message> @@ -2802,10 +2777,6 @@ <translation>Atenção: Parecemos não estar de acordo com os nossos pares! Poderá ter que atualizar o seu cliente, ou outros nós poderão ter que atualizar os seus clientes.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Atenção: erro ao ler wallet.dat! Todas as chaves foram lidas correctamente, mas dados de transação ou do livro de endereços podem estar em falta ou incorrectos.</translation> - </message> - <message> <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>Atenção: wallet.dat corrompido, dados recuperados! wallet.dat original salvo como wallet.{timestamp}.bak em %s; se o seu saldo ou transações estiverem incorrectos deverá recuperar uma cópia de segurança.</translation> </message> @@ -2870,10 +2841,6 @@ <translation>Erro ao abrir a base de dados de blocos</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Erro: Um erro fatal interno ocorreu, verificar debug.log para mais informação</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Erro: Pouco espaço em disco!</translation> </message> @@ -2882,10 +2849,6 @@ <translation>Falhou a escutar em qualquer porta. Use -listen=0 se quiser isto.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Se uma <categoria> não é fornecida, imprimir toda a informação de depuração.</translation> - </message> - <message> <source>Importing...</source> <translation>A importar...</translation> </message> @@ -2954,14 +2917,14 @@ <translation>Permitir conexções JSON-RPC de fontes especificas. Valido para <ip> um unico IP (ex. 1.2.3.4), uma rede/netmask (ex. 1.2.3.4/255.255.255.0) ou uma rede/CIDR (ex. 1.2.3.4/24). Esta opção pode ser especificada varias vezes</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Um erro ocorreu durante a definição do endereço RPC %s porto %u para escutar: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Vincualar o endereço dado e listar as ligações conectadas ao mesmo na lista branca. Use a notação [anfitrião]:porta para IPv6</translation> </message> <message> + <source>Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces)</source> + <translation>Vinculado para dar o endereço para atender as ligações JSON-RPC. Use [host]: Notação de porta para IPv6. Esta opção pode ser especificada várias vezes (padrão: ligam-se a todas as interfaces)</translation> + </message> + <message> <source>Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running.</source> <translation>Impossível trancar a pasta de dados %s. Provavelmente o Bitcoin Core já está a ser executado.</translation> </message> @@ -2974,10 +2937,6 @@ <translation>Definir tamanho máximo de transações com alta-prioridade/baixa-taxa em bytes (por defeito: %d)</translation> </message> <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>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 Core não irá funcionar correctamente.</translation> - </message> - <message> <source>(default: %u)</source> <translation>(por defeito: %u)</translation> </message> @@ -3046,10 +3005,6 @@ <translation>Transação grande demais</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Nome de utilizador para ligações JSON-RPC</translation> </message> @@ -3086,10 +3041,6 @@ <translation>Procurar transações em falta na cadeia de blocos</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Usar OpenSSL (https) para ligações JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Esta mensagem de ajuda</translation> </message> @@ -3138,14 +3089,6 @@ <translation>Adicionar data e hora à informação de depuração (por defeito: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Ficheiro de certificado do servidor (por defeito: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Chave privada do servidor (por defeito: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Definir o tamanho da memória de chaves para <n> (por defeito: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_ro_RO.ts b/src/qt/locale/bitcoin_ro_RO.ts index be24668536..7617150829 100644 --- a/src/qt/locale/bitcoin_ro_RO.ts +++ b/src/qt/locale/bitcoin_ro_RO.ts @@ -1,4 +1,4 @@ -<TS language="ro_RO" version="2.0"> +<TS language="ro_RO" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1271,10 +1274,6 @@ <translation>Cererea de plată %1 este prea mare (%2 octeţi, permis %3 octeţi).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Protecţie DoS cerere de plată</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Eroare la comunicarea cu %1: %2</translation> </message> @@ -1570,10 +1569,6 @@ <source>Unknown</source> <translation>Necunoscut</translation> </message> - <message> - <source>Fetching...</source> - <translation>Preluare...</translation> - </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -1919,10 +1914,6 @@ <translation>Copiază rest</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Suma totală %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>sau</translation> </message> @@ -2697,10 +2688,6 @@ <translation>Rulează în fundal ca un demon şi acceptă comenzi</translation> </message> <message> - <source>Use the test network</source> - <translation>Utilizează reţeaua de test</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Acceptă conexiuni din afară (implicit: 1 dacă nu se foloseşte -proxy sau -connect)</translation> </message> @@ -2729,10 +2716,6 @@ <translation>Nu se poate lega la %s pe acest calculator. Nucleul Bitcoin probabil deja rulează.</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Atenţie: setarea -paytxfee este foarte mare! Aceasta este taxa tranzacţiei pe care o veţi plăti dacă trimiteţi o tranzacţie.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Atenţie: Reţeaua nu pare să fie de acord în totalitate! Aparent nişte mineri au probleme.</translation> </message> @@ -2741,10 +2724,6 @@ <translation>Atenţie: Aparent, nu sîntem de acord cu toţi partenerii noştri! Va trebui să faceţi o actualizare, sau alte noduri necesită actualizare.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Atenţie: eroare la citirea fişierului wallet.dat! Toate cheile sînt citite corect, dar datele tranzactiei sau anumite intrări din agenda sînt incorecte sau lipsesc.</translation> - </message> - <message> <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>Atenţie: fişierul wallet.dat este corupt, date salvate! Fişierul original wallet.dat a fost salvat ca wallet.{timestamp}.bak in %s; dacă balansul sau tranzactiile sînt incorecte ar trebui să restauraţi dintr-o copie de siguranţă.</translation> </message> @@ -2813,10 +2792,6 @@ <translation>Nu s-a reuşit ascultarea pe orice port. Folosiţi -listen=0 dacă vreţi asta.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Dacă <category> nu este furnizat, produce toate informaţiile de depanare.</translation> - </message> - <message> <source>Importing...</source> <translation>Import...</translation> </message> @@ -2881,10 +2856,6 @@ <translation>Permite conexiunile JSON-RPC din sursa specificată. Valid pentru <ip> sînt IP singulare (ex. 1.2.3.4), o reţea/mască-reţea (ex. 1.2.3.4/255.255.255.0) sau o reţea/CIDR (ex. 1.2.3.4/24). Această opţiune poate fi specificată de mai multe ori</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>A apărut o eroare la setarea adresei RPC %s portul %u pentru ascultare: %s</translation> - </message> - <message> <source>Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running.</source> <translation>Nu se poate obţine blocarea folderului cu date %s. Nucleul Bitcoin probabil deja rulează.</translation> </message> @@ -2921,14 +2892,6 @@ <translation>Eroare la citirea bazei de date. Oprire.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Eroare: Argument nesuportat -tor găsit, folosiţi -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Taxa (în BTC/kB) de adăugat la tranzacţiile pe care le trimiteţi(implicit: %s)</translation> - </message> - <message> <source>Information</source> <translation>Informaţie</translation> </message> @@ -2961,18 +2924,10 @@ <translation>Trebuie să specificaţi un port cu -whitebind: '%s'</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Opţiuni RPC SSL: (vedeţi Wiki Bitcoin pentru intrucţiunile de setare SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Opţiuni server RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPC suportă pentru HTTP conexiuni persistente (implicit: %d)</translation> - </message> - <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Trimite informaţiile trace/debug la consolă în locul fişierului debug.log</translation> </message> @@ -3033,10 +2988,6 @@ <translation>Nu se poate lega la %s pe acest calculator. (Legarea a întors eroarea %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Foloseşte UPnP pentru a vedea porturile (implicit: 1 cînd ascultă)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Utilizator pentru conexiunile JSON-RPC</translation> </message> @@ -3049,14 +3000,6 @@ <translation>Avertisment</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Avertisment: Argument nesuportat -benchmark ignorat, folosiţi -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Avertisment: Argument nesuportat -debugnet ignorat, folosiţi -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Şterge toate tranzacţiile din portofel...</translation> </message> @@ -3085,10 +3028,6 @@ <translation>Rescanează lanţul de bloc pentru tranzacţiile portofel lipsă</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Foloseşte OpenSSL (https) pentru conexiunile JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Acest mesaj de ajutor</translation> </message> @@ -3113,10 +3052,6 @@ <translation>(implicit: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Cifruri acceptabile (implicit: %s)</translation> - </message> - <message> <source>Error loading wallet.dat</source> <translation>Eroare la încărcarea wallet.dat</translation> </message> @@ -3133,14 +3068,6 @@ <translation>Adresa -proxy nevalidă: '%s'</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Fişierul certificat al serverului (implicit: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Cheia privată a serverului (implicit: %s)</translation> - </message> - <message> <source>Set minimum block size in bytes (default: %u)</source> <translation>Setare mărime minimă bloc în octeţi (implicit: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_ru.ts b/src/qt/locale/bitcoin_ru.ts index 004208d345..d4f37479ee 100644 --- a/src/qt/locale/bitcoin_ru.ts +++ b/src/qt/locale/bitcoin_ru.ts @@ -1,4 +1,4 @@ -<TS language="ru" version="2.0"> +<TS language="ru" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -217,6 +217,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -426,6 +429,10 @@ <source>Processed %n block(s) of transaction history.</source> <translation><numerusform>Обработан %n блок истории транзакций.</numerusform><numerusform>Обработано %n блока истории транзакций.</numerusform><numerusform>Обработано %n блоков истории транзакций.</numerusform><numerusform>Обработано %n блоков истории транзакций.</numerusform></translation> </message> + <message numerus="yes"> + <source>%n hour(s)</source> + <translation><numerusform>%n час</numerusform><numerusform>%n часа</numerusform><numerusform>%n часов</numerusform><numerusform>%n часов</numerusform></translation> + </message> <message> <source>%1 and %2</source> <translation>%1 и %2</translation> @@ -1255,10 +1262,6 @@ <translation>Запрос платежа %1 слишком большой (%2 байтов, разрешено %3 байтов).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>DoS-защита запроса платежа</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Ошибка связи с %1: %2</translation> </message> @@ -1447,14 +1450,6 @@ <translation>Сервисы</translation> </message> <message> - <source>Starting Height</source> - <translation>Начальная высота</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Высота синхронизации</translation> - </message> - <message> <source>Ban Score</source> <translation>Очков бана</translation> </message> @@ -1575,12 +1570,16 @@ <translation>Исходящие</translation> </message> <message> - <source>Unknown</source> - <translation>Неизвестно</translation> + <source>Yes</source> + <translation>Да</translation> </message> <message> - <source>Fetching...</source> - <translation>Получение...</translation> + <source>No</source> + <translation>Нет</translation> + </message> + <message> + <source>Unknown</source> + <translation>Неизвестно</translation> </message> </context> <context> @@ -1947,10 +1946,6 @@ <translation>Копировать размен</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Общая сумма %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>или</translation> </message> @@ -1983,6 +1978,10 @@ <translation>Запрос платежа просрочен.</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Всего %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Адрес получателя неверный. Пожалуйста, перепроверьте.</translation> </message> @@ -2741,12 +2740,16 @@ <translation>Принимать командную строку и команды JSON-RPC</translation> </message> <message> - <source>Run in the background as a daemon and accept commands</source> - <translation>Запускаться в фоне как демон и принимать команды</translation> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Ошибка: произошла неустранимая ошибка, подробности в debug.log</translation> </message> <message> - <source>Use the test network</source> - <translation>Использовать тестовую сеть</translation> + <source>Pruning blockstore...</source> + <translation>Очистка хранилища блоков...</translation> + </message> + <message> + <source>Run in the background as a daemon and accept commands</source> + <translation>Запускаться в фоне как демон и принимать команды</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2769,14 +2772,6 @@ <translation>Выполнить команду, когда меняется транзакция в бумажнике (%s в команде заменяется на TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Максимальная сумма комиссий для одной транзакции в бумажнике; слишком низкое значение может вызвать прерывание больших транзакций (по умолчанию: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Уменьшить размер хранилища за счёт удаления (обрезания) старых блоков. Этот режим отключает поддержку бумажника и несовместим с -txindex. Внимание: переключение этой опции обратно потребует полной загрузки цепи блоков. (по умолчанию: 0 = отключить удаление блоков, >%u = целевой размер в Мб для файлов блоков)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Задать число потоков проверки скрипта (от %u до %d, 0=авто, <0 = оставить столько ядер свободными, по умолчанию: %d)</translation> </message> @@ -2797,10 +2792,6 @@ <translation>ВНИМАНИЕ: проверьте сетевое подключение, получено %d блоков за последние %d часов (ожидалось %d)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Внимание: похоже, в сети нет полного согласия! Некоторый майнеры, возможно, испытывают проблемы.</translation> </message> @@ -2809,10 +2800,6 @@ <translation>Внимание: мы не полностью согласны с подключенными участниками! Вам или другим участникам, возможно, следует обновиться.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Внимание: ошибка чтения wallet.dat! Все ключи прочитаны верно, но данные транзакций или записи адресной книги могут отсутствовать или быть неправильными.</translation> - </message> - <message> <source>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>Внимание: wallet.dat повреждён, данные спасены! Оригинальный wallet.dat сохранён как wallet.{timestamp}.bak в %s; если ваш баланс или транзакции некорректны, вы должны восстановить файл из резервной копии.</translation> </message> @@ -2877,10 +2864,6 @@ <translation>Не удалось открыть БД блоков</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Ошибка: произошла неустранимая ошибка, детали в debug.log</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Ошибка: мало места на диске!</translation> </message> @@ -2889,10 +2872,6 @@ <translation>Не удалось начать прослушивание на порту. Используйте -listen=0 если вас это устраивает.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Если <category> не предоставлена, выводить всю отладочную информацию.</translation> - </message> - <message> <source>Importing...</source> <translation>Импорт ...</translation> </message> @@ -2969,10 +2948,6 @@ <translation>Разрешить подключения JSON-RPC с указанного источника. Разрешённые значения для <ip> — отдельный IP (например, 1.2.3.4), сеть/маска сети (например, 1.2.3.4/255.255.255.0) или сеть/CIDR (например, 1.2.3.4/24). Эту опцию можно использовать многократно</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Произошла ошибка в процессе открытия RPC адреса %s порта %u для прослушивания: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Привязаться к указанному адресу и внести в белый список подключающихся к нему участников. Используйте [хост]:порт для IPv6</translation> </message> @@ -2997,18 +2972,10 @@ <translation>Ошибка: не удалось начать прослушивание входящих подключений (прослушивание вернуло ошибку %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Ошибка: обнаружен неподдерживаемый аргумент -socks. Выбор версии SOCKS более невозможен, поддерживаются только прокси SOCKS5.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Выполнить команду, когда приходит соответствующее сообщение о тревоге или наблюдается очень длинное расщепление цепи (%s в команде заменяется на сообщение)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Комиссии (в BTC/Кб) меньшие этого значения считаются нулевыми для трансляции (по умолчанию: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Если paytxfee не задан, включить достаточную комиссию для подтверждения транзакции в среднем за n блоков (по умолчанию: %u)</translation> </message> @@ -3021,10 +2988,6 @@ <translation>Наибольший размер данных в носителе данных транзакций, которые мы передаем и генерируем (по умолчанию: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Удаление блоков выставлено ниже, чем минимум в %d Мб. Пожалуйста, используйте большее значение.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Запрашивать адреса участников с помощью DNS, если адресов мало (по умолчанию: 1, если не указан -connect)</translation> </message> @@ -3049,38 +3012,6 @@ <translation>Этот продукт включает ПО, разработанное OpenSSL Project для использования в OpenSSL Toolkit <https://www.openssl.org/> и криптографическое ПО, написанное Eric Young и ПО для работы с UPnP, написанное Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Для использования bitcoind или опции bitcoin-qt -server, вы должны установить опцию rpcpassword в конфигурационном файле: - %s -Рекомендуется использовать следующий случайный пароль: -rpcuser=bitcoinrpc -rpcpassword=%s -(вам не нужно запоминать этот пароль) -Имя и пароль ДОЛЖНЫ различаться. -Если файл не существует, создайте его и установите право доступа только для чтения только для владельца. -Также рекомендуется включить alertnotify для оповещения о проблемах; -Например: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Внимание: установлено очень большое значение -paytxfee. Такие большие комиссии могут быть уплачены в отдельной транзакции.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Внимание: убедитесь, что дата и время на Вашем компьютере выставлены верно. Если Ваши часы идут неправильно, Bitcoin Core будет работать некорректно.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Участники из белого списка не могуть быть забанены за DoS, и их транзакции всегда транслируются, даже если они уже содержатся в памяти. Полезно, например, для шлюза.</translation> </message> @@ -3101,10 +3032,6 @@ rpcpassword=%s <translation>Активируется лучшая цепь...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Нельзя работать с бумажником в режиме с удалением блоков.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Не удаётся разрешить адрес в параметре -whitebind: '%s'</translation> </message> @@ -3121,10 +3048,6 @@ rpcpassword=%s <translation>Все права защищены © 2009-%i Разработчики Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Не удалось разобрать значение %s параметра -rpcbind как сетевой адрес</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Ошибка загрузки wallet.dat: бумажник требует более новую версию Bitcoin Core</translation> </message> @@ -3133,14 +3056,6 @@ rpcpassword=%s <translation>Ошибка чтения базы данных, работа завершается.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Ошибка: обнаружен неподдерживаемый параметр -tor, используйте -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Комиссия (в BTC/Кб) для добавления к вашим транзакциям (по умолчанию: %s)</translation> - </message> - <message> <source>Information</source> <translation>Информация</translation> </message> @@ -3181,18 +3096,10 @@ rpcpassword=%s <translation>Параметры трансляции узла:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Параметры RPC SSL: (см. Bitcoin вики для инструкций по настройке SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Параметры сервера RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Поддержка RPC постоянных HTTP подключений (по умолчанию: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Перестроить при запуске индекс цепи блоков из текущих файлов blk000??.dat</translation> </message> @@ -3269,10 +3176,6 @@ rpcpassword=%s <translation>Невозможно привязаться к %s на этом компьютере (bind вернул ошибку %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Использовать UPnP для проброса порта (по умолчанию: 1, если используется прослушивание)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Имя для подключений JSON-RPC</translation> </message> @@ -3285,14 +3188,6 @@ rpcpassword=%s <translation>Внимание</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Внимание: неподдерживаемый аргумент -benchmark проигнорирован, используйте -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Внимание: неподдерживаемый аргумент -debugnet проигнорирован, используйте -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Стираем все транзакции из кошелька...</translation> </message> @@ -3321,10 +3216,6 @@ rpcpassword=%s <translation>Перепроверить цепь блоков на предмет отсутствующих в бумажнике транзакций</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Использовать OpenSSL (https) для подключений JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>Эта справка</translation> </message> @@ -3369,10 +3260,6 @@ rpcpassword=%s <translation>(по умолчанию: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Допустимые шифры (по умолчанию: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Всегда запрашивать адреса участников с помощью DNS (по умолчанию: %u)</translation> </message> @@ -3433,14 +3320,6 @@ rpcpassword=%s <translation>Транслировать не-P2SH мультиподпись (по умолчанию: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Файл сертификата сервера (по умолчанию: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Закрытый ключ сервера (по умолчанию: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Установить размер пула ключей в <n> (по умолчанию: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_sah.ts b/src/qt/locale/bitcoin_sah.ts index 9ca08ee7da..8af88a87d5 100644 --- a/src/qt/locale/bitcoin_sah.ts +++ b/src/qt/locale/bitcoin_sah.ts @@ -1,4 +1,4 @@ -<TS language="sah" version="2.0"> +<TS language="sah" version="2.1"> <context> <name>AddressBookPage</name> </context> @@ -9,6 +9,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> </context> <context> diff --git a/src/qt/locale/bitcoin_sk.ts b/src/qt/locale/bitcoin_sk.ts index 48d5a09142..f8ae906128 100644 --- a/src/qt/locale/bitcoin_sk.ts +++ b/src/qt/locale/bitcoin_sk.ts @@ -1,4 +1,4 @@ -<TS language="sk" version="2.0"> +<TS language="sk" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1287,10 +1290,6 @@ <translation>Požiadavka na platbu %1 je príliš veľká (%2 bajtov, povolené je %3 bajtov).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Ochrana pred zahltením požiadavkami na platbu</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Chyba komunikácie s %1: %2 </translation> </message> @@ -1479,14 +1478,6 @@ <translation>Služby</translation> </message> <message> - <source>Starting Height</source> - <translation>Počiatočná výška</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Synchronizovaná výška</translation> - </message> - <message> <source>Ban Score</source> <translation>Skóre zákazu</translation> </message> @@ -1610,10 +1601,6 @@ <source>Unknown</source> <translation>neznámy</translation> </message> - <message> - <source>Fetching...</source> - <translation>Získava sa...</translation> - </message> </context> <context> <name>ReceiveCoinsDialog</name> @@ -1979,10 +1966,6 @@ <translation>Kopírovať zmenu</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Celková suma %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>alebo</translation> </message> @@ -2777,10 +2760,6 @@ <translation>Bežať na pozadí ako démon a prijímať príkazy</translation> </message> <message> - <source>Use the test network</source> - <translation>Použiť testovaciu sieť</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Prijať spojenia zvonku (predvolené: 1 ak žiadne -proxy alebo -connect)</translation> </message> @@ -2813,10 +2792,6 @@ <translation>Nepodarilo sa pripojiť na %s na tomto počítači. Bitcoin Jadro je už pravdepodobne spustené.</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Varovanie: Javí sa že sieť sieť úplne nesúhlasí! Niektorí mineri zjavne majú ťažkosti. @@ -2827,10 +2802,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Varovanie: Zjavne sa úplne nezhodujeme s našimi peer-mi! Možno potrebujete prejsť na novšiu verziu alebo ostatné uzly potrebujú vyššiu verziu.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Varovanie: chyba pri čítaní wallet.dad! Všetky kľúče sú čitateľné ale transakčné dáta alebo záznamy v adresári môžu byť nesprávne.</translation> - </message> - <message> <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>Varovanie: wallet.dat je poškodený, údaje úspešne získané! Pôvodný wallet.dat uložený ako wallet.{timestamp}.bak v %s; ak váš zostatok alebo transakcie niesu správne, mali by ste súbor obnoviť zo zálohy.</translation> </message> @@ -2895,10 +2866,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Chyba otvárania databázy blokov</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Chyba: Nastala fatálna interná chyba. Pre podrobnosti pozrite debug.log</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Chyba: Málo miesta na disku!</translation> </message> @@ -2907,10 +2874,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Chyba počúvania na ktoromkoľvek porte. Použi -listen=0 ak toto chcete.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Ak nie je uvedená <category>, na výstupe zobrazuj všetky informácie pre ladenie.</translation> - </message> - <message> <source>Importing...</source> <translation>Prebieha import ...</translation> </message> @@ -2975,10 +2938,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Povoliť JSON-RPC pripojenia zo zadaného zdroja. Pre <ip> sú platné jednoduché IP (napr. 1.2.3.4), sieť/netmask (napr. 1.2.3.4/255.255.255.0) alebo sieť/CIDR (napr. 1.2.3.4/24). Táto možnosť môže byť zadaná niekoľko krát</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Pri nastavovaní RPC adresy %s na porte %u pre počúvanie došlo k chybe: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Spojiť s danou adresou a povolenými partnerskými zariadeniami ktoré sa tam pripájajú. Použite zápis [host]:port pre IPv6</translation> </message> @@ -2999,18 +2958,10 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Chyba: Počúvanie prichádzajúcich spojení zlyhalo (vrátená chyba je %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Chyba: Nájdený nepodporovaný argument -socks. Nastavenie SOCKS verzie nie je už možné, podporované sú už iba proxy SOCKS5.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Vykonať príkaz po prijatí patričného varovania alebo uvidíme veľmi dlhé rozdvojenie siete (%s v cmd je nahradené správou)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Poplatky (v BTC/Kb) nižšie ako toľkoto sa považujú za nulové pri postupovaní transakcií (predvolené: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Ak nie je nastavené paytxfee, pridať dostatočný poplatok aby sa transakcia začala potvrdzovať priemerne v rámci bloku (predvolené: %u)</translation> </message> @@ -3039,10 +2990,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Tento produkt obsahuje softvér vyvinutý projektom OpenSSL pre použitie sady nástrojov OpenSSL <https://www.openssl.org/> a kryptografického softvéru napísaného Eric Young a UPnP softvér napísaný Thomas Bernard.</translation> </message> <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Upozornenie: -maxtxfee je nastavené príliš vysoko! Takto vysoké poplatky by mali byť zaplatené za jednu transakciu.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Uzle na zoznam povolených nemôžu byť DoS zakázané a ich transakcie vždy postúpené ďalej, aj v prípade, ak sú už pamäťovej fronte. Užitočné napr. pre brány</translation> </message> @@ -3071,10 +3018,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Autorské práva (C) 2009-%i Vývojári jadra Bitcoin</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Nedá sa analyzovať -rpcbind hodnota %s ako sieťová adresa</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Chyba pri čítaní wallet.dat: Peňaženka vyžaduje vyššiu verziu Jadra Bitcoin</translation> </message> @@ -3083,14 +3026,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Chyba pri načítaní z databázy, ukončuje sa.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Chyba: nájdený nepodporovaný argument -tor, použite -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Poplatok (v BTC/kB), ktorý sa pridá k transakciám, ktoré odosielate (predvolený: %s)</translation> - </message> - <message> <source>Information</source> <translation>Informácia</translation> </message> @@ -3127,18 +3062,10 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Prenosové možnosti uzla:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Možnosti RPC SSL: (Pozri v Bitcoin Wiki pokyny pre SSL nastavenie)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Možnosti servra RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Podpora RPC pre trvalé HTTP spojenia (predvolené: %d)</translation> - </message> - <message> <source>Receive and display P2P network alerts (default: %u)</source> <translation>Obdržať a zobraziť sieťové P2P varovania (predvolené: %u)</translation> </message> @@ -3207,10 +3134,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Na tomto počítači sa nedá vytvoriť väzba %s (vytvorenie väzby vrátilo chybu %s)</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>Užívateľské meno pre JSON-RPC spojenia</translation> </message> @@ -3219,14 +3142,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Upozornenie</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Upozornenie: Nepodporovaný argument -benchmark bol ignorovaný, použite -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Upozornenie: Nepodporovaný argument -debugnet bol ignorovaný, použite -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Zmazať všetky transakcie z peňaženky...</translation> </message> @@ -3255,10 +3170,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Znovu skenovať reťaz blokov pre chýbajúce transakcie</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Použiť OpenSSL (https) pre JSON-RPC spojenia</translation> - </message> - <message> <source>This help message</source> <translation>Táto pomocná správa</translation> </message> @@ -3303,10 +3214,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>(predvolené: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Prijateľné šifry (predvolené: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Vždy sa dotazovať adresy partnerských uzlov cez vyhľadávanie DNS (predvolené: %u)</translation> </message> @@ -3359,14 +3266,6 @@ The network does not appear to fully agree! Some miners appear to be experiencin <translation>Prenášať non-P2SH multi-podpis (predvolené: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Certifikačný súbor servera (predvolené: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Privátny kľúč servera (predvolené: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Nastaviť veľkosť kľúča fronty na <n> (predvolené: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_sl_SI.ts b/src/qt/locale/bitcoin_sl_SI.ts index 39dcb6e997..4378c74cd8 100644 --- a/src/qt/locale/bitcoin_sl_SI.ts +++ b/src/qt/locale/bitcoin_sl_SI.ts @@ -1,4 +1,4 @@ -<TS language="sl_SI" version="2.0"> +<TS language="sl_SI" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1283,10 +1286,6 @@ <translation>Zahtevek za plačilo %1 je prevelik (%2 bajtov, dovoljenih je %3 bajtov.)</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Zaščita pred napadom denial-of-service zahtevka za plačilo</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Napaka pri povezavi z %1: %2</translation> </message> @@ -1475,14 +1474,6 @@ <translation>Storitve</translation> </message> <message> - <source>Starting Height</source> - <translation>Začetna višina</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Trenutna višina</translation> - </message> - <message> <source>Ban Score</source> <translation>Kazenske točke</translation> </message> @@ -1603,12 +1594,16 @@ <translation>Odhodna</translation> </message> <message> - <source>Unknown</source> - <translation>Neznano</translation> + <source>Yes</source> + <translation>Da</translation> </message> <message> - <source>Fetching...</source> - <translation>Pridobivam ...</translation> + <source>No</source> + <translation>Ne</translation> + </message> + <message> + <source>Unknown</source> + <translation>Neznano</translation> </message> </context> <context> @@ -1975,10 +1970,6 @@ <translation>Kopiraj vračilo</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Skupni znesek %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>ali</translation> </message> @@ -2801,10 +2792,6 @@ <translation>Teci v ozadju in sprejemaj ukaze</translation> </message> <message> - <source>Use the test network</source> - <translation>Uporabi testno omrežje</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Sprejemaj zunanje povezave (privzeto: 1, razen če ste vklopili opciji -proxy ali -connect)</translation> </message> @@ -2821,14 +2808,6 @@ <translation>Izvedi ukaz, ko bo transakcija denarnice se spremenila (V cmd je bil TxID zamenjan za %s)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Največji še veljavni skupni znesek provizij pri transakcijah z uporabo ene denarnice. Prenizka nastavitev lahko povzroči izločitev večjih transakcij (privzeto %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Omogoči obrezovanje (brisanje) starejših blokov in s tem prihrani pri prostoru za shranjevanje. Ta način delovanja onemogoči uporabo denarnice in ni združljivo z opcijo -txindex. Opozorilo: Če kasneje to opcijo povrnete na privzeto vrednost, boste morali ponovno prenesti celotno verigo. (privzeto: 0 = onemogoči obrezovanje, >%u = ciljna velikost datotek blokov v MiB)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Nastavi število niti za preverjanje skript (%u do %d, 0 = samodejno, <0 toliko procesorskih jeder naj ostane prostih, privzeto: %d)</translation> </message> @@ -2849,10 +2828,6 @@ <translation>OPOZORILO: Preverite vašo omrežno povezavo. Št. prejetih blokov: %d v št. ur: %d (pričakovanih je %d blokov)</translation> </message> <message> - <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> - <translation>Opozorilo: Vrednost opcije -paytxfee je zelo visoka. To je provizija, ki jo boste plačali, če izvedete plačilo.</translation> - </message> - <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Opozorilo: Trenutno na omrežju ni videti konsenza! Videti je, kot da bi imeli nekateri rudarji težave.</translation> </message> @@ -2861,10 +2836,6 @@ <translation>Opozorilo: Trenutno se s soležniki ne strinjam v popolnosti! Mogoče bi morali vi ali drugi udeleženci posodobiti odjemalce.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Opozorilo: napaka pri branju datoteke wallet.dat! Vsi ključi so bili pravilno prebrani, podatki o transakciji ali imenik vnešenih naslovov so morda izgubljeni ali nepravilni.</translation> - </message> - <message> <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>Opozorilo: Datoteka wallet.dat je bila okvarjena, podatki pa so bili kljub temu rešeni! Originalna datoteka je bila shranjena kot wallet.{čas.oznaka}.bak v mapo %s. Če sta skupno stanje ali seznam transakcij napačna, morate datoteko restavrirati iz varnostne kopije.</translation> </message> @@ -2929,10 +2900,6 @@ <translation>Napaka pri odpiranju podatkovne baze blokov</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Napaka: Med izvajanjem je prišlo do nepopravljive napake. Podrobnosti so v datoteki debug.log</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Opozorilo: Premalo prostora na disku!</translation> </message> @@ -2941,10 +2908,6 @@ <translation>Ni mogoče poslušati na nobenih vratih. Če to zares želite, uporabite opcijo -listen=0.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Če element <category> ni naveden, izpisuje vse informacije za razhroščevanje.</translation> - </message> - <message> <source>Importing...</source> <translation>Uvažam ...</translation> </message> @@ -3021,10 +2984,6 @@ <translation>Iz navedenega vira dovoli povezave na JSON-RPC. Veljavne oblike vrednosti parametra <ip> so: edinstven naslov IP (npr.: 1.2.3.4), kombinacija omrežje/netmask (npr.: 1.2.3.4/255.255.255.0), ali pa kombinacija omrežje/CIDR (1.2.3.4/24). To opcijo lahko navedete večkrat.</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Prišlo je do napake med zagonom poslušalca RPC na naslovu %s in vratih %u: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Veži dani naslov in sprejemaj povezave samo od navedenih soležnikov. Za naslove protokola IPv6 uporabite zapis [gostitelj]:vrata.</translation> </message> @@ -3049,18 +3008,10 @@ <translation>Napaka: Ni mogoče sprejemati dohodnih povezav (vrnjena napaka: %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Napaka: Navedli ste nepodprto vrednost opcije -socks. Različice protokola SOCKS ni več mogoče navesti, podprti so samo posredniški strežniki tipa SOCKS5.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Ko bo prejeto ustrezno opozorilo, ali ko bo opažena zelo dolga razvejitev, izvedi navedeni ukazni niz. (Niz %s bo nadomeščen z vsebino sporočila.)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Provizije (v BTC/KiB), ki so manjše od te vrednosti, se pri posredovanju smatrajo za nične (privzeto: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Če opcija -paytxfee ni nastavljena, nastavi znesek provizije tako visoko, da bodo transakcije potrjene v povprečno n blokih. (privzeto: %u)</translation> </message> @@ -3069,10 +3020,6 @@ <translation>Na vsak posredniški strežnik se prijavi z drugimi naključnimi podatki. Tako je omogočena osamitev tokov v omrežju Tor (privzeto: %u)</translation> </message> <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Opozorilo: Preverite, če sta datum in ura na vašem računalniku točna! Bitcoin Core ne bo dobro deloval, če je nastavljeni čas nepravilen.</translation> - </message> - <message> <source>(default: %u)</source> <translation>(privzeto: %u)</translation> </message> @@ -3081,10 +3028,6 @@ <translation>Preklapljam na najboljšo verigo ...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Če je omogočena funkcija obrezovanja, ni mogoče uporabljati denarnice.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Naslova %s, podanega pri opciji -whitebind ni mogoče razrešiti.</translation> </message> @@ -3101,10 +3044,6 @@ <translation>Copyright (C) 2009-%i The Bitcoin Core Developers</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Vrednost %s opcije -rpcbind ni prepoznaven omrežni naslov</translation> - </message> - <message> <source>Information</source> <translation>Informacije</translation> </message> @@ -3201,10 +3140,6 @@ <translation>S ponovnim pregledom verige blokov poišči manjkajoče transakcije iz denarnice</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Uporabi OpenSSL (https) za povezave na JSON-RPC</translation> - </message> - <message> <source>This help message</source> <translation>To sporočilo pomoči</translation> </message> @@ -3229,10 +3164,6 @@ <translation>(privzeto: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Sprejemljivi tipi šifriranja (privzeto: %s)</translation> - </message> - <message> <source>Error loading wallet.dat</source> <translation>Napaka pri nalaganju wallet.dat</translation> </message> diff --git a/src/qt/locale/bitcoin_sq.ts b/src/qt/locale/bitcoin_sq.ts index 6ed9856889..769b45b562 100644 --- a/src/qt/locale/bitcoin_sq.ts +++ b/src/qt/locale/bitcoin_sq.ts @@ -1,4 +1,4 @@ -<TS language="sq" version="2.0"> +<TS language="sq" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -169,6 +169,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Synchronizing with network...</source> @@ -460,7 +463,7 @@ <source>Unknown</source> <translation>i/e panjohur</translation> </message> - </context> +</context> <context> <name>ReceiveCoinsDialog</name> <message> diff --git a/src/qt/locale/bitcoin_sr.ts b/src/qt/locale/bitcoin_sr.ts index ddaab9ab2b..bb8583fc09 100644 --- a/src/qt/locale/bitcoin_sr.ts +++ b/src/qt/locale/bitcoin_sr.ts @@ -1,4 +1,4 @@ -<TS language="sr" version="2.0"> +<TS language="sr" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -133,6 +133,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Synchronizing with network...</source> @@ -751,10 +754,6 @@ <translation>Radi u pozadini kao daemon servis i prihvati komande</translation> </message> <message> - <source>Use the test network</source> - <translation>Koristi testnu mrežu</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Korisničko ime za JSON-RPC konekcije</translation> </message> @@ -767,10 +766,6 @@ <translation>Ponovo skeniraj lanac blokova za nedostajuće transakcije iz novčanika</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Koristi OpenSSL (https) za JSON-RPC konekcije</translation> - </message> - <message> <source>This help message</source> <translation>Ova poruka Pomoći</translation> </message> diff --git a/src/qt/locale/bitcoin_sv.ts b/src/qt/locale/bitcoin_sv.ts index 0139154019..4691d7d204 100644 --- a/src/qt/locale/bitcoin_sv.ts +++ b/src/qt/locale/bitcoin_sv.ts @@ -1,4 +1,4 @@ -<TS language="sv" version="2.0"> +<TS language="sv" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -222,6 +222,17 @@ Var vänlig och försök igen.</translation> </message> </context> <context> + <name>BanTableModel</name> + <message> + <source>IP/Netmask</source> + <translation>IP/nätmask</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Bannad tills</translation> + </message> +</context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1066,6 +1077,34 @@ Var vänlig och försök igen.</translation> <translation>Proxyns port (t.ex. 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Används för att nå noder via:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>Visas, om den angivna standard-SOCKS5-proxyn används för att nå noder via den här nätverkstypen.</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Anslut till Bitcoin-nätverket genom en separat SOCKS5-proxy för dolda tjänster i Tor.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Använd separat SOCKS5-proxy för att nå noder via dolda tjänster i Tor:</translation> + </message> + <message> <source>&Window</source> <translation>&Fönster</translation> </message> @@ -1284,10 +1323,6 @@ Var vänlig och försök igen.</translation> <translation>Betalningsbegäran %1 är för stor (%2 bytes, tillåten %3 bytes)</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Betalningsbegäran begär DoS-skydd</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Kommunikationsfel med %1: %2</translation> </message> @@ -1456,10 +1491,18 @@ Var vänlig och försök igen.</translation> <translation>&Klienter</translation> </message> <message> + <source>Banned peers</source> + <translation>Bannade noder</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Välj en klient för att se detaljerad information.</translation> </message> <message> + <source>Whitelisted</source> + <translation>Vitlistad</translation> + </message> + <message> <source>Direction</source> <translation>Riktning</translation> </message> @@ -1468,20 +1511,24 @@ Var vänlig och försök igen.</translation> <translation>Version</translation> </message> <message> - <source>User Agent</source> - <translation>Användaragent</translation> + <source>Starting Block</source> + <translation>Startblock</translation> </message> <message> - <source>Services</source> - <translation>Tjänster</translation> + <source>Synced Headers</source> + <translation>Synkade huvuden</translation> </message> <message> - <source>Starting Height</source> - <translation>Starthöjd</translation> + <source>Synced Blocks</source> + <translation>Synkade block</translation> </message> <message> - <source>Sync Height</source> - <translation>Synchöjd</translation> + <source>User Agent</source> + <translation>Användaragent</translation> + </message> + <message> + <source>Services</source> + <translation>Tjänster</translation> </message> <message> <source>Ban Score</source> @@ -1512,6 +1559,14 @@ Var vänlig och försök igen.</translation> <translation>Pingtid</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>Tidsåtgången för en nuvarande utestående ping.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Pingväntetid</translation> + </message> + <message> <source>Time Offset</source> <translation>Tidsförskjutning</translation> </message> @@ -1560,6 +1615,34 @@ Var vänlig och försök igen.</translation> <translation>Rensa konsollen</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Koppla från nod</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Banna nod i</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &timme</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &dag</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &vecka</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &år</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>&Ta bort ban från nod</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Välkommen till RPC-konsolen för Bitcoin Core.</translation> </message> @@ -1588,6 +1671,10 @@ Var vänlig och försök igen.</translation> <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(nod-id: %1)</translation> + </message> + <message> <source>via %1</source> <translation>via %1</translation> </message> @@ -1604,12 +1691,16 @@ Var vänlig och försök igen.</translation> <translation>Utgående</translation> </message> <message> - <source>Unknown</source> - <translation>Okänd</translation> + <source>Yes</source> + <translation>Ja</translation> </message> <message> - <source>Fetching...</source> - <translation>Hämtar...</translation> + <source>No</source> + <translation>Nej</translation> + </message> + <message> + <source>Unknown</source> + <translation>Okänd</translation> </message> </context> <context> @@ -1972,10 +2063,6 @@ Var vänlig och försök igen.</translation> <translation>Kopiera växel</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Totalt %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>eller</translation> </message> @@ -2016,6 +2103,10 @@ Var vänlig och försök igen.</translation> <translation>Betala endast den minimala avgiften på %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Total summa %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Mottagarens adress är ogiltig. Kontrollera igen.</translation> </message> @@ -2790,12 +2881,56 @@ Var vänlig och försök igen.</translation> <translation>Tillåt kommandon från kommandotolken och JSON-RPC-kommandon</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying (default: %s)</source> + <translation>Avgift (i %s/kB) mindre än detta betraktas som nollavgift för vidarebefordran(standard: %s)</translation> + </message> + <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>Om <kategori> inte anges eller om <category> = 1, visa all avlusningsinformation.</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Maximal total avgift (i %s) att använda i en plånbokstransaktion. Sätts denna för lågtkan stora transaktioner komma att avbrytas (förvalt: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Vänligen kontrollera att din dators datum och tid är korrekt! Om din klocka går fel kommer Bitcoin Core inte att fungera ordentligt.</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>Beskärning konfigurerad under miniminivån %d MiB. Vänligen använd ett högre värde.</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>Beskärning: sista plånbokssynkroniseringen ligger utanför beskuren data. Du måste använda -reindex (ladda ner hela blockkedjan igen eftersom noden beskurits)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Minska lagringsbehovet genom att beskära (ta bort) gamla block. Detta läge är inkompatibelt med -txindex och -rescan. Varning: Ändras denna inställning måste hela blockkedjan laddas ner igen. (förvalt: 0 = inaktivera beskärning av block, >%u = målstorlek i MiB att använda för blockfiler)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>Omskanningar kan inte göras i beskuret läge. Du måste använda -reindex vilket kommer ladda ner hela blockkedjan igen.</translation> + </message> + <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Fel: Ett kritiskt internt fel uppstod, se debug.log för detaljer</translation> + </message> + <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Avgift (i %s/kB) att lägga till på transaktioner du skickar (förvalt: %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Rensar blockstore...</translation> + </message> + <message> <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> - <source>Use the test network</source> - <translation>Använd testnätverket</translation> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Kunde inte starta HTTP-server. Se avlusningsloggen för detaljer.</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2818,18 +2953,14 @@ Var vänlig och försök igen.</translation> <translation>Exekvera kommando när en plånbokstransaktion ändras (%s i cmd är ersatt av TxID)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Maximal total avgift att använda i en plånbokstransaktion. Sätts denna för lågt kommer stora transaktioner att avbrytas (förvalt: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Reducera lagringsbehovet genom att beskära (ta bort) gamla block. Detta läge avaktiverar plånbokssupport och är inkompatibel med -txindex. Varning: Ändras denna inställning måste hela blockkedjan laddas ner igen. 0 = avaktivera beskärning av blocks, >%u = målstorlek i MiB att använda för blockfiler)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Ange antalet skriptkontrolltrådar (%u till %d, 0 = auto, <0 = lämna så många kärnor lediga, förval: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>Blockdatabasen innehåller ett block som verkar vara från framtiden. Detta kan vara på grund av att din dators datum och tid är felaktiga. Bygg bara om blockdatabasen om du är säker på att datorns datum och tid är korrekt</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>Detta är ett förhands testbygge - använd på egen risk - använd inte för mining eller handels applikationer</translation> </message> @@ -2838,6 +2969,10 @@ Var vänlig och försök igen.</translation> <translation>Det går inte att binda till %s på den här datorn. Bitcoin Core är förmodligen redan igång.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Använd UPnP för att mappa den lyssnande porten (förvalt: 1 när lyssning aktiverat och utan -proxy)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>Varning: Onormalt antal block block genererade. %d block mottagna senaste %d timmarna (%d förväntade)</translation> </message> @@ -2846,10 +2981,6 @@ Var vänlig och försök igen.</translation> <translation>Varning: Kontrollera din närverksanslutning. %d block mottagna senaste %d timmarna, (%d förväntade)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Varning: Nätverket verkar inte vara helt överens! Några miners verkar ha problem.</translation> </message> @@ -2858,10 +2989,6 @@ Var vänlig och försök igen.</translation> <translation>Varning: Vi verkar inte helt överens med våra peers! Du kan behöva uppgradera, eller andra noder kan behöva uppgradera.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Varning: fel vid läsning av wallet.dat! Alla nycklar lästes korrekt, men transaktionsdatan eller adressbokens poster kanske saknas eller är felaktiga.</translation> - </message> - <message> <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>Varning: wallet.dat korrupt, datan har räddats! Den ursprungliga wallet.dat har sparas som wallet.{timestamp}.bak i %s; om ditt saldo eller transaktioner är felaktiga ska du återställa från en säkerhetskopia.</translation> </message> @@ -2874,6 +3001,10 @@ Var vänlig och försök igen.</translation> <translation>(förvalt: 1)</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool måste vara minst %d MB</translation> + </message> + <message> <source><category> can be:</source> <translation><category> Kan vara:</translation> </message> @@ -2891,7 +3022,7 @@ Var vänlig och försök igen.</translation> </message> <message> <source>Connection options:</source> - <translation>Anslutningsoptioner:</translation> + <translation>Anslutningsalternativ:</translation> </message> <message> <source>Corrupted block database detected</source> @@ -2899,7 +3030,7 @@ Var vänlig och försök igen.</translation> </message> <message> <source>Debugging/Testing options:</source> - <translation>Avlusnings/Testnings optioner:</translation> + <translation>Avlusnings/Test-alternativ:</translation> </message> <message> <source>Do not load the wallet and disable wallet RPC calls</source> @@ -2910,6 +3041,22 @@ Var vänlig och försök igen.</translation> <translation>Vill du bygga om blockdatabasen nu?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>Aktivera publicering av hashblock i <adress></translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>Aktivera publicering av hashtransaktion i <adress></translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>Aktivera publicering av råa block i <adress></translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>Aktivera publicering av råa transaktioner i <adress></translation> + </message> + <message> <source>Error initializing block database</source> <translation>Fel vid initiering av blockdatabasen</translation> </message> @@ -2926,10 +3073,6 @@ Var vänlig och försök igen.</translation> <translation>Fel vid öppning av blockdatabasen</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Fel: Ett fatalt internt fel inträffade. Se debug.log för detaljer</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Fel: Hårddiskutrymme är lågt!</translation> </message> @@ -2938,10 +3081,6 @@ Var vänlig och försök igen.</translation> <translation>Misslyckades att lyssna på någon port. Använd -listen=0 om du vill detta.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Om <category> inte anges, skrivs all avlusningsinformation ut.</translation> - </message> - <message> <source>Importing...</source> <translation>Importerar...</translation> </message> @@ -2954,6 +3093,10 @@ Var vänlig och försök igen.</translation> <translation>Ogiltig -onion adress:'%s'</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>Håll minnespoolen över transaktioner under <n> megabyte (förvalt: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>Inte tillräckligt med filbeskrivningar tillgängliga.</translation> </message> @@ -2982,10 +3125,26 @@ Var vänlig och försök igen.</translation> <translation>Ange plånboksfil (inom datakatalogen)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Argumentet -benchmark stöds inte och ignoreras, använd -debug=bench.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Argumentet -debugnet stöds inte och ignoreras, använd -debug=net.</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>Argumentet -tor hittades men stöds inte, använd -onion.</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> <translation>Använd UPnP för att mappa den lyssnande porten (förvalt: %u)</translation> </message> <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>Kommentaren i användaragent (%s) innehåller osäkra tecken.</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>Verifierar block...</translation> </message> @@ -3015,11 +3174,7 @@ Var vänlig och försök igen.</translation> </message> <message> <source>Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times</source> - <translation>Tillåt JSON-RPC anslutningar från specifik kalla. Tillåtet för <ip> är enkel IP (t.ex 1.2.3.4), en nätverk/nätmask (t.ex. 1.2.3.4/255.255.255.0) eller ett nätverk/CIDR (t.ex. 1.2.3.4/24). Denna option kan specificeras flera gånger</translation> - </message> - <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Ett fel uppstod vid upprättandet av RPC adress %s port %u för att lyssna: %s</translation> + <translation>Tillåt JSON-RPC-anslutningar från specifik källa. Tillåtna <ip> är enkel IP (t.ex 1.2.3.4), en nätverk/nätmask (t.ex. 1.2.3.4/255.255.255.0) eller ett nätverk/CIDR (t.ex. 1.2.3.4/24). Detta alternativ anges flera gånger</translation> </message> <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> @@ -3027,7 +3182,7 @@ Var vänlig och försök igen.</translation> </message> <message> <source>Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces)</source> - <translation>Bind till angiven adress för att lyssna på JSON-RPC anslutningar. Använd [värd]:port notation for IPv6. Denna option kan specificeras flera gånger (förvalt: bind till alla gränssnitt)</translation> + <translation>Bind till angiven adress för att lyssna på JSON-RPC-anslutningar. Använd [värd]:port-format for IPv6. Detta alternativ kan anges flera gånger (förvalt: bind till alla gränssnitt)</translation> </message> <message> <source>Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running.</source> @@ -3046,18 +3201,10 @@ Var vänlig och försök igen.</translation> <translation>Fel: Avlyssning av inkommande anslutningar misslyckades (Avlyssningen returnerade felkod %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Fel: Argumentet -socks stöds inte. Att sätta SOCKS version är inte möjligt längre. Endast SOCKS5 proxy stöds.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Exekvera kommando när ett relevant meddelande är mottagen eller när vi ser en väldigt lång förgrening (%s i cmd är utbytt med ett meddelande)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Avgifter (i BTC/Kb) mindre än detta betraktas som nollavgift för vidarebefodran (förvalt: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Om paytxfee inte är satt, inkludera tillräcklig avgift så att transaktionen börjar att konfirmeras inom n blocks (förvalt: %u)</translation> </message> @@ -3070,10 +3217,6 @@ Var vänlig och försök igen.</translation> <translation>Maximal storlek på data i databärartransaktioner som vi reläar och bryter (förvalt: %u) </translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Beskärning konfigurerad under miniminivån %d MB. Var vänlig använd ett högre värde.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Sök efter klientadresser med DNS sökningen, om det finns otillräckligt med adresser (förvalt: 1 om inte -connect)</translation> </message> @@ -3094,40 +3237,8 @@ Var vänlig och försök igen.</translation> <translation>Denna produkten innehåller mjukvara utvecklad av OpenSSL Project för användning i OpenSSL Toolkit <https://www.openssl.org/> och kryptografisk mjukvara utvecklad av Eric Young samt UPnP-mjukvara skriven av Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>För att använda bitconid,eller -server optionen till bitcoin-qt så mäste du 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) -Användarnamnet och lösenordet FÅR INTE vara detsamma. -Om filen inte existerar, skapa den med enbart ägarläsbara filrättigheter. -Det är också rekommenderat att sätta alertnotify så du meddelas om problem; -till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Varning: -maxtxfee är satt väldigt hög! Så höga avgifter kan betalas för en enstaka transaktion.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Varning: Vänligen kolla så att din dators datum och tid är korrekt! Om din klocka går fel kommer Bitcoin Core inte att fungera korrekt.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> - <translation>Vitlistade klienter kan inte bli DoS bannade och deras transaktioner reläas alltid, även om dom redan är i mempoolen, användbart för t.ex en gateway </translation> + <translation>Vitlistade klienter kan inte bli DoS-bannade och deras transaktioner reläas alltid, även om dom redan är i mempoolen, användbart för t.ex en gateway </translation> </message> <message> <source>You need to rebuild the database using -reindex to go back to unpruned mode. This will redownload the entire blockchain</source> @@ -3146,10 +3257,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Aktiverar bästa kedjan...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Kan inte köra med en plånbok i beskärningsläge.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Kan inte matcha -whitebind adress: '%s'</translation> </message> @@ -3166,10 +3273,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Copyright (C) 2009-%i Bitcoin Core Utvecklarna</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Kunde inte tolka -rpcbind värdet %s som en nätverksadress</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Fel vid inläsningen av wallet.dat: Kontofilen kräver en senare version av Bitcoin Core</translation> </message> @@ -3178,14 +3281,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Fel vid läsning från databas, avslutar.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Fel: Argumentet -tor stöds inte, använd -onion.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Avgift (i BTC/Kb) att lägga till på transaktioner du skickar (förvalt: %s)</translation> - </message> - <message> <source>Information</source> <translation>Information</translation> </message> @@ -3223,19 +3318,11 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Node relay options:</source> - <translation>Nodreläoptioner:</translation> - </message> - <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL optioner: (se Bitcoin Wiki för SSL inställningsinstruktioner)</translation> + <translation>Nodreläalternativ:</translation> </message> <message> <source>RPC server options:</source> - <translation>RPC serveroptioner:</translation> - </message> - <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPC support för HTTP permanent anslutning (förvalt: %d)</translation> + <translation>RPC-serveralternativ:</translation> </message> <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> @@ -3246,6 +3333,10 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Mottag och visa P2P nätverksvarningar (förvalt: %u)</translation> </message> <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>Minskar -maxconnections från %d till %d, på grund av systembegränsningar.</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Skicka trace-/debuginformation till terminalen istället för till debug.log</translation> </message> @@ -3263,7 +3354,7 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Show all debugging options (usage: --help -help-debug)</source> - <translation>Visa alla avlusningsoptioner (använd: --help -help-debug)</translation> + <translation>Visa alla avlusningsalternativ (använd: --help -help-debug)</translation> </message> <message> <source>Show splash screen on startup (default: 1)</source> @@ -3314,10 +3405,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Det går inte att binda till %s på den här datorn (bind returnerade felmeddelande %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Använd UPnP för att mappa den lyssnande porten (förvalt: 1 under lyssning)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Användarnamn för JSON-RPC-anslutningar</translation> </message> @@ -3330,18 +3417,14 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Varning</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Varning: Argument -benchmark stöds inte och ignoreras, använd -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Varning: Argument -debugnet stöds inte och ignorerad, använd -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Töm plånboken på alla transaktioner...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ-alternativ för notiser:</translation> + </message> + <message> <source>on startup</source> <translation>under uppstarten</translation> </message> @@ -3366,10 +3449,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Sök i blockkedjan efter saknade plånboks transaktioner</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Använd OpenSSL (https) för JSON-RPC-anslutningar</translation> - </message> - <message> <source>This help message</source> <translation>Det här hjälp medelandet</translation> </message> @@ -3390,6 +3469,22 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(1 = spara tx metadata t.ex. kontoägare och betalningsbegäransinformation, 2 = släng tx metadata)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>-maxtxfee är väldigt högt satt! Så höga avgifter kan komma att betalas för en enstaka transaktion.</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>-paytxfee är väldigt högt satt! Det här är avgiften du kommer betala om du skickar en transaktion.</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Håll inte transaktioner i minnespoolen längre än <n> timmar (förvalt: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>Fel vid läsning av wallet.dat! Alla nycklar lästes korrekt, men transaktionsdata eller adressbokens poster kanske saknas eller är felaktiga.</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Hur grundlig blockverifikationen vid -checkblocks är (0-4, förvalt: %u)</translation> </message> @@ -3406,6 +3501,18 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Skriv ut avlusningsinformation (förvalt: %u, att ange <category> är frivilligt)</translation> </message> <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>Total längd på strängen för nätverksversion (%i) överskrider maxlängden (%i). Minska numret eller storleken på uacomments.</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>Försöker hålla utgående trafik under givet mål (i MiB per 24 timmar), 0 = ingen gräns (förvalt: %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>Argumentet -socks hittades och stöds inte. Det är inte längre möjligt att sätta SOCKS-version längre, bara SOCKS5-proxy stöds.</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Använd separat SOCKS5 proxy för att nå kollegor via dolda tjänster i Tor (förvalt: -%s)</translation> </message> @@ -3414,10 +3521,6 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(förvalt: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Accepterbara chiffer (förvalt: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Sök alltid efter klientadresser med DNS sökningen (förvalt: %u)</translation> </message> @@ -3475,15 +3578,7 @@ till exempel: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Relay non-P2SH multisig (default: %u)</source> - <translation>Reläa icke P2SH multisig (förvalt: %u)</translation> - </message> - <message> - <source>Server certificate file (default: %s)</source> - <translation>Serverns certifikatfil (förvalt: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Serverns privata nyckel (förvalt: %s)</translation> + <translation>Reläa icke-P2SH multisig (förvalt: %u)</translation> </message> <message> <source>Set key pool size to <n> (default: %u)</source> diff --git a/src/qt/locale/bitcoin_th_TH.ts b/src/qt/locale/bitcoin_th_TH.ts index 0980502968..75fdfc5bdf 100644 --- a/src/qt/locale/bitcoin_th_TH.ts +++ b/src/qt/locale/bitcoin_th_TH.ts @@ -1,4 +1,4 @@ -<TS language="th_TH" version="2.0"> +<TS language="th_TH" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -105,6 +105,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Synchronizing with network...</source> diff --git a/src/qt/locale/bitcoin_tr.ts b/src/qt/locale/bitcoin_tr.ts index dcc82e644d..8d2945fba7 100644 --- a/src/qt/locale/bitcoin_tr.ts +++ b/src/qt/locale/bitcoin_tr.ts @@ -1,4 +1,4 @@ -<TS language="tr" version="2.0"> +<TS language="tr" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1287,10 +1290,6 @@ <translation>%1 ödeme talebi çok büyük (%2 bayt, müsaade edilen %3 bayt).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Ödeme talebi DoS koruması</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>%1 ile iletişimde hata: %2</translation> </message> @@ -1479,14 +1478,6 @@ <translation>Servisler</translation> </message> <message> - <source>Starting Height</source> - <translation>Başlama Yüksekliği</translation> - </message> - <message> - <source>Sync Height</source> - <translation>Eşleşme Yüksekliği</translation> - </message> - <message> <source>Ban Score</source> <translation>Yasaklama Skoru</translation> </message> @@ -1607,12 +1598,16 @@ <translation>Giden</translation> </message> <message> - <source>Unknown</source> - <translation>Bilinmiyor</translation> + <source>Yes</source> + <translation>Evet</translation> </message> <message> - <source>Fetching...</source> - <translation>Alınıyor...</translation> + <source>No</source> + <translation>Hayır</translation> + </message> + <message> + <source>Unknown</source> + <translation>Bilinmiyor</translation> </message> </context> <context> @@ -1979,10 +1974,6 @@ <translation>Para üstünü kopyala</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Toplam meblağ %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>veya</translation> </message> @@ -2801,10 +2792,6 @@ <translation>Arka planda daemon (servis) olarak çalış ve komutları kabul et</translation> </message> <message> - <source>Use the test network</source> - <translation>Deneme şebekesini kullan</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>Dışarıdan gelen bağlantıları kabul et (varsayılan: -proxy veya -connect yoksa 1)</translation> </message> @@ -2825,14 +2812,6 @@ <translation>Bir cüzdan muamelesi değiştiğinde komutu çalıştır (komuttaki %s muamele kimliği ile değiştirilecektir)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Tek cüzdan muamelesinde kullanılacak azami toplam ücret; bunu çok düşük olarak ayarlamak büyük muameleleri iptal edebilir (varsayılan: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Depolama gerekliliğini eski blokları silerek düşür. Bu kip cüzdan desteğini devre dışı bırakır ve -txindex ile uyumsuzdur. İkaz: Bu ayarı geri almak tüm blok zincirini yeniden indirmeyi gerektirir. (varsayılan: 0 = blokları silmeyi devre dışı bırak, >%u = MB olarak blok dosyaları için kullanılacak hedef boyut)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Betik kontrolü iş parçacıklarının sayısını belirler (%u ilâ %d, 0 = otomatik, <0 = bu sayıda çekirdeği kullanma, varsayılan: %d)</translation> </message> @@ -2853,10 +2832,6 @@ <translation>İKAZ: ağ bağlantınızı kontrol ediniz, %d blok son %d saat içinde alınmıştır (%d bekleniyordu)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Uyarı: şebeke tamamen mutabık değil gibi görünüyor! Bazı madenciler sorun yaşıyor gibi görünüyor.</translation> </message> @@ -2865,10 +2840,6 @@ <translation>Uyarı: eşlerimizle tamamen mutabık değiliz gibi görünüyor! Güncelleme yapmanız gerekebilir ya da diğer düğümlerin güncelleme yapmaları gerekebilir.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Uyarı: wallet.dat dosyasının okunması sırasında bir hata meydana geldi! Tüm anahtarlar doğru bir şekilde okundu, ancak muamele verileri ya da adres defteri unsurları hatalı veya eksik olabilir.</translation> - </message> - <message> <source>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>Uyarı: wallet.dat bozuk, veriler geri kazanıldı! Özgün wallet.dat, wallet.{zamandamgası}.bak olarak %s klasörüne kaydedildi; bakiyeniz ya da muameleleriniz yanlışsa bir yedeklemeden tekrar yüklemeniz gerekir.</translation> </message> @@ -2933,10 +2904,6 @@ <translation>Blok veritabanının açılışı sırasında hata</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Hata: Ölümcül dahili bir hata meydana geldi, ayrıntılar için debug.log dosyasına bakınız</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Hata: Disk alanı düşük!</translation> </message> @@ -2945,10 +2912,6 @@ <translation>Herhangi bir portun dinlenmesi başarısız oldu. Bunu istiyorsanız -listen=0 seçeneğini kullanınız.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation><kategori> sağlanmamışsa tüm hata ayıklama verilerini dök.</translation> - </message> - <message> <source>Importing...</source> <translation>İçe aktarılıyor...</translation> </message> @@ -3025,10 +2988,6 @@ <translation>Belirtilen kaynaktan JSON-RPC bağlantılarını kabul et. Bir <ip> için geçerli olanlar şunlardır: salt IP adresi (mesela 1.2.3.4), bir şebeke/ağ maskesi (örneğin 1.2.3.4/255.255.255.0) ya da bir şebeke/CIDR (mesela 1.2.3.4/24). Bu seçenek birden fazla kez belirtilebilir</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Dinleme için RPC adresi %s port %u kurulurken bir hata meydana geldi: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Belirtilen adrese bağlan ve ona bağlanan eşleri beyaz listeye al. IPv6 için [makine]:port imlasını kullanınız</translation> </message> @@ -3053,18 +3012,10 @@ <translation>Hata: İçeri gelen bağlantıların dinlenmesi başarısız oldu (dinleme %s hatasını verdi)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Hata: Desteklenmeyen -socks argümanı bulundu. SOCKS sürümünün ayarlanması artık mümkün değildir, sadece SOCKS5 vekilleri desteklenmektedir.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>İlgili bir uyarı alındığında ya da gerçekten uzun bir çatallama gördüğümüzde komutu çalıştır (komuttaki %s mesaj ile değiştirilir)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Kb başına BTC olarak bundan düşük ücretler aktarım için sıfır değerinde ücret olarak kabul edilir (varsayılan: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Eğer paytxfee ayarlanmadıysa kafi derecede ücret ekleyin ki muameleler teyite vasati n blok içinde başlasın (varsayılan: %u)</translation> </message> @@ -3077,10 +3028,6 @@ <translation>Aktardığımız ve oluşturduğumuz veri taşıyıcı muamelelerindeki azami veri boyutu (varsayılan: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Prune, asgari değer olan %d MB'den düşük olarak ayarlanmıştır. Lütfen daha yüksek bir sayı kullanınız.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Adres sayısı azaldıysa DNS sorgulamasıyla eş adresleri ara (varsayılan: 1 -connect kullanılmadıysa)</translation> </message> @@ -3105,38 +3052,6 @@ <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> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>bitcoind ya da bitcoin-qt ile -server seçeneğini kullanmak için yapılandırma dosyasında bir 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) -Kullanıcı ismi ile parolanın FARKLI olmaları gerekir. -Dosya mevcut değilse, sadece sahibi için okumayla sınırlı izin ile oluşturunuz. -Sorunlar hakkında bildiri almak için alertnotify unsurunu ayarlamanız tavsiye edilir; -mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>İkaz: -maxtxfee çok yüksek bir değere ayarlanmış! Bu denli yüksek ücretler tek bir muamelede ödenebilir.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Uyarı: Lütfen bilgisayarınızın saat ve tarihinin doğru olduğunu kontol ediniz! Saatinizde gecikme varsa Bitcoin Çekirdeği doğru şekilde çalışamaz.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Beyaz listeye alınan eşler DoS yasaklamasına uğramazlar ve muameleleri zaten mempool'da olsalar da daima aktarılır, bu mesela bir geçit için kullanışlıdır</translation> </message> @@ -3157,10 +3072,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>En iyi zincir etkinleştiriliyor...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Prune kipindeki bir cüzdan ile çalışamaz.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>-whitebind adresi çözümlenemedi: '%s'</translation> </message> @@ -3177,10 +3088,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Telif hakkı 2009-%i Bitcoin Çekirdeği Geliştiricileri</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>-rpcbind değeri %s şebeke adresi olarak ayrıştırılamadı</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>wallet.dat dosyasının yüklenmesinde hata: Cüzdan Bitcoin Çekirdeğinin daha yeni bir sürümünü gerektirmektedir</translation> </message> @@ -3189,14 +3096,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Veritabanından okumada hata, kapatılıyor.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Hata: Deskteklenmeyen -tor argümanı bulundu, -onion kullanınız.</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Yolladığınız muamelelere kB başına BTC olarak eklenecek ücret (varsayılan: %s)</translation> - </message> - <message> <source>Information</source> <translation>Bilgi</translation> </message> @@ -3237,18 +3136,10 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Düğüm röle seçenekleri:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL seçenekleri: (SSL kurulumu yönergeleri için Bitcoin vikisine bakınız)</translation> - </message> - <message> <source>RPC server options:</source> <translation>RPC sunucu seçenekleri:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Kalıcı HTTP bağlantıları için RPC desteği (varsayılan: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>Başlangıçta blok zinciri indeksini güncel blk000??.dat dosyalarından tekrar inşa et</translation> </message> @@ -3325,10 +3216,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Bu bilgisayarda %s unsuruna bağlanılamadı (bağlanma %s hatasını verdi)</translation> </message> <message> - <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> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC bağlantıları için kullanıcı ismi</translation> </message> @@ -3341,14 +3228,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Uyarı</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Uyarı: Deskteklenmeyen -benchmark argümanı görmezden gelindi, -debug=bench kullanınız.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Uyarı: Desteklenmeyen -debugnet argümanı görmezden gelindi, debug=net kullanınız.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Cüzdandaki tüm muameleler kaldırılıyor...</translation> </message> @@ -3377,10 +3256,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>Blok zincirini eksik cüzdan muameleleri için tekrar tara</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>JSON-RPC bağlantıları için OpenSSL (https) kullan</translation> - </message> - <message> <source>This help message</source> <translation>Bu yardım mesajı</translation> </message> @@ -3425,10 +3300,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>(varsayılan: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Kabul edilebilir şifreler (varsayılan: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Eş adresleri sorgulaması için daima DNS aramasını kullan (varsayılan: %u)</translation> </message> @@ -3489,14 +3360,6 @@ mesela: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <translation>P2SH olmayan çoklu imzaları aktar (varsayılan: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Sunucu sertifika dosyası (varsayılan: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Sunucu özel anahtarı (varsayılan: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Anahtar alan boyutunu <n> değerine ayarla (varsayılan: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_uk.ts b/src/qt/locale/bitcoin_uk.ts index 21ab4ac191..4ab318425c 100644 --- a/src/qt/locale/bitcoin_uk.ts +++ b/src/qt/locale/bitcoin_uk.ts @@ -1,4 +1,4 @@ -<TS language="uk" version="2.0"> +<TS language="uk" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,17 @@ </message> </context> <context> + <name>BanTableModel</name> + <message> + <source>IP/Netmask</source> + <translation>IP/Маска підмережі</translation> + </message> + <message> + <source>Banned Until</source> + <translation>Заблоковано До</translation> + </message> +</context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1069,6 +1080,30 @@ <translation>Порт проксі-сервера (наприклад 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>Приєднуватися до учасників через:</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>Підключатися до мережі Bitcoin через окремий SOCKS5 проксі для прихованих сервісів Tor.</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>Використовувати окремий SOCKS5-проксі для з'єднання з учасниками через приховані сервіси Tor:</translation> + </message> + <message> <source>&Window</source> <translation>&Вікно</translation> </message> @@ -1287,10 +1322,6 @@ <translation>Запит платежу %1 занадто великий (%2 байт, дозволено %3 байт).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>Оплата потребує захисту DoS</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>Помилка зв'язку з %1: %2</translation> </message> @@ -1459,10 +1490,18 @@ <translation>&Учасники</translation> </message> <message> + <source>Banned peers</source> + <translation>Заблоковані вузли</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>Виберіть учасника для перегляду детальнішої інформації</translation> </message> <message> + <source>Whitelisted</source> + <translation>В білому списку</translation> + </message> + <message> <source>Direction</source> <translation>Напрямок</translation> </message> @@ -1471,20 +1510,24 @@ <translation>Версія</translation> </message> <message> - <source>User Agent</source> - <translation>Клієнт користувача</translation> + <source>Starting Block</source> + <translation>Початковий Блок</translation> </message> <message> - <source>Services</source> - <translation>Сервіси</translation> + <source>Synced Headers</source> + <translation>Синхронізовані Заголовки</translation> </message> <message> - <source>Starting Height</source> - <translation>Початкова висота</translation> + <source>Synced Blocks</source> + <translation>Синхронізовані Блоки</translation> </message> <message> - <source>Sync Height</source> - <translation>Висота синхронізації</translation> + <source>User Agent</source> + <translation>Клієнт користувача</translation> + </message> + <message> + <source>Services</source> + <translation>Сервіси</translation> </message> <message> <source>Ban Score</source> @@ -1515,6 +1558,14 @@ <translation>Затримка</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>Тривалість поточної затримки.</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Поточна Затримка</translation> + </message> + <message> <source>Time Offset</source> <translation>Різниця часу</translation> </message> @@ -1563,6 +1614,34 @@ <translation>Очистити консоль</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>&Від'єднати Вузол</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>Заблокувати Вузол на</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 &годину</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 &день</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 &тиждень</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 &рік</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>&Розблокувати Вузол</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>Вітаємо у RPC-консолі Bitcoin Core.</translation> </message> @@ -1591,6 +1670,10 @@ <translation>%1 ГБ</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(ІД вузла: %1)</translation> + </message> + <message> <source>via %1</source> <translation>через %1</translation> </message> @@ -1607,12 +1690,16 @@ <translation>Вихідний</translation> </message> <message> - <source>Unknown</source> - <translation>Невідома</translation> + <source>Yes</source> + <translation>Так</translation> + </message> + <message> + <source>No</source> + <translation>Ні</translation> </message> <message> - <source>Fetching...</source> - <translation>Отримання...</translation> + <source>Unknown</source> + <translation>Невідома</translation> </message> </context> <context> @@ -1979,10 +2066,6 @@ <translation>Копіювати решту</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>Всього %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>або</translation> </message> @@ -2023,6 +2106,10 @@ <translation>Платити тільки мінімальну комісію у розмірі %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>Всього %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>Адреса отримувача неправильна. Будь ласка, перевірте її.</translation> </message> @@ -2801,12 +2888,52 @@ <translation>Приймати команди із командного рядка та команди JSON-RPC</translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying (default: %s)</source> + <translation>Комісії (в %s/КБ), що менші за вказану, вважатимуться нульовими (для ретрансляції) (типово: %s)</translation> + </message> + <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>Якщо <category> не задано, або ж якщо <category> = 1, виводить всю налагоджувальну інформацію.</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>Максимальна загальна комісія (в %s) за одну транзакцію; занадто низьке значення може скасувати відправку великих транзакцій (типово: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>Будь ласка, перевірте коректність дати і часу на своєму комп'ютері! За наявності значної похибки Bitcoin Core буде працювати неправильно.</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>Встановлений розмір ланцюжка блоків є замалим (меншим за %d МіБ). Будь ласка, виберіть більше число.</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>Зменшити вимоги до наявного простору на носії даних за допомогою скорочення ланцюжка (видалення старих блоків). Цей режим несумісний з параметрами -txindex та -rescan. Увага: при поверненні до типового значення видалені частини ланцюжка буде повторно завантажено. (типово: 0 = вимкнути скорочення ланцюжка, >%u = очікуваний розмір файлів блоків в МіБ)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>Неможливо провести повторне сканування зі скороченим ланцюжком. Вам необхідно використати -reindex для завантаження повного ланцюжка блоків.</translation> + </message> + <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>Помилка: Сталася фатальна помилка (детальніший опис наведено в debug.log)</translation> + </message> + <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>Комісія (в %s/КБ), що додаватиметься до вихідних транзакцій (типово: %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>Скорочення кількості блоків...</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>Запустити в фоновому режимі (як демон) та приймати команди</translation> </message> <message> - <source>Use the test network</source> - <translation>Використовувати тестову мережу</translation> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>Неможливо запустити HTTP-сервер. Детальніший опис наведено в журналі зневадження.</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2829,18 +2956,14 @@ <translation>Виконати команду, коли транзакція гаманця зміниться (замість %s в команді буде підставлено ідентифікатор транзакції)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>Максимальна загальна комісія за одну транзакцію; занадто низьке значення може скасувати відправку великих транзакцій (типово: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>Зменшити вимоги до наявного простору на носії даних за допомогою скорочення ланцюжка (видалення старих блоків). Цей режим вимикає підтримку гаманця та є несумісним з параметром -txindex. Увага: при поверненні до типового значення видалені частини ланцюжка буде повторно завантажено. (типово: 0 = вимкнути скорочення ланцюжка, >%u = очікуваний розмір файлів блоків в МіБ)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>Встановити кількість потоків скрипту перевірки (від %u до %d, 0 = автоматично, <0 = вказує кількість вільних ядер, типово: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>Схоже, що база даних блоків містить блок з майбутнього. Це може статися із-за некоректно встановленої дати та/або часу. Перебудовуйте базу даних блоків лише тоді, коли ви переконані, що встановлено правильну дату і час</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>Це тестова збірка пре-релізної версії - використовуйте на свій страх і ризик - не застосовувати для добування монет або торгівлі</translation> </message> @@ -2849,6 +2972,10 @@ <translation>Неможливо прив'язатися до %s на цьому комп'ютері. Можливо, Bitcoin Core вже запущено.</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>Використовувати UPnP для відображення порту, що прослуховується (типово: 1 при прослуховуванні та за відсутності -proxy)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>УВАГА: аномально висока кількість згенерованих блоків, %d блок(ів) було отримано за останні %d годин(и) (має бути %d)</translation> </message> @@ -2857,10 +2984,6 @@ <translation>УВАГА: перевірте ваше мережеве з'єднання, %d блок(ів) було отримано за останні %d годин(и) (має бути %d)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>Увага: Частина мережі використовує інший головний ланцюжок! Деякі добувачі, можливо, зазнають проблем.</translation> </message> @@ -2869,10 +2992,6 @@ <translation>Увага: Наш ланцюжок блоків відрізняється від ланцюжків підключених учасників! Можливо, вам, або іншим вузлам, необхідно оновитися.</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>Увага: помилка читання wallet.dat! Всі ключі прочитано коректно, але дані транзакцій чи записи адресної книги можуть бути пропущені, або пошкоджені.</translation> - </message> - <message> <source>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>Увага: файл wallet.dat пошкоджено, дані врятовано! Оригінальний wallet.dat збережено як wallet.{timestamp}.bak до %s; якщо Ваш баланс чи транзакції неправильні, Ви можете відновити їх з резервної копії. </translation> </message> @@ -2885,6 +3004,10 @@ <translation>(типово: 1)</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>-maxmempool має бути не менше %d МБ</translation> + </message> + <message> <source><category> can be:</source> <translation><category> може бути:</translation> </message> @@ -2937,10 +3060,6 @@ <translation>Помилка відкриття блоку бази даних </translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>Помилка: Сталася фатальна помилка (детальніший опис наведено в debug.log)</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>Помилка: Мало вільного місця на диску!</translation> </message> @@ -2949,10 +3068,6 @@ <translation>Не вдалося слухати на жодному порту. Використовуйте -listen=0, якщо ви хочете цього.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>Якщо <category> не задано, виводить всю налагоджувальну інформацію.</translation> - </message> - <message> <source>Importing...</source> <translation>Імпорт...</translation> </message> @@ -2965,6 +3080,10 @@ <translation>Помилка в адресі -onion: «%s»</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>Утримувати розмір пам'яті для пулу транзакцій меншим за <n> мегабайтів (типово: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>Бракує доступних дескрипторів файлів.</translation> </message> @@ -2993,8 +3112,24 @@ <translation>Вкажіть файл гаманця (в межах каталогу даних)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>Параметр -benchmark не підтримується та буде проігноровано; використовуйте -debug=bench.</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>Параметр -debugnet не підтримується та буде проігноровано; використовуйте -debug=net.</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>Параметр -tor не підтримується; використовуйте -onion.</translation> + </message> + <message> <source>Use UPnP to map the listening port (default: %u)</source> - <translation>Намагатись використовувати UPnP для відображення порту, що прослуховується, на роутері (типово: %u)</translation> + <translation>Використовувати UPnP для відображення порту, що прослуховується (типово: %u)</translation> + </message> + <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>Коментар до Клієнта Користувача (%s) містить небезпечні символи.</translation> </message> <message> <source>Verifying blocks...</source> @@ -3029,10 +3164,6 @@ <translation>Дозволити підключення по протоколу JSON-RPC зі вказаного джерела. Правильною для <ip> є окрема IP-адреса (наприклад, 1.2.3.4), IP-адреса та маска підмережі (наприклад, 1.2.3.4/255.255.255.0) або CIDR-адреса (наприклад, 1.2.3.4/24). Цей параметр можна вказувати декілька разів.</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>Сталася помилка при спробі відкрити порт RPC-адреси %s:%u для прослуховування: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>Прив'язатися до даної адреси та вносити до білого списку учасників, що під'єднуються до неї. Використовуйте запис виду [хост]:порт для IPv6</translation> </message> @@ -3057,18 +3188,10 @@ <translation>Помилка: Не вдалося налаштувати прослуховування вхідних підключень (listen повернув помилку: %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>Помилка: Параметр -socks не підтримується. Можливість вказувати версію SOCKS було видалено, так як підтримується лише SOCKS5.</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>Виконати команду при надходженні важливого сповіщення або при спостереженні тривалого розгалуження ланцюжка (замість %s буде підставлено повідомлення)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>Комісії (в BTC/КБ), що менші за вказану, вважатимуться нульовими (для ретрансляції) (типово: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>Якщо параметр paytxfee не встановлено, включити комісію для отримання перших підтверджень транзакцій протягом n блоків (типово: %u)</translation> </message> @@ -3081,10 +3204,6 @@ <translation>Максимальний розмір даних в транзакціях носіїв даних, що ми передаємо і добуваємо (за замовчуванням: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>Встановлений розмір ланцюжка блоків є замалим (менший за %d МБ). Будь ласка, виберіть більше число.</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>Дізнаватися адреси учасників через DNS при замалій кількості відомих адрес (типово: 1 за відсутності -connect)</translation> </message> @@ -3109,38 +3228,6 @@ <translation>Цей продукт включає в себе програмне забезпечення, розроблене в рамках проекту OpenSSL <https://www.openssl.org/>, криптографічне програмне забезпечення, написане Еріком Янгом, та функції для роботи з UPnP, написані Томасом Бернардом.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>Для використання bitcoind, або bitcoin-qt з параметром -server, ви повинні встановити rpcpassword в файлі конфігурації: -%s -Рекомендується використати такий випадковий пароль: -rpcuser=bitcoinrpc -rpcpassword=%s -(вам не треба запам'ятовувати цей пароль) -Ім'я користувача та пароль ПОВИННІ бути різними. -Якщо файлу не існує, створіть його, обмеживши доступ правом читання для власника. -Також рекомендується використовувати alertnotify для того, щоб отримувати сповіщення про проблеми; -наприклад: alertnotify=echo %%s | mail -s "Сповіщення Bitcoin" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>Увага: установлено дуже велике значення -maxtxfee! Такі великі комісії можуть бути сплачені в окремій транзакції.</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>Увага: будь ласка, перевірте дату і час на своєму комп'ютері! Якщо ваш годинник йде неправильно, Bitcoin Core може працювати некоректно.</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>Учасники, що знаходяться в білому списку, не можуть бути заблоковані за DoS та їхні транзакції завжди ретранслюватимуться (навіть якщо вони є в пам'яті), що може бути корисним, наприклад, для шлюзу</translation> </message> @@ -3161,10 +3248,6 @@ rpcpassword=%s <translation>Активація найкращого ланцюжка...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>Використання гаманця зі скороченим ланцюжком блоків неможливе.</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>Не вдалося розпізнати адресу для -whitebind: «%s»</translation> </message> @@ -3181,10 +3264,6 @@ rpcpassword=%s <translation>(C) 2009-%i Розробники Bitcoin Core</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>Неможливо розпізнати мережеву адресу для параметру -rpcbind (%s)</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>Помилка при завантаженні wallet.dat: Гаманець потребує новішої версії Bitcoin Core</translation> </message> @@ -3193,14 +3272,6 @@ rpcpassword=%s <translation>Помилка читання бази даних, припиняю роботу.</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>Помилка: Параметр -tor не підтримується, використовуйте -onion</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>Комісія (в BTC/КБ), що додаватиметься до вихідних транзакцій (типово: %s)</translation> - </message> - <message> <source>Information</source> <translation>Інформація</translation> </message> @@ -3241,18 +3312,10 @@ rpcpassword=%s <translation>Параметри вузла ретрансляції:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>Параметри RPC SSL: (див. Bitcoin Wiki для налаштування SSL)</translation> - </message> - <message> <source>RPC server options:</source> <translation>Параметри сервера RPC:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>Підтримка RPC для постійних HTTP-з'єднань (типово: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>При запуску перебудувати індекс ланцюжка блоків з поточних файлів blk000??.dat</translation> </message> @@ -3261,6 +3324,10 @@ rpcpassword=%s <translation>Отримувати та відображати попередження з мережі (типово: %u)</translation> </message> <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>Зменшення значення -maxconnections з %d до %d із-за обмежень системи.</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>Відсилати налагоджувальну інформацію на консоль, а не у файл debug.log</translation> </message> @@ -3329,10 +3396,6 @@ rpcpassword=%s <translation>Неможливо прив'язатися до %s на цьому комп'ютері (bind повернув помилку: %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Намагатись використовувати UPnP для відображення порту, що прослуховується на роутері (типово: 1 коли прослуховується)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>Ім'я користувача для JSON-RPC-з'єднань</translation> </message> @@ -3345,18 +3408,14 @@ rpcpassword=%s <translation>Попередження</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>Увага: Параметр -benchmark не підтримується та буде проігнорований, використовуйте -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>Увага: Параметр -debugnet не підтримується та буде проігнорований, використовуйте -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Видалення всіх транзакцій з гаманця...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>Параметри сповіщень ZeroMQ:</translation> + </message> + <message> <source>on startup</source> <translation>під час запуску</translation> </message> @@ -3381,10 +3440,6 @@ rpcpassword=%s <translation>Пересканувати ланцюжок блоків, в пошуку втрачених транзакцій</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>Використовувати OpenSSL (https) для JSON-RPC-з'єднань</translation> - </message> - <message> <source>This help message</source> <translation>Дана довідка</translation> </message> @@ -3405,6 +3460,22 @@ rpcpassword=%s <translation>(1 = утримувати метадані транзакцій (до яких відноситься інформація про власника рахунку та запити платежів), 2 - відкинути)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>Встановлено дуже велике значення -maxtxfee! Такі великі комісії можуть бути сплачені окремою транзакцією.</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>Встановлено дуже велике значення -paytxfee! Цю комісію буде сплачено для проведення транзакції.</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>Не тримати транзакції в пам'яті довше <n> годин (типово: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>Помилка читання wallet.dat! Всі ключі прочитано коректно, але дані транзакцій чи записи адресної книги можуть бути пропущені або пошкоджені.</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>Рівень ретельності перевірки блоків (0-4, типово: %u)</translation> </message> @@ -3421,6 +3492,14 @@ rpcpassword=%s <translation>Виводити налагоджувальну інформацію (типово: %u, вказання <category> необов'язкове)</translation> </message> <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>Загальна довжина рядку мережевої версії (%i) перевищує максимально допустиму (%i). Зменшіть число чи розмір коментарів клієнта користувача.</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>Параметр -socks не підтримується. Можливість вказувати версію SOCKS було видалено, так як підтримується лише SOCKS5.</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> <translation>Використовувати окремий SOCKS5-проксі для з'єднання з учасниками через приховані сервіси Tor (типово: %s)</translation> </message> @@ -3429,10 +3508,6 @@ rpcpassword=%s <translation>(типово: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>Допустимі шифри (типово: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>Завжди дізнаватися адреси учасників через DNS (типово: %u)</translation> </message> @@ -3493,14 +3568,6 @@ rpcpassword=%s <translation>Ретранслювати не-P2SH транзакції з мультипідписом (типово: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>Файл сертифіката сервера (типово: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>Закритий ключ сервера (типово: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>Встановити розмір пулу ключів <n> (типово: %u)</translation> </message> diff --git a/src/qt/locale/bitcoin_ur_PK.ts b/src/qt/locale/bitcoin_ur_PK.ts index d4242d5e3c..db5cca3cca 100644 --- a/src/qt/locale/bitcoin_ur_PK.ts +++ b/src/qt/locale/bitcoin_ur_PK.ts @@ -1,4 +1,4 @@ -<TS language="ur_PK" version="2.0"> +<TS language="ur_PK" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -109,6 +109,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Error</source> diff --git a/src/qt/locale/bitcoin_uz@Cyrl.ts b/src/qt/locale/bitcoin_uz@Cyrl.ts index cc0a4bba08..0b382ac6c0 100644 --- a/src/qt/locale/bitcoin_uz@Cyrl.ts +++ b/src/qt/locale/bitcoin_uz@Cyrl.ts @@ -1,4 +1,4 @@ -<TS language="uz@Cyrl" version="2.0"> +<TS language="uz@Cyrl" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -213,6 +213,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -899,6 +902,10 @@ <translation>Бегона тараф ўтказмалари URL манзиллари</translation> </message> <message> + <source>&Network</source> + <translation>Тармоқ</translation> + </message> + <message> <source>Proxy &IP:</source> <translation>Прокси &IP рақами:</translation> </message> @@ -1033,13 +1040,45 @@ <source>Recent transactions</source> <translation>Сўнгги пул ўтказмалари</translation> </message> - </context> + <message> + <source>Unconfirmed transactions to watch-only addresses</source> + <translation>Тасдиқланмаган ўтказмалар-фақат манзилларини кўриш</translation> + </message> + <message> + <source>Current total balance in watch-only addresses</source> + <translation>Жорий умумий баланс фақат кўринадиган манзилларда</translation> + </message> +</context> <context> <name>PaymentServer</name> + <message> + <source>URI handling</source> + <translation>URI осилиб қолмоқда</translation> + </message> + <message> + <source>Invalid payment address %1</source> + <translation>Нотўғри тўлов манзили %1</translation> + </message> + <message> + <source>Payment request rejected</source> + <translation>Тўлов сўрови инкор этилди</translation> + </message> + <message> + <source>Payment request network doesn't match client network.</source> + <translation>Тўлов сўрови тармоғи мижоз тармоғига мос келмайди.</translation> + </message> + <message> + <source>Payment request error</source> + <translation>Тўлов сўрови хато</translation> + </message> </context> <context> <name>PeerTableModel</name> <message> + <source>User Agent</source> + <translation>Фойдаланувчи вакил</translation> + </message> + <message> <source>Ping Time</source> <translation>Ping вақти</translation> </message> @@ -1051,6 +1090,10 @@ <translation>Миқдори</translation> </message> <message> + <source>Enter a Bitcoin address (e.g. %1)</source> + <translation>Bitcoin манзилини киритинг (масалан. %1)</translation> + </message> + <message> <source>%1 m</source> <translation>%1 д</translation> </message> @@ -1145,12 +1188,20 @@ <translation>Батафсил маълумотларни кўриш учун уламни танланг.</translation> </message> <message> - <source>Starting Height</source> - <translation>Узунликнинг бошланиши</translation> + <source>Direction</source> + <translation>Йўналиш</translation> + </message> + <message> + <source>Version</source> + <translation>Версия</translation> + </message> + <message> + <source>User Agent</source> + <translation>Фойдаланувчи вакил</translation> </message> <message> - <source>Sync Height</source> - <translation>Узунликни синхронлаш</translation> + <source>Services</source> + <translation>Хизматлар</translation> </message> <message> <source>Ban Score</source> @@ -1257,12 +1308,24 @@ <translation>ҳеч қачон</translation> </message> <message> - <source>Unknown</source> - <translation>Номаълум</translation> + <source>Inbound</source> + <translation>Ички йўналиш</translation> + </message> + <message> + <source>Outbound</source> + <translation>Ташқи йўналиш</translation> + </message> + <message> + <source>Yes</source> + <translation>Ҳа</translation> + </message> + <message> + <source>No</source> + <translation>Йўқ</translation> </message> <message> - <source>Fetching...</source> - <translation>Олинмоқда...</translation> + <source>Unknown</source> + <translation>Номаълум</translation> </message> </context> <context> @@ -1343,10 +1406,30 @@ <context> <name>ReceiveRequestDialog</name> <message> + <source>QR Code</source> + <translation>QR Коди</translation> + </message> + <message> + <source>Copy &Address</source> + <translation>Нусҳалаш & Манзил</translation> + </message> + <message> <source>&Save Image...</source> <translation>Расмни &сақлаш</translation> </message> <message> + <source>Request payment to %1</source> + <translation> %1 дан Тўловни сўраш</translation> + </message> + <message> + <source>Payment information</source> + <translation>Тўлов маълумоти</translation> + </message> + <message> + <source>URI</source> + <translation>URI</translation> + </message> + <message> <source>Address</source> <translation>Манзил</translation> </message> @@ -1358,6 +1441,10 @@ <source>Label</source> <translation>Ёрлик</translation> </message> + <message> + <source>Message</source> + <translation>Хабар</translation> + </message> </context> <context> <name>RecentRequestsTableModel</name> @@ -1370,6 +1457,10 @@ <translation>Ёрлик</translation> </message> <message> + <source>Message</source> + <translation>Хабар</translation> + </message> + <message> <source>Amount</source> <translation>Миқдори</translation> </message> @@ -1377,7 +1468,15 @@ <source>(no label)</source> <translation>(Ёрлик мавжуд эмас)</translation> </message> - </context> + <message> + <source>(no message)</source> + <translation>(Хабар йўқ)</translation> + </message> + <message> + <source>(no amount)</source> + <translation>(Миқдор мавжуд эмас)</translation> + </message> +</context> <context> <name>SendCoinsDialog</name> <message> @@ -1385,6 +1484,18 @@ <translation>Тангаларни жунат</translation> </message> <message> + <source>Coin Control Features</source> + <translation>Танга бошқаруви ҳусусиятлари</translation> + </message> + <message> + <source>automatically selected</source> + <translation>автоматик тарзда танланган</translation> + </message> + <message> + <source>Insufficient funds!</source> + <translation>Кам миқдор</translation> + </message> + <message> <source>Quantity:</source> <translation>Сони:</translation> </message> @@ -1421,6 +1532,34 @@ <translation>Бошқа ўзгартирилган манзил</translation> </message> <message> + <source>Transaction Fee:</source> + <translation>Ўтказма тўлови</translation> + </message> + <message> + <source>Choose...</source> + <translation>Танлов</translation> + </message> + <message> + <source>per kilobyte</source> + <translation>Хар килобайтига</translation> + </message> + <message> + <source>Recommended:</source> + <translation>Тавсия этилган</translation> + </message> + <message> + <source>Confirmation time:</source> + <translation>Тасдиқ вақти</translation> + </message> + <message> + <source>normal</source> + <translation>Нормал</translation> + </message> + <message> + <source>fast</source> + <translation>Тезкор</translation> + </message> + <message> <source>Send to multiple recipients at once</source> <translation>Бирданига бир нечта қабул қилувчиларга жўнатиш</translation> </message> @@ -1433,6 +1572,10 @@ <translation>Ахлат қутиси:</translation> </message> <message> + <source>Clear &All</source> + <translation>Барчасини & Тозалаш</translation> + </message> + <message> <source>Balance:</source> <translation>Баланс</translation> </message> @@ -1441,10 +1584,18 @@ <translation>Жўнатиш амалини тасдиқлаш</translation> </message> <message> + <source>S&end</source> + <translation>Жў&натиш</translation> + </message> + <message> <source>Confirm send coins</source> <translation>Тангалар жўнаишни тасдиқлаш</translation> </message> <message> + <source>%1 to %2</source> + <translation>%1 дан %2</translation> + </message> + <message> <source>Copy quantity</source> <translation>Нусха сони</translation> </message> @@ -1473,6 +1624,10 @@ <translation>Нусха қайтими</translation> </message> <message> + <source>or</source> + <translation>ёки</translation> + </message> + <message> <source>The amount to pay must be larger than 0.</source> <translation>Тўлов миқдори 0. дан катта бўлиши керак. </translation> </message> @@ -1520,6 +1675,14 @@ <translation>&Ёрлиқ:</translation> </message> <message> + <source>Choose previously used address</source> + <translation>Олдин фойдаланилган манзилни танла</translation> + </message> + <message> + <source>This is a normal payment.</source> + <translation>Бу нормал тўлов.</translation> + </message> + <message> <source>Alt+A</source> <translation>Alt+A</translation> </message> @@ -1531,6 +1694,10 @@ <source>Alt+P</source> <translation>Alt+P</translation> </message> + <message> + <source>Message:</source> + <translation>Хабар</translation> + </message> </context> <context> <name>ShutdownWindow</name> @@ -1538,6 +1705,10 @@ <context> <name>SignVerifyMessageDialog</name> <message> + <source>Choose previously used address</source> + <translation>Олдин фойдаланилган манзилни танла</translation> + </message> + <message> <source>Alt+A</source> <translation>Alt+A</translation> </message> @@ -1553,7 +1724,15 @@ <source>Signature</source> <translation>Имзо</translation> </message> - </context> + <message> + <source>Clear &All</source> + <translation>Барчасини & Тозалаш</translation> + </message> + <message> + <source>Message verified.</source> + <translation>Хабар тасдиқланди.</translation> + </message> +</context> <context> <name>SplashScreen</name> <message> @@ -1591,14 +1770,78 @@ <translation>Сана</translation> </message> <message> + <source>Source</source> + <translation>Манба</translation> + </message> + <message> + <source>Generated</source> + <translation>Яратилган</translation> + </message> + <message> + <source>From</source> + <translation>Дан</translation> + </message> + <message> + <source>To</source> + <translation>Га</translation> + </message> + <message> + <source>own address</source> + <translation>ўз манзили</translation> + </message> + <message> + <source>label</source> + <translation>ёрлиқ</translation> + </message> + <message> + <source>Credit</source> + <translation>Кредит (қарз)</translation> + </message> + <message> + <source>not accepted</source> + <translation>қабул қилинмади</translation> + </message> + <message> + <source>Transaction fee</source> + <translation>Ўтказма тўлови</translation> + </message> + <message> + <source>Net amount</source> + <translation>Умумий миқдор</translation> + </message> + <message> + <source>Message</source> + <translation>Хабар</translation> + </message> + <message> + <source>Comment</source> + <translation>Шарҳ</translation> + </message> + <message> <source>Transaction ID</source> <translation>ID</translation> </message> <message> + <source>Merchant</source> + <translation>Савдо</translation> + </message> + <message> + <source>Transaction</source> + <translation>Ўтказма</translation> + </message> + <message> <source>Amount</source> <translation>Миқдори</translation> </message> <message> + <source>true</source> + <translation>рост</translation> + </message> + <message> + <source>false</source> + <translation>ёлғон</translation> + </message> + <message> <source>, has not been successfully broadcast yet</source> <translation>, ҳалигача трансляция қилингани йўқ</translation> </message> @@ -1645,14 +1888,26 @@ <translation>Яратилди, аммо қабул қилинмади</translation> </message> <message> + <source>Offline</source> + <translation>Оффлайн</translation> + </message> + <message> <source>Label</source> <translation>Ёрлиқ</translation> </message> <message> + <source>Unconfirmed</source> + <translation>Тасдиқланмаган</translation> + </message> + <message> <source>Received with</source> <translation>Ёрдамида қабул қилиш</translation> </message> <message> + <source>Received from</source> + <translation>Дан қабул қилиш</translation> + </message> + <message> <source>Sent to</source> <translation>Жўнатиш</translation> </message> @@ -1764,10 +2019,22 @@ <translation>Ёрликни тахрирлаш</translation> </message> <message> + <source>Show transaction details</source> + <translation>Ўтказма тафсилотларини кўрсатиш </translation> + </message> + <message> + <source>Export Transaction History</source> + <translation>Ўтказмалар тарихини экспорт қилиш</translation> + </message> + <message> <source>Exporting Failed</source> <translation>Экспорт қилиб бўлмади</translation> </message> <message> + <source>The transaction history was successfully saved to %1.</source> + <translation>Ўтказмалар тарихи %1 га муваффаққиятли сақланди.</translation> + </message> + <message> <source>Comma separated file (*.csv)</source> <translation>Вергул билан ажратилган файл (*.csv)</translation> </message> @@ -1809,7 +2076,11 @@ </context> <context> <name>WalletFrame</name> - </context> + <message> + <source>No wallet has been loaded.</source> + <translation>Хали бирорта хамён юкланмади</translation> + </message> +</context> <context> <name>WalletModel</name> <message> @@ -1847,8 +2118,8 @@ <translation>Демон сифатида орқа фонда ишга туширинг ва буйруқларга рози бўлинг</translation> </message> <message> - <source>Use the test network</source> - <translation>Синов тармоғидан фойдаланинг</translation> + <source>Connection options:</source> + <translation>Уланиш кўрсаткичлари:</translation> </message> <message> <source>Choose data directory on startup (default: 0)</source> @@ -1879,10 +2150,6 @@ <translation>JSON-RPC уланишлари учун парол</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>JSON-RPC уланишлари учун OpenSSL (https)дан фойдаланиш</translation> - </message> - <message> <source>This help message</source> <translation>Бу ёрдам хабари</translation> </message> diff --git a/src/qt/locale/bitcoin_vi.ts b/src/qt/locale/bitcoin_vi.ts index 64d11d4645..7a7c68c4b3 100644 --- a/src/qt/locale/bitcoin_vi.ts +++ b/src/qt/locale/bitcoin_vi.ts @@ -1,4 +1,4 @@ -<TS language="vi" version="2.0"> +<TS language="vi" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -49,6 +49,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> </context> <context> diff --git a/src/qt/locale/bitcoin_vi_VN.ts b/src/qt/locale/bitcoin_vi_VN.ts index 7bcded7448..1695f26ae7 100644 --- a/src/qt/locale/bitcoin_vi_VN.ts +++ b/src/qt/locale/bitcoin_vi_VN.ts @@ -1,4 +1,4 @@ -<TS language="vi_VN" version="2.0"> +<TS language="vi_VN" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -137,6 +137,9 @@ </message> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> <message> <source>&Overview</source> diff --git a/src/qt/locale/bitcoin_zh_CN.ts b/src/qt/locale/bitcoin_zh_CN.ts index 4470b2601b..ecb35b0c4f 100644 --- a/src/qt/locale/bitcoin_zh_CN.ts +++ b/src/qt/locale/bitcoin_zh_CN.ts @@ -1,4 +1,4 @@ -<TS language="zh_CN" version="2.0"> +<TS language="zh_CN" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -35,7 +35,7 @@ </message> <message> <source>Export the data in the current tab to a file</source> - <translation>导出当前数据到文件</translation> + <translation>导出当前分页里的数据到文件</translation> </message> <message> <source>&Export</source> @@ -47,11 +47,11 @@ </message> <message> <source>Choose the address to send coins to</source> - <translation>选择发款地址</translation> + <translation>选择发币地址</translation> </message> <message> <source>Choose the address to receive coins with</source> - <translation>选择收款地址</translation> + <translation>选择收币地址</translation> </message> <message> <source>C&hoose</source> @@ -185,7 +185,7 @@ </message> <message> <source>Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>ten or more random characters</b>, or <b>eight or more words</b>.</source> - <translation>请输入新的钱包密码. <br/>密码须包含<b>10个以上字符</b>,或<b>8个以上单词</b>.</translation> + <translation>请输入新的钱包密码. <br/>密码须包含<b>10个以上随机字符</b>,或<b>8个以上单词</b>.</translation> </message> <message> <source>Enter the old passphrase and new passphrase to the wallet.</source> @@ -221,6 +221,13 @@ </message> </context> <context> + <name>BanTableModel</name> + <message> + <source>IP/Netmask</source> + <translation>IP/网络掩码</translation> + </message> + </context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -1034,7 +1041,7 @@ </message> <message> <source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source> - <translation>如果禁用未确认的零钱,则零钱至少需要1个确认才能使用。同时账户余额显示会受到影响。</translation> + <translation>如果禁用未确认的零钱,则零钱至少需要1个确认才能使用。同时账户余额计算会受到影响。</translation> </message> <message> <source>&Spend unconfirmed change</source> @@ -1069,6 +1076,18 @@ <translation>代理端口(例如 9050)</translation> </message> <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> <source>&Window</source> <translation>窗口(&W)</translation> </message> @@ -1287,10 +1306,6 @@ <translation>支付请求 %1 太大 (%2 字节。只允许 %3 字节)。</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>支付请求防滥用保护</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>%1: %2 通讯出错</translation> </message> @@ -1463,6 +1478,10 @@ <translation>选择节点查看详细信息。</translation> </message> <message> + <source>Whitelisted</source> + <translation>白名单</translation> + </message> + <message> <source>Direction</source> <translation>方向</translation> </message> @@ -1471,20 +1490,20 @@ <translation>版本</translation> </message> <message> - <source>User Agent</source> - <translation>用户代理</translation> + <source>Synced Headers</source> + <translation>同步区块头</translation> </message> <message> - <source>Services</source> - <translation>服务</translation> + <source>Synced Blocks</source> + <translation>同步区块链</translation> </message> <message> - <source>Starting Height</source> - <translation>开始高度</translation> + <source>User Agent</source> + <translation>用户代理</translation> </message> <message> - <source>Sync Height</source> - <translation>同步高度</translation> + <source>Services</source> + <translation>服务</translation> </message> <message> <source>Ban Score</source> @@ -1563,6 +1582,22 @@ <translation>清空控制台</translation> </message> <message> + <source>1 &hour</source> + <translation>1 小时(&H)</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 天(&D)</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 周(&W)</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 年(&Y)</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>欢迎使用 比特币核心 RPC 控制台。</translation> </message> @@ -1591,6 +1626,10 @@ <translation>%1 GB</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(节点ID: %1)</translation> + </message> + <message> <source>via %1</source> <translation>通过 %1</translation> </message> @@ -1607,12 +1646,16 @@ <translation>传出</translation> </message> <message> - <source>Unknown</source> - <translation>未知</translation> + <source>Yes</source> + <translation>是</translation> </message> <message> - <source>Fetching...</source> - <translation>获取中...</translation> + <source>No</source> + <translation>否</translation> + </message> + <message> + <source>Unknown</source> + <translation>未知</translation> </message> </context> <context> @@ -1872,7 +1915,7 @@ </message> <message> <source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks. But be aware that this can end up in a never confirming transaction once there is more demand for bitcoin transactions than the network can process.</source> - <translation>交易量小时只支付最小交易费是可以的。但是请注意,当交易量大时您的交易可能永远无法确认。</translation> + <translation>交易量小时只支付最小交易费是可以的。但是请注意,当交易量大到超出网络可处理时您的交易可能永远无法确认。</translation> </message> <message> <source>(read the tooltip)</source> @@ -1936,7 +1979,7 @@ </message> <message> <source>Confirm the send action</source> - <translation>确认并发送货币</translation> + <translation>确认发送货币</translation> </message> <message> <source>S&end</source> @@ -1979,10 +2022,6 @@ <translation>复制零钱</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>总额 %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>或</translation> </message> @@ -2023,6 +2062,10 @@ <translation>只支付最小费用 %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>总金额 %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>接收人地址无效。请重新检查。</translation> </message> @@ -2804,17 +2847,20 @@ </translation> </message> <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>错误:发生了致命的内部错误,详情见 debug.log 文件</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>正在修剪区块存储...</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>在后台运行并接受命令 </translation> </message> <message> - <source>Use the test network</source> - <translation>使用测试网络 -</translation> - </message> - <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> <translation>接受来自外部的连接 (缺省: 如果不带 -proxy or -connect 参数设置为1)</translation> </message> @@ -2835,14 +2881,6 @@ <translation>当最佳区块变化时执行命令 (命令行中的 %s 会被替换成区块哈希值)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>单次交易最多使用交易费;设置太低可能导致大宗交易中止 (默认: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>通过修剪(删除)旧数据块减少存储需求。此模式将禁用钱包支持,并与 -txindex 不兼容。警告:还原此设置需要重新下载整个数据链。(默认: 0 = 禁用修剪数据块, >%u = 数据块文件目标大小,单位 MiB)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>设置脚本验证的程序 (%u 到 %d, 0 = 自动, <0 = 保留自由的核心, 默认值: %d)</translation> </message> @@ -2863,10 +2901,6 @@ <translation>警告:请检查您的网络连接,最近 %d 小时收到了 %d 个数据块(预期为 %d 个)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>警告:网络似乎并不完全同意!有些矿工似乎遇到了问题。</translation> </message> @@ -2875,10 +2909,6 @@ <translation>警告:我们的同行似乎不完全同意!您可能需要升级,或者其他节点可能需要升级。</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>警告:钱包文件wallet.dat读取失败!最重要的公钥、私钥数据都没有问题,但是交易记录或地址簿数据不正确,或者存在数据丢失。</translation> - </message> - <message> <source>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>警告:钱包文件wallet.dat损坏! 原始的钱包文件已经备份到%s目录下并重命名为{timestamp}.bak 。如果您的账户余额或者交易记录不正确,请使用您的钱包备份文件恢复。</translation> </message> @@ -2943,10 +2973,6 @@ <translation>导入数据块数据库出错</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>错误:发生了致命的内部错误,请打开debug.log查看详细信息 </translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>错误:磁盘剩余空间低!</translation> </message> @@ -2955,10 +2981,6 @@ <translation>监听端口失败。请使用 -listen=0 参数。</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>如果<category>未提供,将输出所有调试信息。</translation> - </message> - <message> <source>Importing...</source> <translation>导入中...</translation> </message> @@ -3035,10 +3057,6 @@ <translation>允许来自指定地址的 JSON-RPC 连接。 <ip>为单一IP (如: 1.2.3.4), 网络/掩码 (如: 1.2.3.4/255.255.255.0), 网络/CIDR (如: 1.2.3.4/24)。该选项可多次指定。</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>设置RPC监听端口 %s:%u 时发生错误: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>绑定到指定地址和连接的白名单节点。 IPv6使用 [主机]:端口 格式 </translation> </message> @@ -3063,18 +3081,10 @@ <translation>错误:监听外部连接失败 (监听返回错误 %s) </translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>错误:不支持的 -socks 参数。不再支持设置SOCKS版本,现在只支持 SOCKS5代理。</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>当收到相关提醒或者我们看到一个长分叉时执行命令(%s 将替换为消息)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>交易费(BTC/kb)比这更小的交易在转发时将被视为零费交易 (默认: %s) </translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>如果未设置交易费用,自动添加足够的交易费以确保交易在平均n个数据块内被确认 (默认: %u) </translation> </message> @@ -3087,10 +3097,6 @@ <translation>Maximum size of data in data carrier transactions we relay and mine (default: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>修剪被配置为比最小值 %d MB 更低。请使用更大的数字。</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>通过DNS查询每个地址,如果短地址 (默认值: 1 除非 -连接)</translation> </message> @@ -3115,38 +3121,6 @@ <translation>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>要使用 bitcoind 或者 bitcoin-qt 中的 -server 选项,您必须在配置文件中设置一个密码: -%s -建议您使用下列随机密码: -rpcuser=bitcoinrpc -rpcpassword=%s -(您不需要记住这个密码) -用户名和密码不能相同。 -如果该文件不存在,创建一个文件并设置权限为仅创建者可读。 -此外,还建议您设置 alertnotify 以便您能注意到问题: -例如 alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>警告:-maxtxfee 设置的太高了!每进行一笔交易时您都要花费这么多费用。</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>警告:请检查电脑的日期时间设置是否正确!时间错误可能会导致比特币客户端运行异常。</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>白名单节点不能被DoS banned ,且转发所有来自他们的交易(即便这些交易已经存在于mempool中),常用于网关 </translation> </message> @@ -3167,10 +3141,6 @@ rpcpassword=%s <translation>正在激活最佳数据链...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>不能在修剪模式下运行一个钱包。</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>无法解析 -whitebind 地址: '%s'</translation> </message> @@ -3187,10 +3157,6 @@ rpcpassword=%s <translation>版权所有 (C) 2009-%i Bitcoin Core 开发者</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>无法解析 -rpcbind 的值 %s 为网络地址</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>加载wallet.dat错误:需要新版的比特币核心钱包</translation> </message> @@ -3199,14 +3165,6 @@ rpcpassword=%s <translation>读取数据库出错,关闭中。</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>错误:发现了不支持的参数 -tor,请使用 -onion。</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>为付款交易添加交易费 (BTC/kb) (默认: %s) </translation> - </message> - <message> <source>Information</source> <translation>信息</translation> </message> @@ -3243,18 +3201,10 @@ rpcpassword=%s <translation>节点中继选项:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL选项:(见有关比特币设置用于SSL说明的维基百科)</translation> - </message> - <message> <source>RPC server options:</source> <translation>RPC 服务器选项:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPC 支持 HTTP 持久连接 (默认: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>启动时重新为当前的 blk000??.dat 文件建立索引</translation> </message> @@ -3332,10 +3282,6 @@ rpcpassword=%s <translation>无法在此计算机上绑定 %s (绑定返回错误 %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>使用UPnp映射监听端口(缺省: 监听状态设为1)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC 连接用户名</translation> </message> @@ -3348,18 +3294,14 @@ rpcpassword=%s <translation>警告</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>警告:不支持的参数 -benchmark 已忽略,请使用 -debug=bench。</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>警告:不支持的参数 -debugnet 已忽略,请使用 -debug=net。</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>Zapping all transactions from wallet...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ 通知选项:</translation> + </message> + <message> <source>on startup</source> <translation>启动中</translation> </message> @@ -3385,10 +3327,6 @@ rpcpassword=%s <translation>重新扫描区块链以查找遗漏的钱包交易</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>为 JSON-RPC 连接使用 OpenSSL (https) 连接</translation> - </message> - <message> <source>This help message</source> <translation>本帮助信息 </translation> @@ -3434,10 +3372,6 @@ rpcpassword=%s <translation>(默认: %s) </translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>可接受的密码算法 (默认: %s) </translation> - </message> - <message> <source>Error loading wallet.dat</source> <translation>wallet.dat 钱包文件加载出错</translation> </message> @@ -3494,14 +3428,6 @@ rpcpassword=%s <translation>是否转发 非P2SH格式的多签名交易 (默认: %u) </translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>服务器证书文件 (默认: %s) </translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>服务器私钥 (默认: %s) </translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>设置私钥池大小为 <n> (默认:%u) </translation> </message> diff --git a/src/qt/locale/bitcoin_zh_HK.ts b/src/qt/locale/bitcoin_zh_HK.ts index 7062377f45..4b4c1c687d 100644 --- a/src/qt/locale/bitcoin_zh_HK.ts +++ b/src/qt/locale/bitcoin_zh_HK.ts @@ -1,4 +1,4 @@ -<TS language="zh_HK" version="2.0"> +<TS language="zh_HK" version="2.1"> <context> <name>AddressBookPage</name> </context> @@ -9,6 +9,9 @@ <name>AskPassphraseDialog</name> </context> <context> + <name>BanTableModel</name> + </context> +<context> <name>BitcoinGUI</name> </context> <context> diff --git a/src/qt/locale/bitcoin_zh_TW.ts b/src/qt/locale/bitcoin_zh_TW.ts index 9a93d896fe..8a92be31b5 100644 --- a/src/qt/locale/bitcoin_zh_TW.ts +++ b/src/qt/locale/bitcoin_zh_TW.ts @@ -1,4 +1,4 @@ -<TS language="zh_TW" version="2.0"> +<TS language="zh_TW" version="2.1"> <context> <name>AddressBookPage</name> <message> @@ -221,6 +221,17 @@ </message> </context> <context> + <name>BanTableModel</name> + <message> + <source>IP/Netmask</source> + <translation>網路位址/遮罩</translation> + </message> + <message> + <source>Banned Until</source> + <translation>禁止期限</translation> + </message> +</context> +<context> <name>BitcoinGUI</name> <message> <source>Sign &message...</source> @@ -340,11 +351,11 @@ </message> <message> <source>&Send</source> - <translation>已傳送</translation> + <translation>付款</translation> </message> <message> <source>&Receive</source> - <translation>已接收</translation> + <translation>收款</translation> </message> <message> <source>Show information about Bitcoin Core</source> @@ -1069,6 +1080,34 @@ <translation>代理伺服器的通訊埠(像是 9050)</translation> </message> <message> + <source>Used for reaching peers via:</source> + <translation>用來跟其他節點聯絡的中介:</translation> + </message> + <message> + <source>Shows, if the supplied default SOCKS5 proxy is used to reach peers via this network type.</source> + <translation>如果對這種網路類型,有指定用來跟其他節點聯絡的 SOCKS5 代理伺服器的話,就會顯示在這裡。</translation> + </message> + <message> + <source>IPv4</source> + <translation>IPv4</translation> + </message> + <message> + <source>IPv6</source> + <translation>IPv6</translation> + </message> + <message> + <source>Tor</source> + <translation>Tor</translation> + </message> + <message> + <source>Connect to the Bitcoin network through a separate SOCKS5 proxy for Tor hidden services.</source> + <translation>透過另外的 SOCKS5 代理伺服器來連線到位元幣網路中的 Tor 隱藏服務。</translation> + </message> + <message> + <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services:</source> + <translation>用另外的 SOCKS5 代理伺服器,來透過 Tor 隱藏服務跟其他節點聯絡:</translation> + </message> + <message> <source>&Window</source> <translation>視窗</translation> </message> @@ -1287,10 +1326,6 @@ <translation>付款要求 %1 過大 (%2 位元組, 上限 %3 位元組).</translation> </message> <message> - <source>Payment request DoS protection</source> - <translation>支付請求的分佈式阻斷服務攻擊DoS保護</translation> - </message> - <message> <source>Error communicating with %1: %2</source> <translation>跟 %1 通訊時發生錯誤: %2</translation> </message> @@ -1448,21 +1483,29 @@ </message> <message> <source>Received</source> - <translation>收款</translation> + <translation>收到</translation> </message> <message> <source>Sent</source> - <translation>付款</translation> + <translation>送出</translation> </message> <message> <source>&Peers</source> <translation>節點</translation> </message> <message> + <source>Banned peers</source> + <translation>被禁節點</translation> + </message> + <message> <source>Select a peer to view detailed information.</source> <translation>選一個節點來看詳細資訊</translation> </message> <message> + <source>Whitelisted</source> + <translation>列在白名單</translation> + </message> + <message> <source>Direction</source> <translation>方向</translation> </message> @@ -1471,20 +1514,24 @@ <translation>版本</translation> </message> <message> - <source>User Agent</source> - <translation>使用者代理</translation> + <source>Starting Block</source> + <translation>起始區塊</translation> </message> <message> - <source>Services</source> - <translation>服務</translation> + <source>Synced Headers</source> + <translation>已同步前導資料</translation> + </message> + <message> + <source>Synced Blocks</source> + <translation>已同步區塊</translation> </message> <message> - <source>Starting Height</source> - <translation>起始高度</translation> + <source>User Agent</source> + <translation>使用者代理</translation> </message> <message> - <source>Sync Height</source> - <translation>同步高度</translation> + <source>Services</source> + <translation>服務</translation> </message> <message> <source>Ban Score</source> @@ -1515,6 +1562,14 @@ <translation>Ping 時間</translation> </message> <message> + <source>The duration of a currently outstanding ping.</source> + <translation>目前這一次 ping 已經過去的時間。</translation> + </message> + <message> + <source>Ping Wait</source> + <translation>Ping 等待時間</translation> + </message> + <message> <source>Time Offset</source> <translation>時間差</translation> </message> @@ -1544,11 +1599,11 @@ </message> <message> <source>In:</source> - <translation>輸入:</translation> + <translation>來:</translation> </message> <message> <source>Out:</source> - <translation>輸出:</translation> + <translation>去:</translation> </message> <message> <source>Build date</source> @@ -1563,6 +1618,34 @@ <translation>清主控台</translation> </message> <message> + <source>&Disconnect Node</source> + <translation>跟節點斷線</translation> + </message> + <message> + <source>Ban Node for</source> + <translation>禁止節點連線:</translation> + </message> + <message> + <source>1 &hour</source> + <translation>1 小時</translation> + </message> + <message> + <source>1 &day</source> + <translation>1 天</translation> + </message> + <message> + <source>1 &week</source> + <translation>1 星期</translation> + </message> + <message> + <source>1 &year</source> + <translation>1 年</translation> + </message> + <message> + <source>&Unban Node</source> + <translation>解禁解點連線</translation> + </message> + <message> <source>Welcome to the Bitcoin Core RPC console.</source> <translation>歡迎使用位元幣核心 RPC 主控台。</translation> </message> @@ -1591,6 +1674,10 @@ <translation>%1 GB (十億位元組)</translation> </message> <message> + <source>(node id: %1)</source> + <translation>(節點識別碼: %1)</translation> + </message> + <message> <source>via %1</source> <translation>經由 %1</translation> </message> @@ -1607,12 +1694,16 @@ <translation>出去</translation> </message> <message> - <source>Unknown</source> - <translation>不明</translation> + <source>Yes</source> + <translation>是</translation> + </message> + <message> + <source>No</source> + <translation>否</translation> </message> <message> - <source>Fetching...</source> - <translation>正在擷取中...</translation> + <source>Unknown</source> + <translation>不明</translation> </message> </context> <context> @@ -1979,10 +2070,6 @@ <translation>複製找零金額</translation> </message> <message> - <source>Total Amount %1 (= %2)</source> - <translation>總金額 %1 (= %2)</translation> - </message> - <message> <source>or</source> <translation>或</translation> </message> @@ -2019,6 +2106,10 @@ <translation>只付最低手續費 %1</translation> </message> <message> + <source>Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></source> + <translation>總金額 %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span></translation> + </message> + <message> <source>The recipient address is not valid. Please recheck.</source> <translation>收款位址無效。請再檢查看看。</translation> </message> @@ -2138,7 +2229,7 @@ <name>ShutdownWindow</name> <message> <source>Bitcoin Core is shutting down...</source> - <translation>位元幣核心正在關閉中...</translation> + <translation>正在關閉位元幣核心中...</translation> </message> <message> <source>Do not shut down the computer until this window disappears.</source> @@ -2798,12 +2889,56 @@ </translation> </message> <message> + <source>Fees (in %s/kB) smaller than this are considered zero fee for relaying (default: %s)</source> + <translation>當處理轉發的交易時,如果每千位元組(kB)的手續費比這個值(單位是 %s)低,就視為沒付手續費(預設值: %s)</translation> + </message> + <message> + <source>If <category> is not supplied or if <category> = 1, output all debugging information.</source> + <translation>如果沒有提供 <category> 或是值為 1 就會輸出所有的除錯資訊。</translation> + </message> + <message> + <source>Maximum total fees (in %s) to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> + <translation>一次錢包交易允許付出最高的總手續費(單位是 %s);設定太低的話,可能會無法進行資料量大的交易(預設值: %s)</translation> + </message> + <message> + <source>Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> + <translation>請檢查電腦日期和時間是否正確!位元幣核心沒辦法在時鐘不準的情況下正常運作。</translation> + </message> + <message> + <source>Prune configured below the minimum of %d MiB. Please use a higher number.</source> + <translation>設定的修剪值小於最小需求的 %d 百萬位元組(MiB)。請指定大一點的數字。</translation> + </message> + <message> + <source>Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node)</source> + <translation>修剪模式:錢包的最後同步狀態是在被修剪掉的區塊資料中。你需要用 -reindex 參數執行(會重新下載整個區塊鏈)</translation> + </message> + <message> + <source>Reduce storage requirements by pruning (deleting) old blocks. This mode is incompatible with -txindex and -rescan. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> + <translation>修剪(刪除)掉老舊區塊來減少需要的儲存空間。這種模式會關閉錢包功能,並且和 -txindex 及 -rescan 參數不相容。警告: 從這種模式還原會需要重新下載一整個區塊鏈。(預設值: 0 表示不修剪區塊,>%u 表示為區塊檔案的目標大小,單位是百萬位元組 MiB)</translation> + </message> + <message> + <source>Rescans are not possible in pruned mode. You will need to use -reindex which will download the whole blockchain again.</source> + <translation>在修剪模式下沒辦法重新掃描區塊鏈。你需要配合使用 -reindex 參數來重新下載整個區塊鏈。</translation> + </message> + <message> + <source>Error: A fatal internal error occurred, see debug.log for details</source> + <translation>錯誤: 發生了致命的內部錯誤,詳情請看 debug.log</translation> + </message> + <message> + <source>Fee (in %s/kB) to add to transactions you send (default: %s)</source> + <translation>交易付款時每千位元組(kB)的交易手續費(單位是 %s,預設值: %s)</translation> + </message> + <message> + <source>Pruning blockstore...</source> + <translation>正在修剪區塊資料庫中...</translation> + </message> + <message> <source>Run in the background as a daemon and accept commands</source> <translation>用護靈模式在背後執行並接受指令</translation> </message> <message> - <source>Use the test network</source> - <translation>使用測試網路</translation> + <source>Unable to start HTTP server. See debug log for details.</source> + <translation>無法啟動 HTTP 伺服器。詳情請看除錯紀錄。</translation> </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> @@ -2826,18 +2961,14 @@ <translation>當錢包有交易改變時要執行的指令(指令中的 %s 會被取代成交易識別碼)</translation> </message> <message> - <source>Maximum total fees to use in a single wallet transaction; setting this too low may abort large transactions (default: %s)</source> - <translation>一次錢包交易允許付出最高的總手續費;設定太低的話,可能會無法進行資料量大的交易(預設值: %s)</translation> - </message> - <message> - <source>Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >%u = target size in MiB to use for block files)</source> - <translation>修剪(刪除)掉老舊區塊來減少儲存空間的需求。這種模式會關閉錢包功能,並且和 -txindex 參數不相容。警告: 從這種模式還原會需要重新下載一整個區塊鏈。(預設值: 0 表示不修剪區塊,>%u 表示為區塊檔案的目標大小,單位是百萬位元組 MiB)</translation> - </message> - <message> <source>Set the number of script verification threads (%u to %d, 0 = auto, <0 = leave that many cores free, default: %d)</source> <translation>設定指令碼驗證的執行緒數目 (%u 到 %d,0 表示程式自動決定,小於 0 表示保留處理器核心不用的數目,預設值: %d)</translation> </message> <message> + <source>The block database contains a block which appears to be from the future. This may be due to your computer's date and time being set incorrectly. Only rebuild the block database if you are sure that your computer's date and time are correct</source> + <translation>區塊資料庫中有來自未來的區塊。可能是你電腦的日期時間不對。如果確定電腦日期時間沒錯的話,就重建區塊資料庫看看。</translation> + </message> + <message> <source>This is a pre-release test build - use at your own risk - do not use for mining or merchant applications</source> <translation>這是個還沒發表的測試版本 - 使用請自負風險 - 請不要用來開採或商業應用</translation> </message> @@ -2846,6 +2977,10 @@ <translation>沒辦法繫結在這台電腦上的 %s 。位元幣核心可能已經在執行了。</translation> </message> <message> + <source>Use UPnP to map the listening port (default: 1 when listening and no -proxy)</source> + <translation>是否要使用「通用即插即用」協定(UPnP),來設定聽候連線的通訊埠的對應(預設值: 當有聽候連線且沒有指定 -proxy 參數時為 1)</translation> + </message> + <message> <source>WARNING: abnormally high number of blocks generated, %d blocks received in the last %d hours (%d expected)</source> <translation>警告: 收到了不尋常地多的 %d 個區塊在過去 %d 小時內生產出來(預期是 %d 個)</translation> </message> @@ -2854,10 +2989,6 @@ <translation>警告: 請檢查你的網路連線狀況,收到了 %d 個區塊是在過去 %d 小時內生產出來(預期是 %d 個)</translation> </message> <message> - <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> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> <translation>警告: 位元幣網路對於區塊鏈結的決定目前有分歧!看來有些礦工會有問題。</translation> </message> @@ -2866,10 +2997,6 @@ <translation>警告: 我們和某些連線的節點對於區塊鏈結的決定不同!你可能需要升級,或是需要等其它的節點升級。</translation> </message> <message> - <source>Warning: error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> - <translation>警告: 讀取錢包檔 wallet.dat 時發生錯誤!所有的密鑰都正確讀取了,但是交易資料或位址簿資料可能會缺少或不正確。</translation> - </message> - <message> <source>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>警告: 錢包檔 wallet.dat 壞掉,但資料被拯救回來了!原來的 wallet.dat 會改儲存在 %s, 檔名是 wallet.{timestamp}.bak. 如果餘額或交易資料有誤,你應該要用備份資料復原回來。</translation> </message> @@ -2882,6 +3009,10 @@ <translation>(預設值: 1)</translation> </message> <message> + <source>-maxmempool must be at least %d MB</source> + <translation>參數 -maxmempool 至少要給 %d 百萬位元組(MB)</translation> + </message> + <message> <source><category> can be:</source> <translation><category> 可以是:</translation> </message> @@ -2918,6 +3049,22 @@ <translation>你想要現在重建區塊資料庫嗎?</translation> </message> <message> + <source>Enable publish hash block in <address></source> + <translation>開啟傳送區塊雜湊值到目標 ZeroMQ 位址 <address> 去</translation> + </message> + <message> + <source>Enable publish hash transaction in <address></source> + <translation>開啟傳送交易雜湊值到目標 ZeroMQ 位址 <address> 去</translation> + </message> + <message> + <source>Enable publish raw block in <address></source> + <translation>開啟傳送區塊原始資料到目標 ZeroMQ 位址 <address> 去</translation> + </message> + <message> + <source>Enable publish raw transaction in <address></source> + <translation>開啟傳送交易原始資料到目標 ZeroMQ 位址 <address> 去</translation> + </message> + <message> <source>Error initializing block database</source> <translation>初始化區塊資料庫時發生錯誤</translation> </message> @@ -2934,10 +3081,6 @@ <translation>打開區塊資料庫時發生錯誤</translation> </message> <message> - <source>Error: A fatal internal error occured, see debug.log for details</source> - <translation>錯誤:一個致命的內部錯誤,到debug.log看更多細節</translation> - </message> - <message> <source>Error: Disk space is low!</source> <translation>錯誤: 磁碟空間很少!</translation> </message> @@ -2946,10 +3089,6 @@ <translation>在任意的通訊埠聽候失敗。如果你希望這樣的話,可以設定 -listen=0.</translation> </message> <message> - <source>If <category> is not supplied, output all debugging information.</source> - <translation>如果沒有提供 <category> 就會輸出所有的除錯資訊。</translation> - </message> - <message> <source>Importing...</source> <translation>正在匯入中...</translation> </message> @@ -2962,6 +3101,10 @@ <translation>無效的 -onion 位址: '%s'</translation> </message> <message> + <source>Keep the transaction memory pool below <n> megabytes (default: %u)</source> + <translation>在記憶體暫存池中保持最多 <n> 個百萬位元組的交易(預設值: %u)</translation> + </message> + <message> <source>Not enough file descriptors available.</source> <translation>檔案描述元不足。</translation> </message> @@ -2990,6 +3133,22 @@ <translation>指定錢包檔(會在資料目錄中)</translation> </message> <message> + <source>Unsupported argument -benchmark ignored, use -debug=bench.</source> + <translation>忽略了不再支援的 -benchmark 參數,請改用 -debug=bench</translation> + </message> + <message> + <source>Unsupported argument -debugnet ignored, use -debug=net.</source> + <translation>忽略了不再支援的 -debugnet 參數,請改用 -debug=net</translation> + </message> + <message> + <source>Unsupported argument -tor found, use -onion.</source> + <translation>找到不再支援的 -tor 參數,請改用 -onion 參數。</translation> + </message> + <message> + <source>User Agent comment (%s) contains unsafe characters.</source> + <translation>使用者代理註解(%s)中含有不安全的字元。</translation> + </message> + <message> <source>Verifying blocks...</source> <translation>正在驗證區塊資料...</translation> </message> @@ -3022,10 +3181,6 @@ <translation>允許指定的來源建立 JSON-RPC 連線。<ip> 的有效值可以是一個單獨位址(像是 1.2.3.4),一個網段/網段罩遮值(像是 1.2.3.4/255.255.255.0),或是網段/CIDR值(像是 1.2.3.4/24)。這個選項可以設定多次。</translation> </message> <message> - <source>An error occurred while setting up the RPC address %s port %u for listening: %s</source> - <translation>設定在網路上以位址 %s 和通訊埠 %u 聽候 RPC 連線時發生錯誤: %s</translation> - </message> - <message> <source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source> <translation>和指定的位址繫結,並且把連線過來的節點放進白名單。IPv6 請用 [主機]:通訊埠 這種格式</translation> </message> @@ -3050,18 +3205,10 @@ <translation>錯誤: 聽候外來連線失敗(回傳錯誤 %s)</translation> </message> <message> - <source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> - <translation>錯誤: 找到不再支援的 -socks 參數。現在只支援 SOCKS5 協定的代理伺服器了,因為不再能夠指定 SOCKS 協定版本。</translation> - </message> - <message> <source>Execute command when a relevant alert is received or we see a really long fork (%s in cmd is replaced by message)</source> <translation>當收到相關警示,或發現相當長的分支時,所要執行的指令(指令中的 %s 會被取代成警示訊息)</translation> </message> <message> - <source>Fees (in BTC/Kb) smaller than this are considered zero fee for relaying (default: %s)</source> - <translation>當處理轉發的交易時,如果每千位元組(Kb)的手續費比這個值低,就視為沒付手續費 (預設值: %s)</translation> - </message> - <message> <source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source> <translation>當沒有設定 paytxfee 時,自動包含可以讓交易能在平均 n 個區塊內開始確認的手續費(預設值: %u)</translation> </message> @@ -3074,10 +3221,6 @@ <translation>轉發和開採時,對只帶資料的交易的大小上限(預設值: %u)</translation> </message> <message> - <source>Prune configured below the minimum of %d MB. Please use a higher number.</source> - <translation>設定的修剪值小於最小需求的 %d MB. 請指定大一點的數字。</translation> - </message> - <message> <source>Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)</source> <translation>是否允許在節點位址數目不足時,使用域名查詢來搜尋節點 (預設值: 當沒用 -connect 時為 1)</translation> </message> @@ -3102,38 +3245,6 @@ <translation>此產品也包含了由 OpenSSL Project 所開發的 OpenSSL Toolkit 軟體 <https://www.openssl.org/>, 和由 Eric Young 撰寫的加解密軟體,以及由 Thomas Bernard 所撰寫的 UPnP 軟體。</translation> </message> <message> - <source>To use bitcoind, or the -server option to bitcoin-qt, you must set an rpcpassword in the configuration file: -%s -It is recommended you use the following random password: -rpcuser=bitcoinrpc -rpcpassword=%s -(you do not need to remember this password) -The username and password MUST NOT be the same. -If the file does not exist, create it with owner-readable-only file permissions. -It is also recommended to set alertnotify so you are notified of problems; -for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</source> - <translation>要使用 bitcoind, 或是對 bitcoin-qt 指定 -server 選項,你必須要在以下設定檔中設定 RPC 密碼(選項: rpcpassword): -%s -建議你使用以下隨機產生的密碼: -rpcuser=bitcoinrpc -rpcpassword=%s -(你不用記住這個密碼) -注意使用者名稱(rpcuser)和密碼(rpcpassword)不可以相同! -如果設定檔還不存在,請在新增時,設定檔案權限為"只有主人才能讀取"。 -也建議你設定警示通知,這樣發生問題時你才會被通知到; -比如說設定: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com -</translation> - </message> - <message> - <source>Warning: -maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> - <translation>警告: -maxtxfee 設定了很高的金額!這可是一次交易就有可能付出的最高手續費。</translation> - </message> - <message> - <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin Core will not work properly.</source> - <translation>警告: 請檢查電腦日期和時間是否正確!位元幣核心沒辦法在時鐘不準的情況下正常運作。</translation> - </message> - <message> <source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source> <translation>在白名單中的節點不會因為偵測到阻斷服務攻擊而被停用。來自這些節點的交易也一定會被轉發,即使說交易本來就在記憶池裡了也一樣。適用於像是閘道伺服器。</translation> </message> @@ -3154,10 +3265,6 @@ rpcpassword=%s <translation>啟用最佳鏈結...</translation> </message> <message> - <source>Can't run with a wallet in prune mode.</source> - <translation>不能在有錢包時執行修剪模式。</translation> - </message> - <message> <source>Cannot resolve -whitebind address: '%s'</source> <translation>沒辦法解析 -whitebind 指定的位址: '%s'</translation> </message> @@ -3174,10 +3281,6 @@ rpcpassword=%s <translation>版權為位元幣核心開發人員自西元 2009 至 %i 年起所有</translation> </message> <message> - <source>Could not parse -rpcbind value %s as network address</source> - <translation>沒辦法解析 -rpcbind 參數值 %s 為網路位址</translation> - </message> - <message> <source>Error loading wallet.dat: Wallet requires newer version of Bitcoin Core</source> <translation>載入 wallet.dat 檔案時發生錯誤: 這個錢包需要新版的位元幣核心</translation> </message> @@ -3186,14 +3289,6 @@ rpcpassword=%s <translation>讀取資料庫時發生錯誤,要關閉了。</translation> </message> <message> - <source>Error: Unsupported argument -tor found, use -onion.</source> - <translation>錯誤: 找到不再支援的 -tor 參數,請改用 -onion 參數。</translation> - </message> - <message> - <source>Fee (in BTC/kB) to add to transactions you send (default: %s)</source> - <translation>交易付款時每千位元組(kB)的交易手續費 (預設值: %s)</translation> - </message> - <message> <source>Information</source> <translation>資訊</translation> </message> @@ -3234,22 +3329,22 @@ rpcpassword=%s <translation>節點轉發選項:</translation> </message> <message> - <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation>RPC SSL 選項: (SSL 設定程序請見 Bitcoin Wiki)</translation> - </message> - <message> <source>RPC server options:</source> <translation>RPC 伺服器選項:</translation> </message> <message> - <source>RPC support for HTTP persistent connections (default: %d)</source> - <translation>RPC 是否支援 HTTP 持久連線(預設值: %d)</translation> - </message> - <message> <source>Rebuild block chain index from current blk000??.dat files on startup</source> <translation>啟動時從目前的區塊檔 blk000??.dat 重建區塊鏈的索引</translation> </message> <message> + <source>Receive and display P2P network alerts (default: %u)</source> + <translation>接收並顯示對等網路(P2P)警示 (預設值: %u)</translation> + </message> + <message> + <source>Reducing -maxconnections from %d to %d, because of system limitations.</source> + <translation>因為系統的限制,將 -maxconnections 參數從 %d 降到了 %d</translation> + </message> + <message> <source>Send trace/debug info to console instead of debug.log file</source> <translation>在終端機顯示追蹤或除錯資訊,而不是寫到檔案 debug.log 中</translation> </message> @@ -3318,10 +3413,6 @@ rpcpassword=%s <translation>無法和這台電腦上的 %s 繫結(回傳錯誤 %s)</translation> </message> <message> - <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>是否要使用「通用即插即用」協定(UPnP),來設定聽候連線的通訊埠的對應(預設值: 當有聽候連線時為 1)</translation> - </message> - <message> <source>Username for JSON-RPC connections</source> <translation>JSON-RPC 連線使用者名稱</translation> </message> @@ -3334,18 +3425,14 @@ rpcpassword=%s <translation>警告</translation> </message> <message> - <source>Warning: Unsupported argument -benchmark ignored, use -debug=bench.</source> - <translation>警告: 忽略了不再支援的 -benchmark 參數,請改用 -debug=bench.</translation> - </message> - <message> - <source>Warning: Unsupported argument -debugnet ignored, use -debug=net.</source> - <translation>警告: 忽略了不再支援的 -debugnet 參數,請改用 -debug=net.</translation> - </message> - <message> <source>Zapping all transactions from wallet...</source> <translation>正在砍掉錢包中的所有交易...</translation> </message> <message> + <source>ZeroMQ notification options:</source> + <translation>ZeroMQ 通知選項:</translation> + </message> + <message> <source>on startup</source> <translation>當啟動時</translation> </message> @@ -3370,10 +3457,6 @@ rpcpassword=%s <translation>重新掃描區塊鏈,來尋找錢包可能漏掉的交易。</translation> </message> <message> - <source>Use OpenSSL (https) for JSON-RPC connections</source> - <translation>在 JSON-RPC 連線使用 OpenSSL (https)</translation> - </message> - <message> <source>This help message</source> <translation>這些說明訊息</translation> </message> @@ -3394,6 +3477,22 @@ rpcpassword=%s <translation>(1 表示保留交易描述資料,像是帳戶使用者和付款請求資訊;2 表示丟掉交易描述資料)</translation> </message> <message> + <source>-maxtxfee is set very high! Fees this large could be paid on a single transaction.</source> + <translation>參數 -maxtxfee 設定了很高的金額!這可是你一次交易就有可能付出的最高手續費。</translation> + </message> + <message> + <source>-paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> + <translation>參數 -paytxfee 設定了很高的金額!這可是你交易付款時所要付的手續費。</translation> + </message> + <message> + <source>Do not keep transactions in the mempool longer than <n> hours (default: %u)</source> + <translation>不要讓交易留在記憶體暫存池中超過 <n> 個小時(預設值: %u)</translation> + </message> + <message> + <source>Error reading wallet.dat! All keys read correctly, but transaction data or address book entries might be missing or incorrect.</source> + <translation>讀取錢包檔 wallet.dat 時發生錯誤!所有的密鑰都正確讀取了,但是交易資料或位址簿資料可能會缺少或不正確。</translation> + </message> + <message> <source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source> <translation>使用 -checkblocks 檢查區塊的仔細程度(0 到 4,預設值: %u)</translation> </message> @@ -3410,18 +3509,26 @@ rpcpassword=%s <translation>輸出除錯資訊(預設值: %u, 不一定要指定 <category>)</translation> </message> <message> + <source>Total length of network version string (%i) exceeds maximum length (%i). Reduce the number or size of uacomments.</source> + <translation>網路版本字串的總長度(%i)超過最大長度(%i)了。請減少 uacomment 參數的數目或長度。</translation> + </message> + <message> + <source>Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit (default: %d)</source> + <translation>試著保持輸出流量在目標值以下,單位是每 24 小時的百萬位元組(MiB)數,0 表示沒有限制(預設值: %d)</translation> + </message> + <message> + <source>Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source> + <translation>找到不再支援的 -socks 參數。現在只支援 SOCKS5 協定的代理伺服器,因此不可以指定 SOCKS 協定版本了。</translation> + </message> + <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: %s)</source> - <translation>使用另外的 SOCK5 代理伺服器,來透過 Tor 隱藏服務跟節點聯繫(預設值: %s)</translation> + <translation>使用另外的 SOCK5 代理伺服器,來透過 Tor 隱藏服務跟其他節點聯絡(預設值: %s)</translation> </message> <message> <source>(default: %s)</source> <translation>(預設值: %s)</translation> </message> <message> - <source>Acceptable ciphers (default: %s)</source> - <translation>可以接受的加密演算法(預設值: %s)</translation> - </message> - <message> <source>Always query for peer addresses via DNS lookup (default: %u)</source> <translation>是否一定要用域名查詢來搜尋節點(預設值: %u)</translation> </message> @@ -3482,14 +3589,6 @@ rpcpassword=%s <translation>允許轉發非 P2SH 的多簽章交易(預設值: %u)</translation> </message> <message> - <source>Server certificate file (default: %s)</source> - <translation>伺服器憑證檔(預設值: %s)</translation> - </message> - <message> - <source>Server private key (default: %s)</source> - <translation>伺服器密鑰檔(預設值: %s)</translation> - </message> - <message> <source>Set key pool size to <n> (default: %u)</source> <translation>設定密鑰池大小為 <n> (預設值: %u)</translation> </message> diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index f57c1203f6..d0191fa6d8 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -18,7 +18,7 @@ #include "txdb.h" // for -dbcache defaults #ifdef ENABLE_WALLET -#include "wallet/wallet.h" // for CWallet::minTxFee +#include "wallet/wallet.h" // for CWallet::GetRequiredFee() #endif #include <boost/thread.hpp> diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index f387a3ec8c..8401701821 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -462,13 +462,19 @@ void RPCConsole::clear() } // Set default style sheet + QFontInfo fixedFontInfo(GUIUtil::fixedPitchFont()); + // Try to make fixed font adequately large on different OS + QString ptSize = QString("%1pt").arg(QFontInfo(QFont()).pointSize() * 8.5 / 9); ui->messagesWidget->document()->setDefaultStyleSheet( + QString( "table { }" "td.time { color: #808080; padding-top: 3px; } " + "td.message { font-family: %1; font-size: %2; white-space:pre-wrap; } " "td.cmd-request { color: #006060; } " "td.cmd-error { color: red; } " "b { color: #006060; } " - ); + ).arg(fixedFontInfo.family(), ptSize) + ); message(CMD_REPLY, (tr("Welcome to the Bitcoin Core RPC console.") + "<br>" + tr("Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen.") + "<br>" + @@ -494,7 +500,7 @@ void RPCConsole::message(int category, const QString &message, bool html) if(html) out += message; else - out += GUIUtil::HtmlEscape(message, true); + out += GUIUtil::HtmlEscape(message, false); out += "</td></tr></table>"; ui->messagesWidget->append(out); } @@ -849,4 +855,4 @@ void RPCConsole::showOrHideBanTableIfRequired() bool visible = clientModel->getBanTableModel()->shouldShow(); ui->banlistWidget->setVisible(visible); ui->banHeading->setVisible(visible); -}
\ No newline at end of file +} diff --git a/src/qt/rpcconsole.h b/src/qt/rpcconsole.h index b86f776786..d5932ff149 100644 --- a/src/qt/rpcconsole.h +++ b/src/qt/rpcconsole.h @@ -71,6 +71,7 @@ private Q_SLOTS: public Q_SLOTS: void clear(); + /** Append the message to the message widget */ void message(int category, const QString &message, bool html = false); /** Set number of connections shown in the UI */ void setNumConnections(int count); diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index a083a6f80e..0ee08a1b0c 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -172,7 +172,7 @@ void SendCoinsDialog::setModel(WalletModel *model) connect(ui->checkBoxMinimumFee, SIGNAL(stateChanged(int)), this, SLOT(coinControlUpdateLabels())); connect(ui->checkBoxFreeTx, SIGNAL(stateChanged(int)), this, SLOT(updateGlobalFeeVariables())); connect(ui->checkBoxFreeTx, SIGNAL(stateChanged(int)), this, SLOT(coinControlUpdateLabels())); - ui->customFee->setSingleStep(CWallet::minTxFee.GetFeePerK()); + ui->customFee->setSingleStep(CWallet::GetRequiredFee(1000)); updateFeeSectionControls(); updateMinFeeLabel(); updateSmartFeeLabel(); @@ -312,8 +312,9 @@ void SendCoinsDialog::on_sendButton_clicked() if(u != model->getOptionsModel()->getDisplayUnit()) alternativeUnits.append(BitcoinUnits::formatHtmlWithUnit(u, totalAmount)); } - questionString.append(tr("Total Amount %1<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span>") - .arg(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount)) + questionString.append(tr("Total Amount %1") + .arg(BitcoinUnits::formatHtmlWithUnit(model->getOptionsModel()->getDisplayUnit(), totalAmount))); + questionString.append(QString("<span style='font-size:10pt;font-weight:normal;'><br />(=%2)</span>") .arg(alternativeUnits.join(" " + tr("or") + "<br />"))); QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm send coins"), @@ -569,7 +570,7 @@ void SendCoinsDialog::on_buttonMinimizeFee_clicked() void SendCoinsDialog::setMinimumFee() { ui->radioCustomPerKilobyte->setChecked(true); - ui->customFee->setValue(CWallet::minTxFee.GetFeePerK()); + ui->customFee->setValue(CWallet::GetRequiredFee(1000)); } void SendCoinsDialog::updateFeeSectionControls() @@ -621,8 +622,8 @@ void SendCoinsDialog::updateFeeMinimizedLabel() void SendCoinsDialog::updateMinFeeLabel() { if (model && model->getOptionsModel()) - ui->checkBoxMinimumFee->setText(tr("Pay only the minimum fee of %1").arg( - BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), CWallet::minTxFee.GetFeePerK()) + "/kB") + ui->checkBoxMinimumFee->setText(tr("Pay only the required fee of %1").arg( + BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), CWallet::GetRequiredFee(1000)) + "/kB") ); } @@ -635,7 +636,7 @@ void SendCoinsDialog::updateSmartFeeLabel() CFeeRate feeRate = mempool.estimateFee(nBlocksToConfirm); if (feeRate <= CFeeRate(0)) // not enough data => minfee { - ui->labelSmartFee->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), CWallet::minTxFee.GetFeePerK()) + "/kB"); + ui->labelSmartFee->setText(BitcoinUnits::formatWithUnit(model->getOptionsModel()->getDisplayUnit(), CWallet::GetRequiredFee(1000)) + "/kB"); ui->labelSmartFee2->show(); // (Smart fee not initialized yet. This usually takes a few blocks...) ui->labelFeeEstimation->setText(""); } diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp index 44aa8ad1af..4f4b5b70d5 100644 --- a/src/qt/sendcoinsentry.cpp +++ b/src/qt/sendcoinsentry.cpp @@ -40,7 +40,7 @@ SendCoinsEntry::SendCoinsEntry(const PlatformStyle *platformStyle, QWidget *pare // normal bitcoin address field GUIUtil::setupAddressWidget(ui->payTo, this); // just a label for displaying bitcoin address(es) - ui->payTo_is->setFont(GUIUtil::bitcoinAddressFont()); + ui->payTo_is->setFont(GUIUtil::fixedPitchFont()); // Connect signals connect(ui->payAmount, SIGNAL(valueChanged()), this, SIGNAL(payAmountChanged())); diff --git a/src/qt/signverifymessagedialog.cpp b/src/qt/signverifymessagedialog.cpp index 60e8e36ebe..96f50a2656 100644 --- a/src/qt/signverifymessagedialog.cpp +++ b/src/qt/signverifymessagedialog.cpp @@ -51,8 +51,8 @@ SignVerifyMessageDialog::SignVerifyMessageDialog(const PlatformStyle *platformSt ui->messageIn_VM->installEventFilter(this); ui->signatureIn_VM->installEventFilter(this); - ui->signatureOut_SM->setFont(GUIUtil::bitcoinAddressFont()); - ui->signatureIn_VM->setFont(GUIUtil::bitcoinAddressFont()); + ui->signatureOut_SM->setFont(GUIUtil::fixedPitchFont()); + ui->signatureIn_VM->setFont(GUIUtil::fixedPitchFont()); } SignVerifyMessageDialog::~SignVerifyMessageDialog() diff --git a/src/rest.cpp b/src/rest.cpp index c46d7a8bd2..5d69542a91 100644 --- a/src/rest.cpp +++ b/src/rest.cpp @@ -4,6 +4,7 @@ // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "chain.h" +#include "chainparams.h" #include "primitives/block.h" #include "primitives/transaction.h" #include "main.h" @@ -223,7 +224,7 @@ static bool rest_block(HTTPRequest* req, if (fHavePruned && !(pblockindex->nStatus & BLOCK_HAVE_DATA) && pblockindex->nTx > 0) return RESTERR(req, HTTP_NOT_FOUND, hashStr + " not available (pruned data)"); - if (!ReadBlockFromDisk(block, pblockindex)) + if (!ReadBlockFromDisk(block, pblockindex, Params().GetConsensus())) return RESTERR(req, HTTP_NOT_FOUND, hashStr + " not found"); } @@ -360,7 +361,7 @@ static bool rest_tx(HTTPRequest* req, const std::string& strURIPart) CTransaction tx; uint256 hashBlock = uint256(); - if (!GetTransaction(hash, tx, hashBlock, true)) + if (!GetTransaction(hash, tx, Params().GetConsensus(), hashBlock, true)) return RESTERR(req, HTTP_NOT_FOUND, hashStr + " not found"); CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 4786d72a3f..9c0e78f772 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -405,7 +405,7 @@ UniValue getblock(const UniValue& params, bool fHelp) if (fHavePruned && !(pblockindex->nStatus & BLOCK_HAVE_DATA) && pblockindex->nTx > 0) throw JSONRPCError(RPC_INTERNAL_ERROR, "Block not available (pruned data)"); - if(!ReadBlockFromDisk(block, pblockindex)) + if(!ReadBlockFromDisk(block, pblockindex, Params().GetConsensus())) throw JSONRPCError(RPC_INTERNAL_ERROR, "Can't read block from disk"); if (!fVerbose) @@ -539,13 +539,15 @@ UniValue gettxout(const UniValue& params, bool fHelp) UniValue verifychain(const UniValue& params, bool fHelp) { + int nCheckLevel = GetArg("-checklevel", DEFAULT_CHECKLEVEL); + int nCheckDepth = GetArg("-checkblocks", DEFAULT_CHECKBLOCKS); if (fHelp || params.size() > 2) throw runtime_error( "verifychain ( checklevel numblocks )\n" "\nVerifies blockchain database.\n" "\nArguments:\n" - "1. checklevel (numeric, optional, 0-4, default=3) How thorough the block verification is.\n" - "2. numblocks (numeric, optional, default=288, 0=all) The number of blocks to check.\n" + "1. checklevel (numeric, optional, 0-4, default=" + strprintf("%d", nCheckLevel) + ") How thorough the block verification is.\n" + "2. numblocks (numeric, optional, default=" + strprintf("%d", nCheckDepth) + ", 0=all) The number of blocks to check.\n" "\nResult:\n" "true|false (boolean) Verified or not\n" "\nExamples:\n" @@ -555,8 +557,6 @@ UniValue verifychain(const UniValue& params, bool fHelp) LOCK(cs_main); - int nCheckLevel = GetArg("-checklevel", 3); - int nCheckDepth = GetArg("-checkblocks", 288); if (params.size() > 0) nCheckLevel = params[0].get_int(); if (params.size() > 1) @@ -824,7 +824,7 @@ UniValue invalidateblock(const UniValue& params, bool fHelp) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Block not found"); CBlockIndex* pblockindex = mapBlockIndex[hash]; - InvalidateBlock(state, pblockindex); + InvalidateBlock(state, Params().GetConsensus(), pblockindex); } if (state.IsValid()) { diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index c49c3e5194..f42b31627c 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -211,7 +211,7 @@ UniValue setgenerate(const UniValue& params, bool fHelp) if (params.size() > 0) fGenerate = params[0].get_bool(); - int nGenProcLimit = -1; + int nGenProcLimit = GetArg("-genproclimit", DEFAULT_GENERATE_THREADS); if (params.size() > 1) { nGenProcLimit = params[1].get_int(); @@ -259,7 +259,7 @@ UniValue getmininginfo(const UniValue& params, bool fHelp) 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("genproclimit", (int)GetArg("-genproclimit", -1))); + obj.push_back(Pair("genproclimit", (int)GetArg("-genproclimit", DEFAULT_GENERATE_THREADS))); obj.push_back(Pair("networkhashps", getnetworkhashps(params, false))); obj.push_back(Pair("pooledtx", (uint64_t)mempool.size())); obj.push_back(Pair("testnet", Params().TestnetToBeDeprecatedFieldRPC())); diff --git a/src/rpcmisc.cpp b/src/rpcmisc.cpp index 0f0457c5cf..0c656d5cf1 100644 --- a/src/rpcmisc.cpp +++ b/src/rpcmisc.cpp @@ -117,7 +117,7 @@ public: UniValue obj(UniValue::VOBJ); CPubKey vchPubKey; obj.push_back(Pair("isscript", false)); - if (pwalletMain->GetPubKey(keyID, vchPubKey)) { + if (pwalletMain && pwalletMain->GetPubKey(keyID, vchPubKey)) { obj.push_back(Pair("pubkey", HexStr(vchPubKey))); obj.push_back(Pair("iscompressed", vchPubKey.IsCompressed())); } @@ -128,7 +128,7 @@ public: UniValue obj(UniValue::VOBJ); CScript subscript; obj.push_back(Pair("isscript", true)); - if (pwalletMain->GetCScript(scriptID, subscript)) { + if (pwalletMain && pwalletMain->GetCScript(scriptID, subscript)) { std::vector<CTxDestination> addresses; txnouttype whichType; int nRequired; diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 6b4815ebd8..9bf017e385 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -29,7 +29,7 @@ UniValue getconnectioncount(const UniValue& params, bool fHelp) throw runtime_error( "getconnectioncount\n" "\nReturns the number of connections to other nodes.\n" - "\nbResult:\n" + "\nResult:\n" "n (numeric) The connection count\n" "\nExamples:\n" + HelpExampleCli("getconnectioncount", "") @@ -83,7 +83,7 @@ UniValue getpeerinfo(const UniValue& params, bool fHelp) throw runtime_error( "getpeerinfo\n" "\nReturns data about each connected network node as a json array of objects.\n" - "\nbResult:\n" + "\nResult:\n" "[\n" " {\n" " \"id\": n, (numeric) Peer index\n" diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp index 5f3363d097..11d9a6f2bb 100644 --- a/src/rpcrawtransaction.cpp +++ b/src/rpcrawtransaction.cpp @@ -186,7 +186,7 @@ UniValue getrawtransaction(const UniValue& params, bool fHelp) CTransaction tx; uint256 hashBlock; - if (!GetTransaction(hash, tx, hashBlock, true)) + if (!GetTransaction(hash, tx, Params().GetConsensus(), hashBlock, true)) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "No information available about transaction"); string strHex = EncodeHexTx(tx); @@ -256,7 +256,7 @@ UniValue gettxoutproof(const UniValue& params, bool fHelp) if (pblockindex == NULL) { CTransaction tx; - if (!GetTransaction(oneTxid, tx, hashBlock, false) || hashBlock.IsNull()) + if (!GetTransaction(oneTxid, tx, Params().GetConsensus(), hashBlock, false) || hashBlock.IsNull()) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Transaction not yet in block"); if (!mapBlockIndex.count(hashBlock)) throw JSONRPCError(RPC_INTERNAL_ERROR, "Transaction index corrupt"); @@ -264,7 +264,7 @@ UniValue gettxoutproof(const UniValue& params, bool fHelp) } CBlock block; - if(!ReadBlockFromDisk(block, pblockindex)) + if(!ReadBlockFromDisk(block, pblockindex, Params().GetConsensus())) throw JSONRPCError(RPC_INTERNAL_ERROR, "Can't read block from disk"); unsigned int ntxFound = 0; diff --git a/src/rpcserver.cpp b/src/rpcserver.cpp index fa60f8c833..8bda5a0373 100644 --- a/src/rpcserver.cpp +++ b/src/rpcserver.cpp @@ -563,7 +563,7 @@ void RPCRunLater(const std::string& name, boost::function<void(void)> func, int6 deadlineTimers.erase(name); RPCTimerInterface* timerInterface = timerInterfaces[0]; LogPrint("rpc", "queue run of timer %s in %i seconds (using %s)\n", name, nSeconds, timerInterface->Name()); - deadlineTimers.insert(std::make_pair(name, timerInterface->NewTimer(func, nSeconds*1000))); + deadlineTimers.insert(std::make_pair(name, boost::shared_ptr<RPCTimerBase>(timerInterface->NewTimer(func, nSeconds*1000)))); } const CRPCTable tableRPC; diff --git a/src/script/sigcache.cpp b/src/script/sigcache.cpp index 099b4ad0e3..eee96e7c2d 100644 --- a/src/script/sigcache.cpp +++ b/src/script/sigcache.cpp @@ -5,17 +5,30 @@ #include "sigcache.h" +#include "memusage.h" #include "pubkey.h" #include "random.h" #include "uint256.h" #include "util.h" #include <boost/thread.hpp> -#include <boost/tuple/tuple_comparison.hpp> +#include <boost/unordered_set.hpp> namespace { /** + * We're hashing a nonce into the entries themselves, so we don't need extra + * blinding in the set hash computation. + */ +class CSignatureCacheHasher +{ +public: + size_t operator()(const uint256& key) const { + return key.GetCheapHash(); + } +}; + +/** * Valid signature cache, to avoid doing expensive ECDSA signature checking * twice for every transaction (once when accepted into memory pool, and * again when accepted into the block chain) @@ -23,52 +36,54 @@ namespace { class CSignatureCache { private: - //! sigdata_type is (signature hash, signature, public key): - typedef boost::tuple<uint256, std::vector<unsigned char>, CPubKey> sigdata_type; - std::set< sigdata_type> setValid; + //! Entries are SHA256(nonce || signature hash || public key || signature): + uint256 nonce; + typedef boost::unordered_set<uint256, CSignatureCacheHasher> map_type; + map_type setValid; boost::shared_mutex cs_sigcache; + public: + CSignatureCache() + { + GetRandBytes(nonce.begin(), 32); + } + + void + ComputeEntry(uint256& entry, const uint256 &hash, const std::vector<unsigned char>& vchSig, const CPubKey& pubkey) + { + CSHA256().Write(nonce.begin(), 32).Write(hash.begin(), 32).Write(&pubkey[0], pubkey.size()).Write(&vchSig[0], vchSig.size()).Finalize(entry.begin()); + } + bool - Get(const uint256 &hash, const std::vector<unsigned char>& vchSig, const CPubKey& pubKey) + Get(const uint256& entry) { boost::shared_lock<boost::shared_mutex> lock(cs_sigcache); + return setValid.count(entry); + } - sigdata_type k(hash, vchSig, pubKey); - std::set<sigdata_type>::iterator mi = setValid.find(k); - if (mi != setValid.end()) - return true; - return false; + void Erase(const uint256& entry) + { + boost::unique_lock<boost::shared_mutex> lock(cs_sigcache); + setValid.erase(entry); } - void Set(const uint256 &hash, const std::vector<unsigned char>& vchSig, const CPubKey& pubKey) + void Set(const uint256& entry) { - // DoS prevention: limit cache size to less than 10MB - // (~200 bytes per cache entry times 50,000 entries) - // Since there are a maximum of 20,000 signature operations per block - // 50,000 is a reasonable default. - int64_t nMaxCacheSize = GetArg("-maxsigcachesize", 50000); + size_t nMaxCacheSize = GetArg("-maxsigcachesize", DEFAULT_MAX_SIG_CACHE_SIZE) * ((size_t) 1 << 20); if (nMaxCacheSize <= 0) return; boost::unique_lock<boost::shared_mutex> lock(cs_sigcache); - - while (static_cast<int64_t>(setValid.size()) > nMaxCacheSize) + while (memusage::DynamicUsage(setValid) > nMaxCacheSize) { - // Evict a random entry. Random because that helps - // foil would-be DoS attackers who might try to pre-generate - // and re-use a set of valid signatures just-slightly-greater - // than our cache size. - uint256 randomHash = GetRandHash(); - std::vector<unsigned char> unused; - std::set<sigdata_type>::iterator it = - setValid.lower_bound(sigdata_type(randomHash, unused, unused)); - if (it == setValid.end()) - it = setValid.begin(); - setValid.erase(*it); + map_type::size_type s = GetRand(setValid.bucket_count()); + map_type::local_iterator it = setValid.begin(s); + if (it != setValid.end(s)) { + setValid.erase(*it); + } } - sigdata_type k(hash, vchSig, pubKey); - setValid.insert(k); + setValid.insert(entry); } }; @@ -78,13 +93,21 @@ bool CachingTransactionSignatureChecker::VerifySignature(const std::vector<unsig { static CSignatureCache signatureCache; - if (signatureCache.Get(sighash, vchSig, pubkey)) + uint256 entry; + signatureCache.ComputeEntry(entry, sighash, vchSig, pubkey); + + if (signatureCache.Get(entry)) { + if (!store) { + signatureCache.Erase(entry); + } return true; + } if (!TransactionSignatureChecker::VerifySignature(vchSig, pubkey, sighash)) return false; - if (store) - signatureCache.Set(sighash, vchSig, pubkey); + if (store) { + signatureCache.Set(entry); + } return true; } diff --git a/src/script/sigcache.h b/src/script/sigcache.h index b299038daa..2269972560 100644 --- a/src/script/sigcache.h +++ b/src/script/sigcache.h @@ -10,6 +10,10 @@ #include <vector> +// DoS prevention: limit cache size to less than 40MB (over 500000 +// entries on 64-bit systems). +static const unsigned int DEFAULT_MAX_SIG_CACHE_SIZE = 40; + class CPubKey; class CachingTransactionSignatureChecker : public TransactionSignatureChecker diff --git a/src/test/data/tx_invalid.json b/src/test/data/tx_invalid.json index d3c8594342..cc059e814f 100644 --- a/src/test/data/tx_invalid.json +++ b/src/test/data/tx_invalid.json @@ -64,9 +64,13 @@ [[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]], "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff655151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000", "P2SH"], -["Null txin"], -[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "HASH160 0x14 0x02dae7dbbda56097959cba59b1989dd3e47937bf EQUAL"]], -"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6e49304602210086f39e028e46dafa8e1e3be63906465f4cf038fbe5ed6403dc3e74ae876e6431022100c4625c675cfc5c7e3a0e0d7eaec92ac24da20c73a88eb40d09253e51ac6def5201232103a183ddc41e84753aca47723c965d1b5c8b0e2b537963518355e6dd6cf8415e50acffffffff010000000000000000015100000000", "P2SH"], +["Null txin, but without being a coinbase (because there are two inputs)"], +[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"], + ["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], +"01000000020000000000000000000000000000000000000000000000000000000000000000ffffffff00ffffffff00010000000000000000000000000000000000000000000000000000000000000000000000ffffffff010000000000000000015100000000", "P2SH"], +[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"], + ["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]], +"010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000000000000ffffffff00ffffffff010000000000000000015100000000", "P2SH"], ["Same as the transactions in valid with one input SIGHASH_ALL and one SIGHASH_ANYONECANPAY, but we set the _ANYONECANPAY sequence number, invalidating the SIGHASH_ALL signature"], [[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"], diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp index a74fbfc0d7..23e5e66d84 100644 --- a/src/test/test_bitcoin.cpp +++ b/src/test/test_bitcoin.cpp @@ -36,6 +36,7 @@ BasicTestingSetup::BasicTestingSetup(const std::string& chainName) { ECC_Start(); SetupEnvironment(); + SetupNetworking(); fPrintToDebugLog = false; // don't want to write to debug.log file fCheckBlockIndex = true; SelectParams(chainName); diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp index f9423bc0de..fb0df1aff4 100644 --- a/src/test/transaction_tests.cpp +++ b/src/test/transaction_tests.cpp @@ -342,11 +342,26 @@ BOOST_AUTO_TEST_CASE(test_IsStandard) string reason; BOOST_CHECK(IsStandardTx(t, reason)); - t.vout[0].nValue = 501; // dust + // Check dust with default relay fee: + CAmount nDustThreshold = 182 * minRelayTxFee.GetFeePerK()/1000 * 3; + BOOST_CHECK_EQUAL(nDustThreshold, 546); + // dust: + t.vout[0].nValue = nDustThreshold - 1; BOOST_CHECK(!IsStandardTx(t, reason)); + // not dust: + t.vout[0].nValue = nDustThreshold; + BOOST_CHECK(IsStandardTx(t, reason)); - t.vout[0].nValue = 2730; // not dust + // Check dust with odd relay fee to verify rounding: + // nDustThreshold = 182 * 1234 / 1000 * 3 + minRelayTxFee = CFeeRate(1234); + // dust: + t.vout[0].nValue = 672 - 1; + BOOST_CHECK(!IsStandardTx(t, reason)); + // not dust: + t.vout[0].nValue = 672; BOOST_CHECK(IsStandardTx(t, reason)); + minRelayTxFee = CFeeRate(DEFAULT_MIN_RELAY_TX_FEE); t.vout[0].scriptPubKey = CScript() << OP_1; BOOST_CHECK(!IsStandardTx(t, reason)); diff --git a/src/torcontrol.cpp b/src/torcontrol.cpp new file mode 100644 index 0000000000..08644f2968 --- /dev/null +++ b/src/torcontrol.cpp @@ -0,0 +1,685 @@ +#include "torcontrol.h" +#include "utilstrencodings.h" +#include "net.h" +#include "util.h" +#include "crypto/hmac_sha256.h" + +#include <vector> +#include <deque> +#include <set> +#include <stdlib.h> + +#include <boost/function.hpp> +#include <boost/bind.hpp> +#include <boost/signals2/signal.hpp> +#include <boost/foreach.hpp> +#include <boost/algorithm/string/predicate.hpp> +#include <boost/algorithm/string/split.hpp> +#include <boost/algorithm/string/classification.hpp> +#include <boost/algorithm/string/replace.hpp> + +#include <event2/bufferevent.h> +#include <event2/buffer.h> +#include <event2/util.h> +#include <event2/event.h> +#include <event2/thread.h> + +/** Default control port */ +const std::string DEFAULT_TOR_CONTROL = "127.0.0.1:9051"; +/** Tor cookie size (from control-spec.txt) */ +static const int TOR_COOKIE_SIZE = 32; +/** Size of client/server nonce for SAFECOOKIE */ +static const int TOR_NONCE_SIZE = 32; +/** For computing serverHash in SAFECOOKIE */ +static const std::string TOR_SAFE_SERVERKEY = "Tor safe cookie authentication server-to-controller hash"; +/** For computing clientHash in SAFECOOKIE */ +static const std::string TOR_SAFE_CLIENTKEY = "Tor safe cookie authentication controller-to-server hash"; +/** Exponential backoff configuration - initial timeout in seconds */ +static const float RECONNECT_TIMEOUT_START = 1.0; +/** Exponential backoff configuration - growth factor */ +static const float RECONNECT_TIMEOUT_EXP = 1.5; +/** Maximum length for lines received on TorControlConnection. + * tor-control-spec.txt mentions that there is explicitly no limit defined to line length, + * this is belt-and-suspenders sanity limit to prevent memory exhaustion. + */ +static const int MAX_LINE_LENGTH = 100000; + +/****** Low-level TorControlConnection ********/ + +/** Reply from Tor, can be single or multi-line */ +class TorControlReply +{ +public: + TorControlReply() { Clear(); } + + int code; + std::vector<std::string> lines; + + void Clear() + { + code = 0; + lines.clear(); + } +}; + +/** Low-level handling for Tor control connection. + * Speaks the SMTP-like protocol as defined in torspec/control-spec.txt + */ +class TorControlConnection +{ +public: + typedef boost::function<void(TorControlConnection&)> ConnectionCB; + typedef boost::function<void(TorControlConnection &,const TorControlReply &)> ReplyHandlerCB; + + /** Create a new TorControlConnection. + */ + TorControlConnection(struct event_base *base); + ~TorControlConnection(); + + /** + * Connect to a Tor control port. + * target is address of the form host:port. + * connected is the handler that is called when connection is succesfully established. + * disconnected is a handler that is called when the connection is broken. + * Return true on success. + */ + bool Connect(const std::string &target, const ConnectionCB& connected, const ConnectionCB& disconnected); + + /** + * Disconnect from Tor control port. + */ + bool Disconnect(); + + /** Send a command, register a handler for the reply. + * A trailing CRLF is automatically added. + * Return true on success. + */ + bool Command(const std::string &cmd, const ReplyHandlerCB& reply_handler); + + /** Response handlers for async replies */ + boost::signals2::signal<void(TorControlConnection &,const TorControlReply &)> async_handler; +private: + /** Callback when ready for use */ + boost::function<void(TorControlConnection&)> connected; + /** Callback when connection lost */ + boost::function<void(TorControlConnection&)> disconnected; + /** Libevent event base */ + struct event_base *base; + /** Connection to control socket */ + struct bufferevent *b_conn; + /** Message being received */ + TorControlReply message; + /** Response handlers */ + std::deque<ReplyHandlerCB> reply_handlers; + + /** Libevent handlers: internal */ + static void readcb(struct bufferevent *bev, void *ctx); + static void eventcb(struct bufferevent *bev, short what, void *ctx); +}; + +TorControlConnection::TorControlConnection(struct event_base *base): + base(base), b_conn(0) +{ +} + +TorControlConnection::~TorControlConnection() +{ + if (b_conn) + bufferevent_free(b_conn); +} + +void TorControlConnection::readcb(struct bufferevent *bev, void *ctx) +{ + TorControlConnection *self = (TorControlConnection*)ctx; + struct evbuffer *input = bufferevent_get_input(bev); + size_t n_read_out = 0; + char *line; + assert(input); + // If there is not a whole line to read, evbuffer_readln returns NULL + while((line = evbuffer_readln(input, &n_read_out, EVBUFFER_EOL_CRLF)) != NULL) + { + std::string s(line, n_read_out); + free(line); + if (s.size() < 4) // Short line + continue; + // <status>(-|+| )<data><CRLF> + self->message.code = atoi(s.substr(0,3)); + self->message.lines.push_back(s.substr(4)); + char ch = s[3]; // '-','+' or ' ' + if (ch == ' ') { + // Final line, dispatch reply and clean up + if (self->message.code >= 600) { + // Dispatch async notifications to async handler + // Synchronous and asynchronous messages are never interleaved + self->async_handler(*self, self->message); + } else { + if (!self->reply_handlers.empty()) { + // Invoke reply handler with message + self->reply_handlers.front()(*self, self->message); + self->reply_handlers.pop_front(); + } else { + LogPrint("tor", "tor: Received unexpected sync reply %i\n", self->message.code); + } + } + self->message.Clear(); + } + } + // Check for size of buffer - protect against memory exhaustion with very long lines + // Do this after evbuffer_readln to make sure all full lines have been + // removed from the buffer. Everything left is an incomplete line. + if (evbuffer_get_length(input) > MAX_LINE_LENGTH) { + LogPrintf("tor: Disconnecting because MAX_LINE_LENGTH exceeded\n"); + self->Disconnect(); + } +} + +void TorControlConnection::eventcb(struct bufferevent *bev, short what, void *ctx) +{ + TorControlConnection *self = (TorControlConnection*)ctx; + if (what & BEV_EVENT_CONNECTED) { + LogPrint("tor", "tor: Succesfully connected!\n"); + self->connected(*self); + } else if (what & (BEV_EVENT_EOF|BEV_EVENT_ERROR)) { + if (what & BEV_EVENT_ERROR) + LogPrint("tor", "tor: Error connecting to Tor control socket\n"); + else + LogPrint("tor", "tor: End of stream\n"); + self->Disconnect(); + self->disconnected(*self); + } +} + +bool TorControlConnection::Connect(const std::string &target, const ConnectionCB& connected, const ConnectionCB& disconnected) +{ + if (b_conn) + Disconnect(); + // Parse target address:port + struct sockaddr_storage connect_to_addr; + int connect_to_addrlen = sizeof(connect_to_addr); + if (evutil_parse_sockaddr_port(target.c_str(), + (struct sockaddr*)&connect_to_addr, &connect_to_addrlen)<0) { + LogPrintf("tor: Error parsing socket address %s\n", target); + return false; + } + + // Create a new socket, set up callbacks and enable notification bits + b_conn = bufferevent_socket_new(base, -1, BEV_OPT_CLOSE_ON_FREE); + if (!b_conn) + return false; + bufferevent_setcb(b_conn, TorControlConnection::readcb, NULL, TorControlConnection::eventcb, this); + bufferevent_enable(b_conn, EV_READ|EV_WRITE); + this->connected = connected; + this->disconnected = disconnected; + + // Finally, connect to target + if (bufferevent_socket_connect(b_conn, (struct sockaddr*)&connect_to_addr, connect_to_addrlen) < 0) { + LogPrintf("tor: Error connecting to address %s\n", target); + return false; + } + return true; +} + +bool TorControlConnection::Disconnect() +{ + if (b_conn) + bufferevent_free(b_conn); + b_conn = 0; + return true; +} + +bool TorControlConnection::Command(const std::string &cmd, const ReplyHandlerCB& reply_handler) +{ + if (!b_conn) + return false; + struct evbuffer *buf = bufferevent_get_output(b_conn); + if (!buf) + return false; + evbuffer_add(buf, cmd.data(), cmd.size()); + evbuffer_add(buf, "\r\n", 2); + reply_handlers.push_back(reply_handler); + return true; +} + +/****** General parsing utilities ********/ + +/* Split reply line in the form 'AUTH METHODS=...' into a type + * 'AUTH' and arguments 'METHODS=...'. + */ +static std::pair<std::string,std::string> SplitTorReplyLine(const std::string &s) +{ + size_t ptr=0; + std::string type; + while (ptr < s.size() && s[ptr] != ' ') { + type.push_back(s[ptr]); + ++ptr; + } + if (ptr < s.size()) + ++ptr; // skip ' ' + return make_pair(type, s.substr(ptr)); +} + +/** Parse reply arguments in the form 'METHODS=COOKIE,SAFECOOKIE COOKIEFILE=".../control_auth_cookie"'. + */ +static std::map<std::string,std::string> ParseTorReplyMapping(const std::string &s) +{ + std::map<std::string,std::string> mapping; + size_t ptr=0; + while (ptr < s.size()) { + std::string key, value; + while (ptr < s.size() && s[ptr] != '=') { + key.push_back(s[ptr]); + ++ptr; + } + if (ptr == s.size()) // unexpected end of line + return std::map<std::string,std::string>(); + ++ptr; // skip '=' + if (ptr < s.size() && s[ptr] == '"') { // Quoted string + ++ptr; // skip '=' + bool escape_next = false; + while (ptr < s.size() && (!escape_next && s[ptr] != '"')) { + escape_next = (s[ptr] == '\\'); + value.push_back(s[ptr]); + ++ptr; + } + if (ptr == s.size()) // unexpected end of line + return std::map<std::string,std::string>(); + ++ptr; // skip closing '"' + /* TODO: unescape value - according to the spec this depends on the + * context, some strings use C-LogPrintf style escape codes, some + * don't. So may be better handled at the call site. + */ + } else { // Unquoted value. Note that values can contain '=' at will, just no spaces + while (ptr < s.size() && s[ptr] != ' ') { + value.push_back(s[ptr]); + ++ptr; + } + } + if (ptr < s.size() && s[ptr] == ' ') + ++ptr; // skip ' ' after key=value + mapping[key] = value; + } + return mapping; +} + +/** Read full contents of a file and return them in a std::string. + * Returns a pair <status, string>. + * If an error occured, status will be false, otherwise status will be true and the data will be returned in string. + * + * @param maxsize Puts a maximum size limit on the file that is read. If the file is larger than this, truncated data + * (with len > maxsize) will be returned. + */ +static std::pair<bool,std::string> ReadBinaryFile(const std::string &filename, size_t maxsize=std::numeric_limits<size_t>::max()) +{ + FILE *f = fopen(filename.c_str(), "rb"); + if (f == NULL) + return std::make_pair(false,""); + std::string retval; + char buffer[128]; + size_t n; + while ((n=fread(buffer, 1, sizeof(buffer), f)) > 0) { + retval.append(buffer, buffer+n); + if (retval.size() > maxsize) + break; + } + fclose(f); + return std::make_pair(true,retval); +} + +/** Write contents of std::string to a file. + * @return true on success. + */ +static bool WriteBinaryFile(const std::string &filename, const std::string &data) +{ + FILE *f = fopen(filename.c_str(), "wb"); + if (f == NULL) + return false; + if (fwrite(data.data(), 1, data.size(), f) != data.size()) { + fclose(f); + return false; + } + fclose(f); + return true; +} + +/****** Bitcoin specific TorController implementation ********/ + +/** Controller that connects to Tor control socket, authenticate, then create + * and maintain a ephemeral hidden service. + */ +class TorController +{ +public: + TorController(struct event_base* base, const std::string& target); + ~TorController(); + + /** Get name fo file to store private key in */ + std::string GetPrivateKeyFile(); + + /** Reconnect, after getting disconnected */ + void Reconnect(); +private: + struct event_base* base; + std::string target; + TorControlConnection conn; + std::string private_key; + std::string service_id; + bool reconnect; + struct event *reconnect_ev; + float reconnect_timeout; + CService service; + /** Cooie for SAFECOOKIE auth */ + std::vector<uint8_t> cookie; + /** ClientNonce for SAFECOOKIE auth */ + std::vector<uint8_t> clientNonce; + + /** Callback for ADD_ONION result */ + void add_onion_cb(TorControlConnection& conn, const TorControlReply& reply); + /** Callback for AUTHENTICATE result */ + void auth_cb(TorControlConnection& conn, const TorControlReply& reply); + /** Callback for AUTHCHALLENGE result */ + void authchallenge_cb(TorControlConnection& conn, const TorControlReply& reply); + /** Callback for PROTOCOLINFO result */ + void protocolinfo_cb(TorControlConnection& conn, const TorControlReply& reply); + /** Callback after succesful connection */ + void connected_cb(TorControlConnection& conn); + /** Callback after connection lost or failed connection attempt */ + void disconnected_cb(TorControlConnection& conn); + + /** Callback for reconnect timer */ + static void reconnect_cb(evutil_socket_t fd, short what, void *arg); +}; + +TorController::TorController(struct event_base* base, const std::string& target): + base(base), + target(target), conn(base), reconnect(true), reconnect_ev(0), + reconnect_timeout(RECONNECT_TIMEOUT_START) +{ + // Start connection attempts immediately + if (!conn.Connect(target, boost::bind(&TorController::connected_cb, this, _1), + boost::bind(&TorController::disconnected_cb, this, _1) )) { + LogPrintf("tor: Initiating connection to Tor control port %s failed\n", target); + } + // Read service private key if cached + std::pair<bool,std::string> pkf = ReadBinaryFile(GetPrivateKeyFile()); + if (pkf.first) { + LogPrint("tor", "tor: Reading cached private key from %s\n", GetPrivateKeyFile()); + private_key = pkf.second; + } +} + +TorController::~TorController() +{ + if (reconnect_ev) + event_del(reconnect_ev); + if (service.IsValid()) { + RemoveLocal(service); + } +} + +void TorController::add_onion_cb(TorControlConnection& conn, const TorControlReply& reply) +{ + if (reply.code == 250) { + LogPrint("tor", "tor: ADD_ONION succesful\n"); + BOOST_FOREACH(const std::string &s, reply.lines) { + std::map<std::string,std::string> m = ParseTorReplyMapping(s); + std::map<std::string,std::string>::iterator i; + if ((i = m.find("ServiceID")) != m.end()) + service_id = i->second; + if ((i = m.find("PrivateKey")) != m.end()) + private_key = i->second; + } + + service = CService(service_id+".onion", GetListenPort(), false); + LogPrintf("tor: Got service ID %s, advertizing service %s\n", service_id, service.ToString()); + if (WriteBinaryFile(GetPrivateKeyFile(), private_key)) { + LogPrint("tor", "tor: Cached service private key to %s\n", GetPrivateKeyFile()); + } else { + LogPrintf("tor: Error writing service private key to %s\n", GetPrivateKeyFile()); + } + AddLocal(service, LOCAL_MANUAL); + // ... onion requested - keep connection open + } else if (reply.code == 510) { // 510 Unrecognized command + LogPrintf("tor: Add onion failed with unrecognized command (You probably need to upgrade Tor)\n"); + } else { + LogPrintf("tor: Add onion failed; error code %d\n", reply.code); + } +} + +void TorController::auth_cb(TorControlConnection& conn, const TorControlReply& reply) +{ + if (reply.code == 250) { + LogPrint("tor", "tor: Authentication succesful\n"); + // Finally - now create the service + if (private_key.empty()) // No private key, generate one + private_key = "NEW:BEST"; + // Request hidden service, redirect port. + // Note that the 'virtual' port doesn't have to be the same as our internal port, but this is just a convenient + // choice. TODO; refactor the shutdown sequence some day. + conn.Command(strprintf("ADD_ONION %s Port=%i,127.0.0.1:%i", private_key, GetListenPort(), GetListenPort()), + boost::bind(&TorController::add_onion_cb, this, _1, _2)); + } else { + LogPrintf("tor: Authentication failed\n"); + } +} + +/** Compute Tor SAFECOOKIE response. + * + * ServerHash is computed as: + * HMAC-SHA256("Tor safe cookie authentication server-to-controller hash", + * CookieString | ClientNonce | ServerNonce) + * (with the HMAC key as its first argument) + * + * After a controller sends a successful AUTHCHALLENGE command, the + * next command sent on the connection must be an AUTHENTICATE command, + * and the only authentication string which that AUTHENTICATE command + * will accept is: + * + * HMAC-SHA256("Tor safe cookie authentication controller-to-server hash", + * CookieString | ClientNonce | ServerNonce) + * + */ +static std::vector<uint8_t> ComputeResponse(const std::string &key, const std::vector<uint8_t> &cookie, const std::vector<uint8_t> &clientNonce, const std::vector<uint8_t> &serverNonce) +{ + CHMAC_SHA256 computeHash((const uint8_t*)key.data(), key.size()); + std::vector<uint8_t> computedHash(CHMAC_SHA256::OUTPUT_SIZE, 0); + computeHash.Write(begin_ptr(cookie), cookie.size()); + computeHash.Write(begin_ptr(clientNonce), clientNonce.size()); + computeHash.Write(begin_ptr(serverNonce), serverNonce.size()); + computeHash.Finalize(begin_ptr(computedHash)); + return computedHash; +} + +void TorController::authchallenge_cb(TorControlConnection& conn, const TorControlReply& reply) +{ + if (reply.code == 250) { + LogPrint("tor", "tor: SAFECOOKIE authentication challenge succesful\n"); + std::pair<std::string,std::string> l = SplitTorReplyLine(reply.lines[0]); + if (l.first == "AUTHCHALLENGE") { + std::map<std::string,std::string> m = ParseTorReplyMapping(l.second); + std::vector<uint8_t> serverHash = ParseHex(m["SERVERHASH"]); + std::vector<uint8_t> serverNonce = ParseHex(m["SERVERNONCE"]); + LogPrint("tor", "tor: AUTHCHALLENGE ServerHash %s ServerNonce %s\n", HexStr(serverHash), HexStr(serverNonce)); + if (serverNonce.size() != 32) { + LogPrintf("tor: ServerNonce is not 32 bytes, as required by spec\n"); + return; + } + + std::vector<uint8_t> computedServerHash = ComputeResponse(TOR_SAFE_SERVERKEY, cookie, clientNonce, serverNonce); + if (computedServerHash != serverHash) { + LogPrintf("tor: ServerHash %s does not match expected ServerHash %s\n", HexStr(serverHash), HexStr(computedServerHash)); + return; + } + + std::vector<uint8_t> computedClientHash = ComputeResponse(TOR_SAFE_CLIENTKEY, cookie, clientNonce, serverNonce); + conn.Command("AUTHENTICATE " + HexStr(computedClientHash), boost::bind(&TorController::auth_cb, this, _1, _2)); + } else { + LogPrintf("tor: Invalid reply to AUTHCHALLENGE\n"); + } + } else { + LogPrintf("tor: SAFECOOKIE authentication challenge failed\n"); + } +} + +void TorController::protocolinfo_cb(TorControlConnection& conn, const TorControlReply& reply) +{ + if (reply.code == 250) { + std::set<std::string> methods; + std::string cookiefile; + /* + * 250-AUTH METHODS=COOKIE,SAFECOOKIE COOKIEFILE="/home/x/.tor/control_auth_cookie" + * 250-AUTH METHODS=NULL + * 250-AUTH METHODS=HASHEDPASSWORD + */ + BOOST_FOREACH(const std::string &s, reply.lines) { + std::pair<std::string,std::string> l = SplitTorReplyLine(s); + if (l.first == "AUTH") { + std::map<std::string,std::string> m = ParseTorReplyMapping(l.second); + std::map<std::string,std::string>::iterator i; + if ((i = m.find("METHODS")) != m.end()) + boost::split(methods, i->second, boost::is_any_of(",")); + if ((i = m.find("COOKIEFILE")) != m.end()) + cookiefile = i->second; + } else if (l.first == "VERSION") { + std::map<std::string,std::string> m = ParseTorReplyMapping(l.second); + std::map<std::string,std::string>::iterator i; + if ((i = m.find("Tor")) != m.end()) { + LogPrint("tor", "tor: Connected to Tor version %s\n", i->second); + } + } + } + BOOST_FOREACH(const std::string &s, methods) { + LogPrint("tor", "tor: Supported authentication method: %s\n", s); + } + // Prefer NULL, otherwise SAFECOOKIE. If a password is provided, use HASHEDPASSWORD + /* Authentication: + * cookie: hex-encoded ~/.tor/control_auth_cookie + * password: "password" + */ + std::string torpassword = GetArg("-torpassword", ""); + if (methods.count("NULL")) { + LogPrint("tor", "tor: Using NULL authentication\n"); + conn.Command("AUTHENTICATE", boost::bind(&TorController::auth_cb, this, _1, _2)); + } else if (methods.count("SAFECOOKIE")) { + // Cookie: hexdump -e '32/1 "%02x""\n"' ~/.tor/control_auth_cookie + LogPrint("tor", "tor: Using SAFECOOKIE authentication, reading cookie authentication from %s\n", cookiefile); + std::pair<bool,std::string> status_cookie = ReadBinaryFile(cookiefile, TOR_COOKIE_SIZE); + if (status_cookie.first && status_cookie.second.size() == TOR_COOKIE_SIZE) { + // conn.Command("AUTHENTICATE " + HexStr(status_cookie.second), boost::bind(&TorController::auth_cb, this, _1, _2)); + cookie = std::vector<uint8_t>(status_cookie.second.begin(), status_cookie.second.end()); + clientNonce = std::vector<uint8_t>(TOR_NONCE_SIZE, 0); + GetRandBytes(&clientNonce[0], TOR_NONCE_SIZE); + conn.Command("AUTHCHALLENGE SAFECOOKIE " + HexStr(clientNonce), boost::bind(&TorController::authchallenge_cb, this, _1, _2)); + } else { + if (status_cookie.first) { + LogPrintf("tor: Authentication cookie %s is not exactly %i bytes, as is required by the spec\n", cookiefile, TOR_COOKIE_SIZE); + } else { + LogPrintf("tor: Authentication cookie %s could not be opened (check permissions)\n", cookiefile); + } + } + } else if (methods.count("HASHEDPASSWORD")) { + if (!torpassword.empty()) { + LogPrint("tor", "tor: Using HASHEDPASSWORD authentication\n"); + boost::replace_all(torpassword, "\"", "\\\""); + conn.Command("AUTHENTICATE \"" + torpassword + "\"", boost::bind(&TorController::auth_cb, this, _1, _2)); + } else { + LogPrintf("tor: Password authentication required, but no password provided with -torpassword\n"); + } + } else { + LogPrintf("tor: No supported authentication method\n"); + } + } else { + LogPrintf("tor: Requesting protocol info failed\n"); + } +} + +void TorController::connected_cb(TorControlConnection& conn) +{ + reconnect_timeout = RECONNECT_TIMEOUT_START; + // First send a PROTOCOLINFO command to figure out what authentication is expected + if (!conn.Command("PROTOCOLINFO 1", boost::bind(&TorController::protocolinfo_cb, this, _1, _2))) + LogPrintf("tor: Error sending initial protocolinfo command\n"); +} + +void TorController::disconnected_cb(TorControlConnection& conn) +{ + // Stop advertizing service when disconnected + if (service.IsValid()) + RemoveLocal(service); + service = CService(); + if (!reconnect) + return; + LogPrintf("tor: Disconnected from Tor control port %s, trying to reconnect\n", target); + // Single-shot timer for reconnect. Use exponential backoff. + struct timeval time = MillisToTimeval(int64_t(reconnect_timeout * 1000.0)); + reconnect_ev = event_new(base, -1, 0, reconnect_cb, this); + event_add(reconnect_ev, &time); + reconnect_timeout *= RECONNECT_TIMEOUT_EXP; +} + +void TorController::Reconnect() +{ + /* Try to reconnect and reestablish if we get booted - for example, Tor + * may be restarting. + */ + if (!conn.Connect(target, boost::bind(&TorController::connected_cb, this, _1), + boost::bind(&TorController::disconnected_cb, this, _1) )) { + LogPrintf("tor: Re-initiating connection to Tor control port %s failed\n", target); + } +} + +std::string TorController::GetPrivateKeyFile() +{ + return (GetDataDir() / "onion_private_key").string(); +} + +void TorController::reconnect_cb(evutil_socket_t fd, short what, void *arg) +{ + TorController *self = (TorController*)arg; + self->Reconnect(); +} + +/****** Thread ********/ +struct event_base *base; +boost::thread torControlThread; + +static void TorControlThread() +{ + TorController ctrl(base, GetArg("-torcontrol", DEFAULT_TOR_CONTROL)); + + event_base_dispatch(base); +} + +void StartTorControl(boost::thread_group& threadGroup, CScheduler& scheduler) +{ + assert(!base); +#ifdef WIN32 + evthread_use_windows_threads(); +#else + evthread_use_pthreads(); +#endif + base = event_base_new(); + if (!base) { + LogPrintf("tor: Unable to create event_base\n"); + return; + } + + torControlThread = boost::thread(boost::bind(&TraceThread<void (*)()>, "torcontrol", &TorControlThread)); +} + +void InterruptTorControl() +{ + if (base) { + LogPrintf("tor: Thread interrupt\n"); + event_base_loopbreak(base); + } +} + +void StopTorControl() +{ + if (base) { + torControlThread.join(); + event_base_free(base); + base = 0; + } +} + diff --git a/src/torcontrol.h b/src/torcontrol.h new file mode 100644 index 0000000000..72dc82c5b1 --- /dev/null +++ b/src/torcontrol.h @@ -0,0 +1,20 @@ +// Copyright (c) 2015 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +/** + * Functionality for communicating with Tor. + */ +#ifndef BITCOIN_TORCONTROL_H +#define BITCOIN_TORCONTROL_H + +#include "scheduler.h" + +extern const std::string DEFAULT_TOR_CONTROL; +static const bool DEFAULT_LISTEN_ONION = true; + +void StartTorControl(boost::thread_group& threadGroup, CScheduler& scheduler); +void InterruptTorControl(); +void StopTorControl(); + +#endif /* BITCOIN_TORCONTROL_H */ diff --git a/src/txmempool.h b/src/txmempool.h index 6aa5f6d77c..7b5843a8d0 100644 --- a/src/txmempool.h +++ b/src/txmempool.h @@ -360,7 +360,7 @@ public: * check does nothing. */ void check(const CCoinsViewCache *pcoins) const; - void setSanityCheck(double dFrequency = 1.0) { nCheckFrequency = dFrequency * 4294967296.0; } + void setSanityCheck(double dFrequency = 1.0) { nCheckFrequency = dFrequency * 4294967295.0; } // addUnchecked must updated state for all ancestors of a given transaction, // to track size/count of descendant transactions. First version of diff --git a/src/wallet/db.cpp b/src/wallet/db.cpp index e5bc653c33..cf6122813c 100644 --- a/src/wallet/db.cpp +++ b/src/wallet/db.cpp @@ -293,7 +293,7 @@ void CDB::Flush() if (fReadOnly) nMinutes = 1; - bitdb.dbenv->txn_checkpoint(nMinutes ? GetArg("-dblogsize", 100) * 1024 : 0, nMinutes, 0); + bitdb.dbenv->txn_checkpoint(nMinutes ? GetArg("-dblogsize", DEFAULT_WALLET_DBLOGSIZE) * 1024 : 0, nMinutes, 0); } void CDB::Close() diff --git a/src/wallet/db.h b/src/wallet/db.h index 64071caa3a..46bc0ac0a9 100644 --- a/src/wallet/db.h +++ b/src/wallet/db.h @@ -20,6 +20,8 @@ #include <db_cxx.h> +static const unsigned int DEFAULT_WALLET_DBLOGSIZE = 100; + extern unsigned int nWalletDBUpdated; class CDBEnv diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 30b854477b..d93050d98c 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -1182,6 +1182,8 @@ UniValue ListReceived(const UniValue& params, bool fByAccounts) 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))); + if (!fByAccounts) + obj.push_back(Pair("label", strAccount)); UniValue transactions(UniValue::VARR); if (it != mapTally.end()) { @@ -1235,7 +1237,8 @@ UniValue listreceivedbyaddress(const UniValue& params, bool fHelp) " \"address\" : \"receivingaddress\", (string) The receiving address\n" " \"account\" : \"accountname\", (string) DEPRECATED. The account of the receiving address. The default account is \"\".\n" " \"amount\" : x.xxx, (numeric) The total amount in " + CURRENCY_UNIT + " received by the address\n" - " \"confirmations\" : n (numeric) The number of confirmations of the most recent transaction included\n" + " \"confirmations\" : n, (numeric) The number of confirmations of the most recent transaction included\n" + " \"label\" : \"label\" (string) A comment for the address/transaction, if any\n" " }\n" " ,...\n" "]\n" @@ -1271,7 +1274,8 @@ UniValue listreceivedbyaccount(const UniValue& params, bool fHelp) " \"involvesWatchonly\" : true, (bool) Only returned if imported addresses were involved in transaction\n" " \"account\" : \"accountname\", (string) The account name of the receiving account\n" " \"amount\" : x.xxx, (numeric) The total amount received by addresses with this account\n" - " \"confirmations\" : n (numeric) The number of confirmations of the most recent transaction included\n" + " \"confirmations\" : n, (numeric) The number of confirmations of the most recent transaction included\n" + " \"label\" : \"label\" (string) A comment for the address/transaction, if any\n" " }\n" " ,...\n" "]\n" @@ -1318,6 +1322,8 @@ void ListTransactions(const CWalletTx& wtx, const string& strAccount, int nMinDe MaybePushAddress(entry, s.destination); entry.push_back(Pair("category", "send")); entry.push_back(Pair("amount", ValueFromAmount(-s.amount))); + if (pwalletMain->mapAddressBook.count(s.destination)) + entry.push_back(Pair("label", pwalletMain->mapAddressBook[s.destination].name)); entry.push_back(Pair("vout", s.vout)); entry.push_back(Pair("fee", ValueFromAmount(-nFee))); if (fLong) @@ -1355,6 +1361,8 @@ void ListTransactions(const CWalletTx& wtx, const string& strAccount, int nMinDe entry.push_back(Pair("category", "receive")); } entry.push_back(Pair("amount", ValueFromAmount(r.amount))); + if (pwalletMain->mapAddressBook.count(r.destination)) + entry.push_back(Pair("label", account)); entry.push_back(Pair("vout", r.vout)); if (fLong) WalletTxToJSON(wtx, entry); @@ -1423,6 +1431,7 @@ UniValue listtransactions(const UniValue& params, bool fHelp) " \"timereceived\": xxx, (numeric) The time received in seconds since epoch (midnight Jan 1 1970 GMT). Available \n" " for 'send' and 'receive' category of transactions.\n" " \"comment\": \"...\", (string) If a comment is associated with the transaction.\n" + " \"label\" : \"label\" (string) A comment for the address/transaction, if any\n" " \"otheraccount\": \"accountname\", (string) For the 'move' category of transactions, the account the funds came \n" " from (for receiving funds, positive amounts), or went to (for sending funds,\n" " negative amounts).\n" @@ -1613,6 +1622,7 @@ UniValue listsinceblock(const UniValue& params, bool fHelp) " \"time\": xxx, (numeric) The transaction time in seconds since epoch (Jan 1 1970 GMT).\n" " \"timereceived\": xxx, (numeric) The time received in seconds since epoch (Jan 1 1970 GMT). Available for 'send' and 'receive' category of transactions.\n" " \"comment\": \"...\", (string) If a comment is associated with the transaction.\n" + " \"label\" : \"label\" (string) A comment for the address/transaction, if any\n" " \"to\": \"...\", (string) If a comment to is associated with the transaction.\n" " ],\n" " \"lastblock\": \"lastblockhash\" (string) The hash of the last block\n" @@ -1700,7 +1710,8 @@ UniValue gettransaction(const UniValue& params, bool fHelp) " \"account\" : \"accountname\", (string) DEPRECATED. The account name involved in the transaction, can be \"\" for the default account.\n" " \"address\" : \"bitcoinaddress\", (string) The bitcoin address involved in the transaction\n" " \"category\" : \"send|receive\", (string) The category, either 'send' or 'receive'\n" - " \"amount\" : x.xxx (numeric) The amount in " + CURRENCY_UNIT + "\n" + " \"amount\" : x.xxx, (numeric) The amount in " + CURRENCY_UNIT + "\n" + " \"label\" : \"label\", (string) A comment for the address/transaction, if any\n" " \"vout\" : n, (numeric) the vout value\n" " }\n" " ,...\n" diff --git a/src/wallet/test/wallet_tests.cpp b/src/wallet/test/wallet_tests.cpp index a5bc52b8dc..8b9292bd14 100644 --- a/src/wallet/test/wallet_tests.cpp +++ b/src/wallet/test/wallet_tests.cpp @@ -117,7 +117,7 @@ BOOST_AUTO_TEST_CASE(coin_selection_tests) // 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(nValueRet, 35 * CENT); // but 35 cents is closest BOOST_CHECK_EQUAL(setCoinsRet.size(), 3U); // the best should be 20+10+5. it's incredibly unlikely the 1 or 2 got included (but possible) // when we try making 7 cents, the smaller coins (1,2,5) are enough. We should see just 2+5 @@ -185,33 +185,34 @@ BOOST_AUTO_TEST_CASE(coin_selection_tests) BOOST_CHECK_EQUAL(nValueRet, 2 * COIN); // we should get 2 BTC in 1 coin BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); - // empty the wallet and start again, now with fractions of a cent, to test sub-cent change avoidance + // empty the wallet and start again, now with fractions of a cent, to test small 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); + add_coin(0.1*MIN_CHANGE); + add_coin(0.2*MIN_CHANGE); + add_coin(0.3*MIN_CHANGE); + add_coin(0.4*MIN_CHANGE); + add_coin(0.5*MIN_CHANGE); + + // try making 1 * MIN_CHANGE from the 1.5 * MIN_CHANGE + // we'll get change smaller than MIN_CHANGE whatever happens, so can expect MIN_CHANGE exactly + BOOST_CHECK( wallet.SelectCoinsMinConf(MIN_CHANGE, 1, 1, vCoins, setCoinsRet, nValueRet)); + BOOST_CHECK_EQUAL(nValueRet, MIN_CHANGE); - // but if we add a bigger coin, making it possible to avoid sub-cent change, things change: - add_coin(1111*CENT); + // but if we add a bigger coin, small change is avoided + add_coin(1111*MIN_CHANGE); - // 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 + // try making 1 from 0.1 + 0.2 + 0.3 + 0.4 + 0.5 + 1111 = 1112.5 + BOOST_CHECK( wallet.SelectCoinsMinConf(1 * MIN_CHANGE, 1, 1, vCoins, setCoinsRet, nValueRet)); + BOOST_CHECK_EQUAL(nValueRet, 1 * MIN_CHANGE); // we should get the exact amount - // if we add more sub-cent coins: - add_coin(0.6*CENT); - add_coin(0.7*CENT); + // if we add more small coins: + add_coin(0.6*MIN_CHANGE); + add_coin(0.7*MIN_CHANGE); - // 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 + // and try again to make 1.0 * MIN_CHANGE + BOOST_CHECK( wallet.SelectCoinsMinConf(1 * MIN_CHANGE, 1, 1, vCoins, setCoinsRet, nValueRet)); + BOOST_CHECK_EQUAL(nValueRet, 1 * MIN_CHANGE); // 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 @@ -223,45 +224,65 @@ BOOST_AUTO_TEST_CASE(coin_selection_tests) BOOST_CHECK_EQUAL(nValueRet, 500000 * COIN); // we should get the exact amount BOOST_CHECK_EQUAL(setCoinsRet.size(), 10U); // in ten coins - // if there's not enough in the smaller coins to make at least 1 cent change (0.5+0.6+0.7 < 1.0+1.0), + // if there's not enough in the smaller coins to make at least 1 * MIN_CHANGE 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 + add_coin(0.5 * MIN_CHANGE); + add_coin(0.6 * MIN_CHANGE); + add_coin(0.7 * MIN_CHANGE); + add_coin(1111 * MIN_CHANGE); + BOOST_CHECK( wallet.SelectCoinsMinConf(1 * MIN_CHANGE, 1, 1, vCoins, setCoinsRet, nValueRet)); + BOOST_CHECK_EQUAL(nValueRet, 1111 * MIN_CHANGE); // we get the bigger coin BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); // but sometimes it's possible, and we use an exact subset (0.4 + 0.6 = 1.0) empty_wallet(); - 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 + add_coin(0.4 * MIN_CHANGE); + add_coin(0.6 * MIN_CHANGE); + add_coin(0.8 * MIN_CHANGE); + add_coin(1111 * MIN_CHANGE); + BOOST_CHECK( wallet.SelectCoinsMinConf(MIN_CHANGE, 1, 1, vCoins, setCoinsRet, nValueRet)); + BOOST_CHECK_EQUAL(nValueRet, MIN_CHANGE); // we should get the exact amount BOOST_CHECK_EQUAL(setCoinsRet.size(), 2U); // in two coins 0.4+0.6 - // test avoiding sub-cent change + // test avoiding small change empty_wallet(); - add_coin(0.0005 * COIN); - add_coin(0.01 * COIN); - add_coin(1 * COIN); + add_coin(0.05 * MIN_CHANGE); + add_coin(1 * MIN_CHANGE); + add_coin(100 * MIN_CHANGE); - // 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 + // trying to make 100.01 from these three coins + BOOST_CHECK( wallet.SelectCoinsMinConf(100.01 * MIN_CHANGE, 1, 1, vCoins, setCoinsRet, nValueRet)); + BOOST_CHECK_EQUAL(nValueRet, 101.05 * MIN_CHANGE); // we should get all coins BOOST_CHECK_EQUAL(setCoinsRet.size(), 3U); - // but if we try to make 0.999, we should take the bigger of the two small coins to avoid sub-cent change - BOOST_CHECK( wallet.SelectCoinsMinConf(0.999 * COIN, 1, 1, vCoins, setCoinsRet, nValueRet)); - BOOST_CHECK_EQUAL(nValueRet, 1.01 * COIN); // we should get 1 + 0.01 + // but if we try to make 99.9, we should take the bigger of the two small coins to avoid small change + BOOST_CHECK( wallet.SelectCoinsMinConf(99.9 * MIN_CHANGE, 1, 1, vCoins, setCoinsRet, nValueRet)); + BOOST_CHECK_EQUAL(nValueRet, 101 * MIN_CHANGE); BOOST_CHECK_EQUAL(setCoinsRet.size(), 2U); + // test with many inputs + for (CAmount amt=1500; amt < COIN; amt*=10) { + empty_wallet(); + // Create 676 inputs (= MAX_STANDARD_TX_SIZE / 148 bytes per input) + for (uint16_t j = 0; j < 676; j++) + add_coin(amt); + BOOST_CHECK(wallet.SelectCoinsMinConf(2000, 1, 1, vCoins, setCoinsRet, nValueRet)); + if (amt - 2000 < MIN_CHANGE) { + // needs more than one input: + uint16_t returnSize = std::ceil((2000.0 + MIN_CHANGE)/amt); + CAmount returnValue = amt * returnSize; + BOOST_CHECK_EQUAL(nValueRet, returnValue); + BOOST_CHECK_EQUAL(setCoinsRet.size(), returnSize); + } else { + // one input is sufficient: + BOOST_CHECK_EQUAL(nValueRet, amt); + BOOST_CHECK_EQUAL(setCoinsRet.size(), 1U); + } + } + // test randomness { empty_wallet(); diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 3f2d5a05f6..d51b8ddaef 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -47,7 +47,7 @@ bool fPayAtLeastCustomFee = true; * Fees smaller than this (in satoshi) are considered zero fee (for transaction creation) * Override with -mintxfee */ -CFeeRate CWallet::minTxFee = CFeeRate(1000); +CFeeRate CWallet::minTxFee = CFeeRate(DEFAULT_TRANSACTION_MINFEE); /** @defgroup mapWallet * @@ -1078,7 +1078,7 @@ int CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate) ShowProgress(_("Rescanning..."), std::max(1, std::min(99, (int)((Checkpoints::GuessVerificationProgress(chainParams.Checkpoints(), pindex, false) - dProgressStart) / (dProgressTip - dProgressStart) * 100)))); CBlock block; - ReadBlockFromDisk(block, pindex); + ReadBlockFromDisk(block, pindex, Params().GetConsensus()); BOOST_FOREACH(CTransaction& tx, block.vtx) { if (AddToWalletIfInvolvingMe(tx, &block, fUpdate)) @@ -1497,9 +1497,6 @@ CAmount CWallet::GetImmatureWatchOnlyBalance() const return nTotal; } -/** - * populate vCoins with vector of available COutputs. - */ void CWallet::AvailableCoins(vector<COutput>& vCoins, bool fOnlyConfirmed, const CCoinControl *coinControl, bool fIncludeZeroValue) const { vCoins.clear(); @@ -1619,7 +1616,7 @@ bool CWallet::SelectCoinsMinConf(const CAmount& nTargetValue, int nConfMine, int nValueRet += coin.first; return true; } - else if (n < nTargetValue + CENT) + else if (n < nTargetValue + MIN_CHANGE) { vValue.push_back(coin); nTotalLower += n; @@ -1654,14 +1651,14 @@ bool CWallet::SelectCoinsMinConf(const CAmount& nTargetValue, int nConfMine, int vector<char> vfBest; CAmount nBest; - ApproximateBestSubset(vValue, nTotalLower, nTargetValue, vfBest, nBest, 1000); - if (nBest != nTargetValue && nTotalLower >= nTargetValue + CENT) - ApproximateBestSubset(vValue, nTotalLower, nTargetValue + CENT, vfBest, nBest, 1000); + ApproximateBestSubset(vValue, nTotalLower, nTargetValue, vfBest, nBest); + if (nBest != nTargetValue && nTotalLower >= nTargetValue + MIN_CHANGE) + ApproximateBestSubset(vValue, nTotalLower, nTargetValue + MIN_CHANGE, vfBest, nBest); // 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)) + ((nBest != nTargetValue && nBest < nTargetValue + MIN_CHANGE) || coinLowestLarger.first <= nBest)) { setCoinsRet.insert(coinLowestLarger.second); nValueRet += coinLowestLarger.first; @@ -1844,6 +1841,7 @@ bool CWallet::CreateTransaction(const vector<CRecipient>& vecSend, CWalletTx& wt LOCK2(cs_main, cs_wallet); { nFeeRet = 0; + // Start with no fee and loop until there is enough fee while (true) { txNew.vin.clear(); @@ -2120,6 +2118,11 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey) return true; } +CAmount CWallet::GetRequiredFee(unsigned int nTxBytes) +{ + return std::max(minTxFee.GetFee(nTxBytes), ::minRelayTxFee.GetFee(nTxBytes)); +} + CAmount CWallet::GetMinimumFee(unsigned int nTxBytes, unsigned int nConfirmTarget, const CTxMemPool& pool) { // payTxFee is user-set "I want to pay this much" @@ -2131,9 +2134,9 @@ CAmount CWallet::GetMinimumFee(unsigned int nTxBytes, unsigned int nConfirmTarge if (nFeeNeeded == 0) nFeeNeeded = pool.estimateFee(nConfirmTarget).GetFee(nTxBytes); // ... unless we don't have enough mempool data, in which case fall - // back to a hard-coded fee + // back to the required fee if (nFeeNeeded == 0) - nFeeNeeded = minTxFee.GetFee(nTxBytes); + nFeeNeeded = GetRequiredFee(nTxBytes); // prevent user from paying a non-sense fee (like 1 satoshi): 0 < fee < minRelayFee if (nFeeNeeded < ::minRelayTxFee.GetFee(nTxBytes)) nFeeNeeded = ::minRelayTxFee.GetFee(nTxBytes); diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 34e98cfb81..719f11f206 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -41,8 +41,12 @@ extern bool fPayAtLeastCustomFee; static const CAmount DEFAULT_TRANSACTION_FEE = 0; //! -paytxfee will warn if called with a higher fee than this amount (in satoshis) per KB static const CAmount nHighTransactionFeeWarning = 0.01 * COIN; +//! -mintxfee default +static const CAmount DEFAULT_TRANSACTION_MINFEE = 1000; //! -maxtxfee default static const CAmount DEFAULT_TRANSACTION_MAXFEE = 0.1 * COIN; +//! minimum change amount +static const CAmount MIN_CHANGE = CENT; //! -txconfirmtarget default static const unsigned int DEFAULT_TX_CONFIRM_TARGET = 2; //! -maxtxfee will warn if called with a higher fee than this amount (in satoshis) @@ -442,6 +446,11 @@ public: class CWallet : public CCryptoKeyStore, public CValidationInterface { private: + /** + * Select a set of coins such that nValueRet >= nTargetValue and at least + * all coins from coinControl are selected; Never select unconfirmed coins + * if they are not ours + */ bool SelectCoins(const CAmount& nTargetValue, std::set<std::pair<const CWalletTx*,unsigned int> >& setCoinsRet, CAmount& nValueRet, const CCoinControl *coinControl = NULL) const; CWalletDB *pwalletdbEncryption; @@ -539,7 +548,17 @@ public: //! check whether we are allowed to upgrade (or already support) to the named feature bool CanSupportFeature(enum WalletFeature wf) { AssertLockHeld(cs_wallet); return nWalletMaxVersion >= wf; } + /** + * populate vCoins with vector of available COutputs. + */ void AvailableCoins(std::vector<COutput>& vCoins, bool fOnlyConfirmed=true, const CCoinControl *coinControl = NULL, bool fIncludeZeroValue=false) const; + + /** + * Shuffle and select coins until nTargetValue is reached while avoiding + * small change; This method is stochastic for some inputs and upon + * completion the coin set and corresponding actual target value is + * assembled + */ bool SelectCoinsMinConf(const CAmount& nTargetValue, int nConfMine, int nConfTheirs, std::vector<COutput> vCoins, std::set<std::pair<const CWalletTx*,unsigned int> >& setCoinsRet, CAmount& nValueRet) const; bool IsSpent(const uint256& hash, unsigned int n) const; @@ -622,13 +641,32 @@ public: CAmount GetWatchOnlyBalance() const; CAmount GetUnconfirmedWatchOnlyBalance() const; CAmount GetImmatureWatchOnlyBalance() const; + + /** + * Insert additional inputs into the transaction by + * calling CreateTransaction(); + */ bool FundTransaction(CMutableTransaction& tx, CAmount& nFeeRet, int& nChangePosRet, std::string& strFailReason, bool includeWatching); + + /** + * Create a new transaction paying the recipients with a set of coins + * selected by SelectCoins(); Also create the change output, when needed + */ bool CreateTransaction(const std::vector<CRecipient>& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, CAmount& nFeeRet, int& nChangePosRet, std::string& strFailReason, const CCoinControl *coinControl = NULL, bool sign = true); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); static CFeeRate minTxFee; + /** + * Estimate the minimum fee considering user set parameters + * and the required fee + */ static CAmount GetMinimumFee(unsigned int nTxBytes, unsigned int nConfirmTarget, const CTxMemPool& pool); + /** + * Return the minimum required fee taking into account the + * floating relay fee and user set minimum transaction fee + */ + static CAmount GetRequiredFee(unsigned int nTxBytes); bool NewKeyPool(); bool TopUpKeyPool(unsigned int kpSize = 0); diff --git a/src/wallet/walletdb.cpp b/src/wallet/walletdb.cpp index 0624e442d1..ea8a4eb043 100644 --- a/src/wallet/walletdb.cpp +++ b/src/wallet/walletdb.cpp @@ -512,8 +512,13 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, } else if (strType == "ckey") { - vector<unsigned char> vchPubKey; + CPubKey vchPubKey; ssKey >> vchPubKey; + if (!vchPubKey.IsValid()) + { + strErr = "Error reading wallet database: CPubKey corrupt"; + return false; + } vector<unsigned char> vchPrivKey; ssValue >> vchPrivKey; wss.nCKeys++; diff --git a/src/zmq/zmqnotificationinterface.cpp b/src/zmq/zmqnotificationinterface.cpp index 388b86707b..09fe3aeb4c 100644 --- a/src/zmq/zmqnotificationinterface.cpp +++ b/src/zmq/zmqnotificationinterface.cpp @@ -21,8 +21,7 @@ CZMQNotificationInterface::CZMQNotificationInterface() : pcontext(NULL) CZMQNotificationInterface::~CZMQNotificationInterface() { - // ensure Shutdown if Initialize is called - assert(!pcontext); + Shutdown(); for (std::list<CZMQAbstractNotifier*>::iterator i=notifiers.begin(); i!=notifiers.end(); ++i) { @@ -59,6 +58,12 @@ CZMQNotificationInterface* CZMQNotificationInterface::CreateWithArguments(const { notificationInterface = new CZMQNotificationInterface(); notificationInterface->notifiers = notifiers; + + if (!notificationInterface->Initialize()) + { + delete notificationInterface; + notificationInterface = NULL; + } } return notificationInterface; @@ -99,7 +104,7 @@ bool CZMQNotificationInterface::Initialize() return false; } - return false; + return true; } // Called during shutdown sequence diff --git a/src/zmq/zmqnotificationinterface.h b/src/zmq/zmqnotificationinterface.h index 8eea15c068..3ccfaf341d 100644 --- a/src/zmq/zmqnotificationinterface.h +++ b/src/zmq/zmqnotificationinterface.h @@ -19,10 +19,11 @@ public: static CZMQNotificationInterface* CreateWithArguments(const std::map<std::string, std::string> &args); +protected: bool Initialize(); void Shutdown(); -protected: // CValidationInterface + // CValidationInterface void SyncTransaction(const CTransaction &tx, const CBlock *pblock); void UpdatedBlockTip(const CBlockIndex *pindex); diff --git a/src/zmq/zmqpublishnotifier.cpp b/src/zmq/zmqpublishnotifier.cpp index 4c3eb8f2d9..ac788843eb 100644 --- a/src/zmq/zmqpublishnotifier.cpp +++ b/src/zmq/zmqpublishnotifier.cpp @@ -2,6 +2,7 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#include "chainparams.h" #include "zmqpublishnotifier.h" #include "main.h" #include "util.h" @@ -142,11 +143,12 @@ bool CZMQPublishRawBlockNotifier::NotifyBlock(const CBlockIndex *pindex) { LogPrint("zmq", "Publish raw block %s\n", pindex->GetBlockHash().GetHex()); + const Consensus::Params& consensusParams = Params().GetConsensus(); CDataStream ss(SER_NETWORK, PROTOCOL_VERSION); { LOCK(cs_main); CBlock block; - if(!ReadBlockFromDisk(block, pindex)) + if(!ReadBlockFromDisk(block, pindex, consensusParams)) { zmqError("Can't read block from disk"); return false; |