diff options
53 files changed, 1720 insertions, 905 deletions
@@ -81,3 +81,38 @@ Periodically the translations are pulled from Transifex and merged into the git **Important**: We do not accept translation changes as github pull request because the next pull from Transifex would automatically overwrite them again. + +Development tips and tricks +--------------------------- + +**compiling for debugging** + +Run configure with the --enable-debug option, then make. Or run configure with +CXXFLAGS="-g -ggdb -O0" or whatever debug flags you need. + +**debug.log** + +If the code is behaving strangely, take a look in the debug.log file in the data directory; +error and debugging message are written there. + +The -debug=... command-line option controls debugging; running with just -debug will turn +on all categories (and give you a very large debug.log file). + +The Qt code routes qDebug() output to debug.log under category "qt": run with -debug=qt +to see it. + +**testnet and regtest modes** + +Run with the -testnet option to run with "play bitcoins" on the test network, if you +are testing multi-machine code that needs to operate across the internet. + +If you are testing something that can run on one machine, run with the -regtest option. +In regression test mode blocks can be created on-demand; see qa/rpc-tests/ for tests +that run in -regest mode. + +**DEBUG_LOCKORDER** + +Bitcoin Core is a multithreaded application, and deadlocks or other multithreading bugs +can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure +CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of what locks +are held, and adds warning to the debug.log file if inconsistencies are detected. diff --git a/configure.ac b/configure.ac index 6a8afe6e44..3a8d33a5a0 100644 --- a/configure.ac +++ b/configure.ac @@ -303,6 +303,8 @@ INCLUDES="$INCLUDES $PTHREAD_CFLAGS" # they also need to be passed down to any subprojects. Pull the results out of # the cache and add them to CPPFLAGS. AC_SYS_LARGEFILE +# detect POSIX or GNU variant of strerror_r +AC_FUNC_STRERROR_R if test x$ac_cv_sys_file_offset_bits != x && test x$ac_cv_sys_file_offset_bits != xno && diff --git a/contrib/gitian-descriptors/gitian-osx-bitcoin.yml b/contrib/gitian-descriptors/gitian-osx-bitcoin.yml new file mode 100644 index 0000000000..aea4b93a1f --- /dev/null +++ b/contrib/gitian-descriptors/gitian-osx-bitcoin.yml @@ -0,0 +1,65 @@ +--- +name: "bitcoin" +suites: +- "precise" +architectures: +- "i386" +packages: +- "git-core" +- "automake" +- "faketime" +- "bsdmainutils" +- "pkg-config" +- "p7zip-full" + +reference_datetime: "2013-06-01 00:00:00" +remotes: +- "url": "https://github.com/bitcoin/bitcoin.git" + "dir": "bitcoin" +files: +- "osx-native-depends-r2.tar.gz" +- "osx-depends-r2.tar.gz" +- "osx-depends-qt-5.2.1-r2.tar.gz" +- "MacOSX10.6.pkg" + +script: | + + echo "a2ccf2299de4e0bb88bd17a3355f02b747575b97492c7c2f5b789a64ccc4cbd6 MacOSX10.6.pkg" | sha256sum -c + + HOST=x86_64-apple-darwin11 + PREFIX=`pwd`/osx-cross-depends/prefix + SDK=`pwd`/osx-cross-depends/SDKs/MacOSX10.6.sdk + NATIVEPREFIX=`pwd`/osx-cross-depends/native-prefix + export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" + + export SOURCES_PATH=`pwd` + + mkdir osx-cross-depends + + cd osx-cross-depends + mkdir -p SDKs + 7z -bd -so -y e ${SOURCES_PATH}/MacOSX10.6.pkg Payload | gzip -d -c | cpio -i + cd .. + + tar -C osx-cross-depends -xf osx-native-depends-r2.tar.gz + tar -C osx-cross-depends -xf osx-depends-r2.tar.gz + tar -C osx-cross-depends -xf osx-depends-qt-5.2.1-r2.tar.gz + export PATH=`pwd`/osx-cross-depends/native-prefix/bin:$PATH + + cd bitcoin + + export ZERO_AR_DATE=1 + export QT_RCC_TEST=1 + ./autogen.sh + ./configure --host=${HOST} --with-boost=${PREFIX} CC=clang CXX=clang++ OBJC=clang OBJCXX=clang++ CFLAGS="-target ${HOST} -mmacosx-version-min=10.6 --sysroot ${SDK} -msse2 -Qunused-arguments" CXXFLAGS="-target ${HOST} -mmacosx-version-min=10.6 --sysroot ${SDK} -msse2 -Qunused-arguments" LDFLAGS="-B${NATIVEPREFIX}/bin -L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1" CPPFLAGS="-I${NATIVEPREFIX}/lib/clang/3.2/include -I${PREFIX}/include" SSL_LIBS="-lz -lssl -lcrypto" --disable-tests -with-gui=qt5 PKG_CONFIG_LIBDIR="${PREFIX}/lib/pkgconfig" --disable-dependency-tracking --disable-maintainer-mode + make dist + mkdir -p distsrc + cd distsrc + tar --strip-components=1 -xf ../bitcoin-*.tar* + ./configure --host=${HOST} --with-boost=${PREFIX} CC=clang CXX=clang++ OBJC=clang OBJCXX=clang++ CFLAGS="-target ${HOST} -mmacosx-version-min=10.6 --sysroot ${SDK} -msse2 -Qunused-arguments" CXXFLAGS="-target ${HOST} -mmacosx-version-min=10.6 --sysroot ${SDK} -msse2 -Qunused-arguments" LDFLAGS="-B${NATIVEPREFIX}/bin -L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1" CPPFLAGS="-I${NATIVEPREFIX}/lib/clang/3.2/include -I${PREFIX}/include" SSL_LIBS="-lz -lssl -lcrypto" --disable-tests -with-gui=qt5 PKG_CONFIG_LIBDIR="${PREFIX}/lib/pkgconfig" --disable-dependency-tracking --disable-maintainer-mode + make $MAKEOPTS + export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 + export FAKETIME=$REFERENCE_DATETIME + export TZ=UTC + make deploy + dmg dmg Bitcoin-Qt.dmg $OUTDIR/Bitcoin-Qt.dmg diff --git a/contrib/gitian-descriptors/gitian-osx-depends.yml b/contrib/gitian-descriptors/gitian-osx-depends.yml new file mode 100644 index 0000000000..8e91a30ded --- /dev/null +++ b/contrib/gitian-descriptors/gitian-osx-depends.yml @@ -0,0 +1,160 @@ +--- +name: "osx-depends" +suites: +- "precise" +architectures: +- "i386" +packages: +- "git-core" +- "automake" +- "p7zip-full" + +reference_datetime: "2013-06-01 00:00:00" +remotes: [] +files: +- "boost_1_55_0.tar.bz2" +- "db-4.8.30.NC.tar.gz" +- "miniupnpc-1.9.tar.gz" +- "openssl-1.0.1g.tar.gz" +- "protobuf-2.5.0.tar.bz2" +- "qrencode-3.4.3.tar.bz2" +- "MacOSX10.6.pkg" +- "osx-native-depends-r2.tar.gz" + +script: | + + echo "fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 boost_1_55_0.tar.bz2" | sha256sum -c + echo "12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz" | sha256sum -c + echo "2923e453e880bb949e3d4da9f83dd3cb6f08946d35de0b864d0339cf70934464 miniupnpc-1.9.tar.gz" | sha256sum -c + echo "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028 openssl-1.0.1g.tar.gz" | sha256sum -c + echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c + echo "dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 qrencode-3.4.3.tar.bz2" | sha256sum -c + echo "a2ccf2299de4e0bb88bd17a3355f02b747575b97492c7c2f5b789a64ccc4cbd6 MacOSX10.6.pkg" | sha256sum -c + + REVISION=r2 + export SOURCES_PATH=`pwd` + export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" + export PATH=$HOME:$PATH + export SOURCES_PATH=`pwd` + export ZERO_AR_DATE=1 + + mkdir -p osx-cross-depends/build + cd osx-cross-depends + + PREFIX=`pwd`/prefix + NATIVEPREFIX=`pwd`/native-prefix + BUILD_BASE=`pwd`/build + SDK=`pwd`/SDKs/MacOSX10.6.sdk + HOST=x86_64-apple-darwin11 + MIN_VERSION=10.6 + + INT_CFLAGS="-target ${HOST} -mmacosx-version-min=${MIN_VERSION} --sysroot ${SDK} -msse2 -Qunused-arguments" + INT_CXXFLAGS="${INT_CFLAGS}" + INT_LDFLAGS="-L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1" + INT_LDFLAGS_CLANG="-B${NATIVEPREFIX}/bin" + INT_CPPFLAGS="-I${PREFIX}/include" + INT_CC=clang + INT_CXX=clang++ + INT_OBJC=clang + INT_OBJCXX=clang++ + INT_AR=${HOST}-ar + INT_RANLIB=${HOST}-ranlib + INT_LIBTOOL=${HOST}-libtool + INT_INSTALL_NAME_TOOL=${HOST}-install_name_tool + + export PATH=${NATIVEPREFIX}/bin:${PATH} + + mkdir -p ${NATIVEPREFIX}/bin + mkdir -p ${NATIVEPREFIX}/lib + mkdir -p ${PREFIX}/bin + mkdir -p ${PREFIX}/lib + mkdir -p ${BUILD_BASE} + + mkdir -p ${SDK} + 7z -bd -so -y e ${SOURCES_PATH}/MacOSX10.6.pkg Payload | gzip -d -c | cpio -i + + tar xf /home/ubuntu/build/osx-native-depends-r2.tar.gz + + # bdb + SOURCE_FILE=${SOURCES_PATH}/db-4.8.30.NC.tar.gz + BUILD_DIR=${BUILD_BASE}/db-4.8.30.NC + + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + sed -i 's/__atomic_compare_exchange/__atomic_compare_exchange_db/g' ${BUILD_DIR}/dbinc/atomic.h + pushd ${BUILD_DIR} + cd build_unix; + ../dist/configure --host=${HOST} --prefix="${PREFIX}" --disable-shared --enable-cxx CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}" + make $MAKEOPTS libdb.a libdb_cxx.a + make install_lib install_include + popd + + # openssl + SOURCE_FILE=${SOURCES_PATH}/openssl-1.0.1g.tar.gz + BUILD_DIR=${BUILD_BASE}/openssl-1.0.1g + + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + pushd ${BUILD_DIR} + sed -ie "s|cc:|${INT_CC}:|" ${BUILD_DIR}/Configure + sed -ie "s|\(-arch [_a-zA-Z0-9]*\)|\1 --sysroot ${SDK} -target ${HOST} -msse2|" ${BUILD_DIR}/Configure + AR="${INT_AR}" RANLIB="${INT_RANLIB}" ./Configure --prefix=${PREFIX} --openssldir=${PREFIX}/etc/openssl zlib shared no-krb5 darwin64-x86_64-cc ${INT_LDFLAGS} ${INT_CLANG_LDFLAGS} ${INT_CPPFLAGS} + sed -i "s|engines apps test|engines|" ${BUILD_DIR}/Makefile + sed -i "/define DATE/d" ${BUILD_DIR}/crypto/Makefile + make -j1 build_libs libcrypto.pc libssl.pc openssl.pc + make -j1 install_sw + popd + + #libminiupnpc + SOURCE_FILE=${SOURCES_PATH}/miniupnpc-1.9.tar.gz + BUILD_DIR=${BUILD_BASE}/miniupnpc-1.9 + + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + pushd ${BUILD_DIR} + CFLAGS="${INT_CFLAGS} ${INT_CPPFLAGS}" make $MAKEOPTS OS=Darwin CC="${INT_CC}" AR="${INT_AR}" libminiupnpc.a + install -d ${PREFIX}/include/miniupnpc + install *.h ${PREFIX}/include/miniupnpc + install libminiupnpc.a ${PREFIX}/lib + popd + + # qrencode + SOURCE_FILE=${SOURCES_PATH}/qrencode-3.4.3.tar.bz2 + BUILD_DIR=${BUILD_BASE}/qrencode-3.4.3 + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + pushd ${BUILD_DIR} + + # m4 folder is not included in the stable release, which can confuse aclocal + # if its timestamp ends up being earlier than configure.ac when extracted + touch aclocal.m4 + ./configure --host=${HOST} --prefix="${PREFIX}" --disable-shared CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}" --disable-shared -without-tools --disable-sdltest --disable-dependency-tracking + make $MAKEOPTS + make install + popd + + # libprotobuf + SOURCE_FILE=${SOURCES_PATH}/protobuf-2.5.0.tar.bz2 + BUILD_DIR=${BUILD_BASE}/protobuf-2.5.0 + + tar -C ${BUILD_BASE} -xjf ${SOURCE_FILE} + pushd ${BUILD_DIR} + ./configure --host=${HOST} --prefix="${PREFIX}" --disable-shared --enable-cxx CC="${INT_CC}" CXX="${INT_CXX}" AR="${INT_AR}" RANLIB="${INT_RANLIB}" OBJC="${INT_OBJC}" OBJCXX="${INT_OBJCXX}" CFLAGS="${INT_CFLAGS}" CXXFLAGS="${INT_CXXFLAGS}" LDFLAGS="${INT_CLANG_LDFLAGS} ${INT_LDFLAGS}" CPPFLAGS="${INT_CPPFLAGS}" --enable-shared=no --disable-dependency-tracking --with-protoc=${NATIVEPREFIX}/bin/protoc + cd src + make $MAKEOPTS libprotobuf.la + make install-libLTLIBRARIES install-nobase_includeHEADERS + cd .. + make install-pkgconfigDATA + popd + + # boost + SOURCE_FILE=${SOURCES_PATH}/boost_1_55_0.tar.bz2 + BUILD_DIR=${BUILD_BASE}/boost_1_55_0 + + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + pushd ${BUILD_DIR} + ./bootstrap.sh --with-libraries=chrono,filesystem,program_options,system,thread,test + echo "using darwin : : ${INT_CXX} : <cxxflags>\"${INT_CFLAGS} ${INT_CPPFLAGS}\" <linkflags>\"${INT_LDFLAGS} ${INT_CLANG_LDFLAGS}\" <archiver>\"${INT_LIBTOOL}\" <striper>\"${INT_STRIP}\" : ;" > "user-config.jam" + ./b2 -d2 --layout=tagged --build-type=complete --prefix="${PREFIX}" --toolset=darwin-4.2.1 --user-config=user-config.jam variant=release threading=multi link=static install + popd + + export GZIP="-9n" + find prefix | sort | tar --no-recursion -czf osx-depends-${REVISION}.tar.gz -T - + + mv osx-depends-${REVISION}.tar.gz $OUTDIR diff --git a/contrib/gitian-descriptors/gitian-osx-native.yml b/contrib/gitian-descriptors/gitian-osx-native.yml new file mode 100644 index 0000000000..6040e5ac5b --- /dev/null +++ b/contrib/gitian-descriptors/gitian-osx-native.yml @@ -0,0 +1,179 @@ +--- +name: "osx-native" +suites: +- "precise" +architectures: +- "i386" +packages: +- "git-core" +- "automake" +- "faketime" +- "libssl-dev" +- "libbz2-dev" +- "libz-dev" +- "cmake" +- "libcap-dev" +- "p7zip-full" +- "uuid-dev" + +reference_datetime: "2013-06-01 00:00:00" +remotes: [] +files: +- "10cc648683617cca8bcbeae507888099b41b530c.tar.gz" +- "cctools-809.tar.gz" +- "dyld-195.5.tar.gz" +- "ld64-127.2.tar.gz" +- "protobuf-2.5.0.tar.bz2" +- "MacOSX10.6.pkg" +- "cdrkit-1.1.11.tar.gz" +- "libdmg-hfsplus-v0.1.tar.gz" +- "clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz" +- "cdrkit-deterministic.patch" + + +script: | + + echo "18406961fd4a1ec5c7ea35c91d6a80a2f8bb797a2bd243a610bd75e13eff9aca 10cc648683617cca8bcbeae507888099b41b530c.tar.gz" | sha256sum -c + echo "03ba62749b843b131c7304a044a98c6ffacd65b1399b921d69add0375f79d8ad cctools-809.tar.gz" | sha256sum -c + echo "2cf0484c87cf79b606b351a7055a247dae84093ae92c747a74e0cde2c8c8f83c dyld-195.5.tar.gz" | sha256sum -c + echo "97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142 ld64-127.2.tar.gz" | sha256sum -c + echo "13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 protobuf-2.5.0.tar.bz2" | sha256sum -c + echo "a2ccf2299de4e0bb88bd17a3355f02b747575b97492c7c2f5b789a64ccc4cbd6 MacOSX10.6.pkg" | sha256sum -c + echo "d1c030756ecc182defee9fe885638c1785d35a2c2a297b4604c0e0dcc78e47da cdrkit-1.1.11.tar.gz" | sha256sum -c + echo "6569a02eb31c2827080d7d59001869ea14484c281efab0ae7f2b86af5c3120b3 libdmg-hfsplus-v0.1.tar.gz" | sha256sum -c + echo "b9d57a88f9514fa1f327a1a703756d0c1c960f4c58494a5bd80313245d13ffff clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz" | sha256sum -c + echo "cc12bdbd7a09f71cb2a6a3e6ec3e0abe885ca7111c2b47857f5095e5980caf4f cdrkit-deterministic.patch" | sha256sum -c + + + REVISION=r2 + export REFERENCE_DATETIME + export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" + export FAKETIME=$REFERENCE_DATETIME + export TZ=UTC + + REAL_AR=`which ar` + REAL_RANLIB=`which ranlib` + REAL_DATE=`which date` + + echo '#!/bin/bash' > $HOME/ar + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/ar + echo "$REAL_AR \"\$@\"" >> $HOME/ar + + echo '#!/bin/bash' > $HOME/ranlib + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/ranlib + echo "$REAL_RANLIB \"\$@\"" >> $HOME/ranlib + + echo '#!/bin/bash' > $HOME/date + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/date + echo "$REAL_DATE \"\$@\"" >> $HOME/date + + chmod +x $HOME/ar $HOME/ranlib $HOME/date + + + export PATH=$HOME:$PATH + export SOURCES_PATH=`pwd` + + mkdir -p osx-cross-depends/build + cd osx-cross-depends + + NATIVEPREFIX=`pwd`/native-prefix + BUILD_BASE=`pwd`/build + SDK=`pwd`/SDKs/MacOSX10.6.sdk + HOST=x86_64-apple-darwin11 + MIN_VERSION=10.6 + + CFLAGS="" + CXXFLAGS="${CFLAGS}" + LDFLAGS="-L${NATIVEPREFIX}/lib" + + export PATH=${NATIVEPREFIX}/bin:${PATH} + + mkdir -p ${NATIVEPREFIX}/bin + mkdir -p ${NATIVEPREFIX}/lib + + mkdir -p ${SDK} + 7z -bd -so -y e ${SOURCES_PATH}/MacOSX10.6.pkg Payload | gzip -d -c | cpio -i + + # Clang + SOURCE_FILE=${SOURCES_PATH}/clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz + BUILD_DIR=${BUILD_BASE}/clang+llvm-3.2-x86-linux-ubuntu-12.04 + + mkdir -p ${NATIVEPREFIX}/lib/clang/3.2/include + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + cp ${BUILD_DIR}/bin/clang ${NATIVEPREFIX}/bin/ + cp ${BUILD_DIR}/bin/clang++ ${NATIVEPREFIX}/bin/ + cp ${BUILD_DIR}/lib/libLTO.so ${NATIVEPREFIX}/lib/ + cp ${BUILD_DIR}/lib/clang/3.2/include/* ${NATIVEPREFIX}/lib/clang/3.2/include + + # cctools + SOURCE_FILE=${SOURCES_PATH}/10cc648683617cca8bcbeae507888099b41b530c.tar.gz + BUILD_DIR=${BUILD_BASE}/toolchain4-10cc648683617cca8bcbeae507888099b41b530c + + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + mkdir -p ${BUILD_DIR}/sdks + pushd ${BUILD_DIR}/sdks; + ln -sf ${SDK} MacOSX10.6.sdk + ln -sf ${SOURCES_PATH}/cctools-809.tar.gz ${BUILD_DIR}/cctools2odcctools/cctools-809.tar.gz + ln -sf ${SOURCES_PATH}/ld64-127.2.tar.gz ${BUILD_DIR}/cctools2odcctools/ld64-127.2.tar.gz + ln -sf ${SOURCES_PATH}/dyld-195.5.tar.gz ${BUILD_DIR}/cctools2odcctools/dyld-195.5.tar.gz + + tar -C ${BUILD_DIR} -xf ${SOURCES_PATH}/clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz + # Hack in the use of our llvm headers rather than grabbing the old llvm-gcc. + sed -i "s|GCC_DIR|LLVM_CLANG_DIR|g" ${BUILD_DIR}/cctools2odcctools/extract.sh + sed -i "s|llvmgcc42-2336.1|clang+llvm-3.2-x86-linux-ubuntu-12.04|g" ${BUILD_DIR}/cctools2odcctools/extract.sh + sed -i "s|\${LLVM_CLANG_DIR}/llvmCore/include/llvm-c|\${LLVM_CLANG_DIR}/include/llvm-c \${LLVM_CLANG_DIR}/include/llvm |" ${BUILD_DIR}/cctools2odcctools/extract.sh + + sed -i "s|fAC_INIT|AC_INIT|" ${BUILD_DIR}/cctools2odcctools/files/configure.ac + sed -i 's/\# Dynamically linked LTO/\t ;\&\n\t linux*)\n# Dynamically linked LTO/' ${BUILD_DIR}/cctools2odcctools/files/configure.ac + + cd ${BUILD_DIR}/cctools2odcctools + ./extract.sh --osxver 10.6 + cd odcctools-809 + ./configure --prefix=${NATIVEPREFIX} --target=${HOST} CFLAGS="${CFLAGS} -I${NATIVEPREFIX}/include -D__DARWIN_UNIX03 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS" LDFLAGS="${LDFLAGS} -Wl,-rpath=\\\$\$ORIGIN/../lib" --with-sysroot=${SDK} + + # The 'PC' define in sparc/reg.h conflicts but doesn't get used anyway. Just rename it. + sed -i "s|define\tPC|define\tPC_|" ${BUILD_DIR}/cctools2odcctools/odcctools-809/include/architecture/sparc/reg.h + make $MAKEOPTS + make install + popd + + # protoc + SOURCE_FILE=${SOURCES_PATH}/protobuf-2.5.0.tar.bz2 + BUILD_DIR=${BUILD_BASE}/protobuf-2.5.0 + + tar -C ${BUILD_BASE} -xjf ${SOURCE_FILE} + pushd ${BUILD_DIR}; + ./configure --enable-shared=no --disable-dependency-tracking --prefix=${NATIVEPREFIX} + make $MAKEOPTS + cp ${BUILD_DIR}/src/protoc ${NATIVEPREFIX}/bin/ + popd + + # cdrkit + SOURCE_FILE=${SOURCES_PATH}/cdrkit-1.1.11.tar.gz + BUILD_DIR=${BUILD_BASE}/cdrkit-1.1.11 + + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + pushd ${BUILD_DIR} + patch -p1 < ${SOURCES_PATH}/cdrkit-deterministic.patch + cmake -DCMAKE_INSTALL_PREFIX=${NATIVEPREFIX} + make $MAKEOPTS genisoimage + make -C genisoimage install + popd + + # libdmg-hfsplus + SOURCE_FILE=${SOURCES_PATH}/libdmg-hfsplus-v0.1.tar.gz + BUILD_DIR=${BUILD_BASE}/libdmg-hfsplus-libdmg-hfsplus-v0.1 + + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + mkdir -p ${BUILD_DIR}/build + pushd ${BUILD_DIR}/build + cmake -DCMAKE_INSTALL_PREFIX:PATH=${NATIVEPREFIX}/bin .. + make $MAKEOPTS + make install + popd + + rm -rf native-prefix/docs + + export GZIP="-9n" + find native-prefix | sort | tar --no-recursion -czf osx-native-depends-$REVISION.tar.gz -T - + mv osx-native-depends-$REVISION.tar.gz $OUTDIR diff --git a/contrib/gitian-descriptors/gitian-osx-qt.yml b/contrib/gitian-descriptors/gitian-osx-qt.yml new file mode 100644 index 0000000000..d0be016e68 --- /dev/null +++ b/contrib/gitian-descriptors/gitian-osx-qt.yml @@ -0,0 +1,192 @@ +--- +name: "osx-qt" +suites: +- "precise" +architectures: +- "i386" +packages: +- "git-core" +- "automake" +- "p7zip-full" + +reference_datetime: "2013-06-01 00:00:00" +remotes: [] +files: +- "qt-everywhere-opensource-src-5.2.1.tar.gz" +- "osx-native-depends-r2.tar.gz" +- "osx-depends-r2.tar.gz" +- "MacOSX10.6.pkg" + +script: | + + echo "84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1 qt-everywhere-opensource-src-5.2.1.tar.gz" | sha256sum -c + echo "a2ccf2299de4e0bb88bd17a3355f02b747575b97492c7c2f5b789a64ccc4cbd6 MacOSX10.6.pkg" | sha256sum -c + + REVISION=r2 + export SOURCES_PATH=`pwd` + export TAR_OPTIONS="-m --mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" + export ZERO_AR_DATE=1 + + export TZ=UTC + + REAL_DATE=`which date` + echo '#!/bin/bash' > $HOME/date + echo "$REAL_DATE -d \"${REFERENCE_DATETIME}\" \"\$@\"" >> $HOME/date + + chmod +x $HOME/date + export PATH=$HOME:$PATH + + mkdir -p osx-cross-depends/build + cd osx-cross-depends + + PREFIX=`pwd`/prefix + NATIVEPREFIX=`pwd`/native-prefix + BUILD_BASE=`pwd`/build + SDK=`pwd`/SDKs/MacOSX10.6.sdk + HOST=x86_64-apple-darwin11 + MIN_VERSION=10.6 + + INT_CFLAGS="-target ${HOST} -mmacosx-version-min=${MIN_VERSION} --sysroot ${SDK} -msse2 -Qunused-arguments" + INT_CXXFLAGS="${INT_CFLAGS}" + INT_LDFLAGS="-L${PREFIX}/lib -L${SDK}/usr/lib/i686-apple-darwin10/4.2.1" + INT_LDFLAGS_CLANG="-B${NATIVEPREFIX}/bin" + INT_CPPFLAGS="-I${PREFIX}/include" + INT_CC=clang + INT_CXX=clang++ + INT_OBJC=clang + INT_OBJCXX=clang++ + INT_AR=${HOST}-ar + INT_RANLIB=${HOST}-ranlib + INT_LIBTOOL=${HOST}-libtool + INT_INSTALL_NAME_TOOL=${HOST}-install_name_tool + + export PATH=${NATIVEPREFIX}/bin:${PATH} + + mkdir -p ${NATIVEPREFIX}/bin + mkdir -p ${NATIVEPREFIX}/lib + mkdir -p ${PREFIX}/bin + mkdir -p ${PREFIX}/lib + mkdir -p ${BUILD_BASE} + + mkdir -p ${SDK} + 7z -bd -so -y e ${SOURCES_PATH}/MacOSX10.6.pkg Payload | gzip -d -c | cpio -i + + tar xf /home/ubuntu/build/osx-native-depends-r2.tar.gz + + + mkdir -p SDKs + 7z -bd -so -y e ${SOURCES_PATH}/MacOSX10.6.pkg Payload | gzip -d -c | cpio -i + + tar xf /home/ubuntu/build/osx-native-depends-r2.tar.gz + export PATH=`pwd`/native-prefix/bin:$PATH + tar xf /home/ubuntu/build/osx-depends-r2.tar.gz + + SOURCE_FILE=${SOURCES_PATH}/qt-everywhere-opensource-src-5.2.1.tar.gz + BUILD_DIR=${BUILD_BASE}/qt-everywhere-opensource-src-5.2.1 + + + tar -C ${BUILD_BASE} -xf ${SOURCE_FILE} + + # Install our mkspec. All files are pulled from the macx-clang spec, except for + # our custom qmake.conf + SPECFILE=${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/qmake.conf + + mkdir -p ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux + cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/Info.plist.lib ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/ + cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/Info.plist.app ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/ + cp -f ${BUILD_DIR}/qtbase/mkspecs/macx-clang/qplatformdefs.h ${BUILD_DIR}/qtbase/mkspecs/macx-clang-linux/ + + cat > ${SPECFILE} <<ENDCONF + + MAKEFILE_GENERATOR = UNIX + CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname + QMAKE_INCREMENTAL_STYLE = sublib + + include(../common/macx.conf) + include(../common/gcc-base-mac.conf) + include(../common/clang.conf) + include(../common/clang-mac.conf) + + QMAKE_XCODE_VERSION=4.3 + QMAKE_XCODE_DEVELOPER_PATH=/Developer + + QMAKE_MACOSX_DEPLOYMENT_TARGET = ${MIN_VERSION} + + QMAKE_MAC_SDK=macosx + QMAKE_MAC_SDK.macosx.path = ${SDK} + QMAKE_MAC_SDK.macosx.platform_name = macosx + QMAKE_MAC_SDK_PATH=${SDK} + + QMAKE_CFLAGS += -target ${HOST} + QMAKE_OBJECTIVE_CFLAGS += -target ${HOST} + QMAKE_CXXFLAGS += -target ${HOST} + + QMAKE_LFLAGS += -target ${HOST} + QMAKE_AR = ${HOST}-ar cq + QMAKE_RANLIB=${HOST}-ranlib + QMAKE_LIBTOOL=${HOST}-libtool + QMAKE_INSTALL_NAME_TOOL=${HOST}-install_name_tool + + load(qt_config) + + ENDCONF + + pushd ${BUILD_DIR} + ./configure -release -opensource -openssl-linked \ + -no-audio-backend -no-javascript-jit -no-sql-sqlite -no-sql-tds \ + -no-cups -no-iconv -no-dbus -no-gif -no-audio-backend -no-freetype \ + -no-javascript-jit -no-sql-sqlite -no-nis -no-cups -no-iconv -no-pch \ + -no-dbus -no-gif -no-sm -nomake examples -no-feature-style-plastique \ + -no-xcb -no-qml-debug -no-pch -no-nis \ + -no-feature-style-cde -no-feature-style-s60 -no-feature-style-motif \ + -no-feature-style-windowsmobile -no-feature-style-windowsce \ + -no-feature-style-cleanlooks \ + -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql \ + -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \ + -skip qtsvg -skip qtwebkit -skip qtwebkit-examples -skip qtserialport \ + -skip qtdeclarative -skip qtmultimedia -skip qtimageformats \ + -skip qtlocation -skip qtsensors -skip qtquick1 -skip qtxmlpatterns \ + -skip qtquickcontrols -skip qtactiveqt -skip qtconnectivity \ + -skip qtwinextras -skip qtscript \ + -prefix ${PREFIX} -bindir ${NATIVEPREFIX}/bin \ + -confirm-license -xplatform macx-clang-linux -v ${INT_LDFLAGS} + + # RCC's output is sorted using each file entry's hash as the key. Unfortunately, + # the hash function uses a random seed for each run so the results aren't + # deterministic. This leads to static resources being defined in a random order, + # which in-turn means that object files are not predictable. + # Fortunately, this upsets Qt's unit tests as well, so they've added the + # QT_RCC_TEST environment variable to set a pre-defined seed. Here, do the same + # thing for the same reason. + QT_RCC_TEST=1 make $MAKEOPTS module-qtbase-make_first + + + make $MAKEOPTS module-qttranslations-make_first + make $MAKEOPTS module-qttools-make_first + make $MAKEOPTS -C qtbase + make -C qtbase install + make -C qttranslations install + make -C qttools/src/linguist install + popd + + # This file should not be installed to the destination. It's native and + # non-deterministic. Remove it. + # See: https://bugreports.qt-project.org/browse/QTBUG-31393 + rm -f ${PREFIX}/lib/libQt5Bootstrap.a + + rm -f ${PREFIX}/lib/Qt*.framework/Qt*.prl + pushd ${PREFIX}/include + ln -sf ../lib/QtNetwork.framework/Headers/ QtNetwork + ln -sf ../lib/QtWidgets.framework/Headers/ QtWidgets + ln -sf ../lib/QtGui.framework/Headers/ QtGui + ln -sf ../lib/QtCore.framework/Headers/ QtCore + ln -sf ../lib/QtTest.framework/Headers/ QtTest + popd + + rm -f ${PREFIX}/lib/*.la + find ${PREFIX}/lib -name "*.prl" -delete + + export GZIP="-9n" + find native-prefix prefix | sort | tar --no-recursion -czf osx-depends-qt-5.2.1-${REVISION}.tar.gz -T - + + mv osx-depends-qt-5.2.1-${REVISION}.tar.gz $OUTDIR diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus index 5c310df1fc..599713fbbb 100755 --- a/contrib/macdeploy/macdeployqtplus +++ b/contrib/macdeploy/macdeployqtplus @@ -580,7 +580,7 @@ try: except RuntimeError as e: if verbose >= 1: sys.stderr.write("Error: %s\n" % str(e)) - sys.exit(ret) + sys.exit(1) # ------------------------------------------------ @@ -593,7 +593,7 @@ if config.plugins: except RuntimeError as e: if verbose >= 1: sys.stderr.write("Error: %s\n" % str(e)) - sys.exit(ret) + sys.exit(1) # ------------------------------------------------ diff --git a/doc/README_osx.txt b/doc/README_osx.txt new file mode 100644 index 0000000000..6eae4f5cf1 --- /dev/null +++ b/doc/README_osx.txt @@ -0,0 +1,71 @@ +Deterministic OSX Dmg Notes. + +Working OSX DMG's are created in Linux by combining a recent clang, +the Apple's binutils (ld, ar, etc), and DMG authoring tools. + +Apple uses clang extensively for development and has upstreamed the necessary +functionality so that a vanilla clang can take advantage. It supports the use +of -F, -target, -mmacosx-version-min, and --sysroot, which are all necessary +when building for OSX. A pre-compiled version of 3.2 is used because it was not +available in the Precise repositories at the time this work was started. In the +future, it can be switched to use system packages instead. + +Apple's version of binutils (called cctools) contains lots of functionality +missing in the FSF's binutils. In addition to extra linker options for +frameworks and sysroots, several other tools are needed as well such as +install_name_tool, lipo, and nmedit. These do not build under linux, so they +have been patched to do so. The work here was used as a starting point: +https://github.com/mingwandroid/toolchain4 + +In order to build a working toolchain, the following source packages are needed +from Apple: cctools, dyld, and ld64. + +Beware. This part is ugly. Very very very ugly. In the future, this should be +broken out into a new repository and cleaned up. Additionally, the binaries +only work when built as x86 and not x86_64. This is an especially nasty +limitation because it must be linked with the toolchain's libLTO.so, meaning +that the entire toolchain must be x86. Gitian x86_64 should not be used until +this has been fixed, because it would mean that several native dependencies +(openssl, libuuid, etc) would need to be built as x86 first. + +These tools inject timestamps by default, which produce non-deterministic +binaries. The ZERO_AR_DATE environment variable is used to disable that. + +This version of cctools has been patched to use the current version of clang's +headers and and its libLTO.so rather than those from llvmgcc, as it was +originally done in toolchain4. + +To complicate things further, all builds must target an Apple SDK. These SDKs +are free to download, but not redistributable. +To obtain it, register for a developer account, then download xcode_3.2.6_and_ios_sdk_4.3.dmg: +https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_3.2.6_and_ios_sdk_4.3__final/xcode_3.2.6_and_ios_sdk_4.3.dmg +This file is several gigabytes in size, but only a single .pkg file inside is +needed (MacOSX10.6.pkg). From Linux, 7-zip can be used to extract this file. +The DMG can then be discarded. + +The gitian descriptors build 2 sets of files: Linux tools, then Apple binaries +which are created using these tools. The build process has been designed to +avoid including the SDK's files in Gitian's outputs. All interim tarballs are +fully deterministic and may be freely redistributed. + +genisoimage is used to create the initial DMG. It is not deterministic as-is, +so it has been patched. A system genisoimage will work fine, but it will not +be deterministic because the file-order will change between invocations. +The patch can be seen here: +https://raw.githubusercontent.com/theuni/osx-cross-depends/master/patches/cdrtools/genisoimage.diff +No effort was made to fix this cleanly, so it likely leaks memory badly. But +it's only used for a single invocation, so that's no real concern. + +genisoimage cannot compress DMGs, so afterwards, the 'dmg' tool from the +libdmg-hfsplus project is used to compress it. There are several bugs in this +tool and its maintainer has seemingly abandoned the project. It has been forked +and is available (with fixes) here: https://github.com/theuni/libdmg-hfsplus . + +The 'dmg' tool has the ability to create DMG's from scratch as well, but this +functionality is broken. Only the compression feature is currently used. +Ideally, the creation could be fixed and genisoimage would no longer be necessary. + +Background images and other features can be added to DMG files by inserting a +.DS_Store before creation. The easiest way to create this file is to build a +DMG without one, move it to a device running OSX, customize the layout, then +grab the .DS_Store file for later use. That is the approach taken here. diff --git a/doc/release-notes/release-notes-0.9.1.md b/doc/release-notes/release-notes-0.9.1.md new file mode 100644 index 0000000000..0552053d27 --- /dev/null +++ b/doc/release-notes/release-notes-0.9.1.md @@ -0,0 +1,53 @@ +Bitcoin Core version 0.9.1 is now available from: + + https://bitcoin.org/bin/0.9.1/ + +This is a security update. It is recommended to upgrade to this release +as soon as possible. + +It is especially important to upgrade if you currently have version +0.9.0 installed and are using the graphical interface OR you are using +bitcoind from any pre-0.9.1 version, and have enabled SSL for RPC and +have configured allowip to allow rpc connections from potentially +hostile hosts. + +Please report bugs using the issue tracker at github: + + https://github.com/bitcoin/bitcoin/issues + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or +bitcoind/bitcoin-qt (on Linux). + +If you are upgrading from version 0.7.2 or earlier, the first time you run +0.9.1 your blockchain files will be re-indexed, which will take anywhere from +30 minutes to several hours, depending on the speed of your machine. + +0.9.1 Release notes +======================= + +No code changes were made between 0.9.0 and 0.9.1. Only the dependencies were changed. + +- Upgrade OpenSSL to 1.0.1g. This release fixes the following vulnerabilities which can + affect the Bitcoin Core software: + + - CVE-2014-0160 ("heartbleed") + A missing bounds check in the handling of the TLS heartbeat extension can + be used to reveal up to 64k of memory to a connected client or server. + + - CVE-2014-0076 + The Montgomery ladder implementation in OpenSSL does not ensure that + certain swap operations have a constant-time behavior, which makes it + easier for local users to obtain ECDSA nonces via a FLUSH+RELOAD cache + side-channel attack. + +- Add statically built executables to Linux build + +Credits +-------- + +Credits go to the OpenSSL team for fixing the vulnerabilities quickly. diff --git a/doc/release-process.md b/doc/release-process.md index b93c163748..be00cb8092 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -33,10 +33,18 @@ Release Process git checkout v${VERSION} popd pushd ./gitian-builder + mkdir -p inputs; cd inputs/ + + Register and download the Apple SDK (see OSX Readme for details) + visit https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_3.2.6_and_ios_sdk_4.3__final/xcode_3.2.6_and_ios_sdk_4.3.dmg + + Extract MacOSX10.6.pkg using 7zip + 7z e -y xcode_3.2.6_and_ios_sdk_4.3.dmg 5.hfs + 7z -y e 5.hfs "Xcode and iOS SDK/Packages/MacOSX10.6.pkg" + rm 5.hfs Fetch and build inputs: (first time, or when dependency versions change) - mkdir -p inputs; cd inputs/ wget 'http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.tar.gz' -O miniupnpc-1.9.tar.gz wget 'https://www.openssl.org/source/openssl-1.0.1g.tar.gz' wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz' @@ -49,6 +57,16 @@ Release Process wget 'https://download.qt-project.org/official_releases/qt/5.2/5.2.0/single/qt-everywhere-opensource-src-5.2.0.tar.gz' wget 'https://download.qt-project.org/archive/qt/4.6/qt-everywhere-opensource-src-4.6.4.tar.gz' wget 'https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2' + wget 'https://github.com/mingwandroid/toolchain4/archive/10cc648683617cca8bcbeae507888099b41b530c.tar.gz' + wget 'http://www.opensource.apple.com/tarballs/cctools/cctools-809.tar.gz' + wget 'http://www.opensource.apple.com/tarballs/dyld/dyld-195.5.tar.gz' + wget 'http://www.opensource.apple.com/tarballs/ld64/ld64-127.2.tar.gz' + wget 'http://cdrkit.org/releases/cdrkit-1.1.11.tar.gz' + wget 'https://github.com/theuni/libdmg-hfsplus/archive/libdmg-hfsplus-v0.1.tar.gz' + wget 'http://llvm.org/releases/3.2/clang+llvm-3.2-x86-linux-ubuntu-12.04.tar.gz' -O \ + clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz + wget 'https://raw.githubusercontent.com/theuni/osx-cross-depends/master/patches/cdrtools/genisoimage.diff' -O \ + cdrkit-deterministic.patch cd .. ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/boost-linux.yml mv build/out/boost-*.zip inputs/ @@ -64,6 +82,12 @@ Release Process mv build/out/qt-*.zip inputs/ ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/protobuf-win.yml mv build/out/protobuf-*.zip inputs/ + ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/gitian-osx-native.yml + mv build/out/osx-*.tar.gz inputs/ + ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/gitian-osx-depends.yml + mv build/out/osx-*.tar.gz inputs/ + ./bin/gbuild ../bitcoin/contrib/gitian-descriptors/gitian-osx-qt.yml + mv build/out/osx-*.tar.gz inputs/ The expected SHA256 hashes of the intermediate inputs are: @@ -96,13 +120,19 @@ Release Process zip -r bitcoin-${VERSION}-win-gitian.zip * mv bitcoin-${VERSION}-win-gitian.zip ../../../ popd + ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx-bitcoin.yml + ./bin/gsign --signer $SIGNER --release ${VERSION}-osx --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx-bitcoin.yml + pushd build/out + mv Bitcoin-Qt.dmg ../../../ + popd popd Build output expected: 1. linux 32-bit and 64-bit binaries + source (bitcoin-${VERSION}-linux-gitian.zip) 2. windows 32-bit and 64-bit binaries + installer + source (bitcoin-${VERSION}-win-gitian.zip) - 3. Gitian signatures (in gitian.sigs/${VERSION}[-win]/(your gitian key)/ + 3. OSX installer (Bitcoin-Qt.dmg) + 4. Gitian signatures (in gitian.sigs/${VERSION}[-win|-osx]/(your gitian key)/ repackage gitian builds for release as stand-alone zip/tar/installer exe @@ -119,21 +149,6 @@ repackage gitian builds for release as stand-alone zip/tar/installer exe zip -r bitcoin-${VERSION}-win.zip bitcoin-${VERSION}-win rm -rf bitcoin-${VERSION}-win -**Perform Mac build:** - - OSX binaries are created by Gavin Andresen on a 64-bit, OSX 10.6 machine. - - ./autogen.sh - SDK=$(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk - CXXFLAGS="-mmacosx-version-min=10.6 -isysroot $SDK" ./configure --enable-upnp-default - make - export QTDIR=/opt/local/share/qt4 # needed to find translations/qt_*.qm files - T=$(contrib/qt_translations.py $QTDIR/translations src/qt/locale) - export CODESIGNARGS='--keychain ...path_to_keychain --sign "Developer ID Application: BITCOIN FOUNDATION, INC., THE"' - python2.7 contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -sign -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist - - Build output expected: Bitcoin-Qt.dmg - ###Next steps: * Code-sign Windows -setup.exe (in a Windows virtual machine using signtool) diff --git a/src/addrman.h b/src/addrman.h index e2b0cb1093..5328a93b45 100644 --- a/src/addrman.h +++ b/src/addrman.h @@ -420,7 +420,7 @@ public: Check(); } if (fRet) - LogPrint("addrman", "Added %s from %s: %i tried, %i new\n", addr.ToStringIPPort().c_str(), source.ToString().c_str(), nTried, nNew); + LogPrint("addrman", "Added %s from %s: %i tried, %i new\n", addr.ToStringIPPort().c_str(), source.ToString(), nTried, nNew); return fRet; } @@ -436,7 +436,7 @@ public: Check(); } if (nAdd) - LogPrint("addrman", "Added %i addresses from %s: %i tried, %i new\n", nAdd, source.ToString().c_str(), nTried, nNew); + LogPrint("addrman", "Added %i addresses from %s: %i tried, %i new\n", nAdd, source.ToString(), nTried, nNew); return nAdd > 0; } diff --git a/src/bitcoin-cli.cpp b/src/bitcoin-cli.cpp index ca6950a162..ce9e7a4027 100644 --- a/src/bitcoin-cli.cpp +++ b/src/bitcoin-cli.cpp @@ -58,6 +58,8 @@ static bool AppInitRPC(int argc, char* argv[]) int main(int argc, char* argv[]) { + SetupEnvironment(); + try { if(!AppInitRPC(argc, argv)) diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp index 17aa0c9d4b..9b535c2e6b 100644 --- a/src/bitcoind.cpp +++ b/src/bitcoind.cpp @@ -172,15 +172,10 @@ bool AppInit(int argc, char* argv[]) int main(int argc, char* argv[]) { - bool fRet = false; + SetupEnvironment(); // Connect bitcoind signal handlers noui_connect(); - fRet = AppInit(argc, argv); - - if (fRet && fDaemon) - return 0; - - return (fRet ? 0 : 1); + return (AppInit(argc, argv) ? 0 : 1); } diff --git a/src/core.cpp b/src/core.cpp index 7651ce9957..aadcb44b98 100644 --- a/src/core.cpp +++ b/src/core.cpp @@ -77,35 +77,6 @@ uint256 CTransaction::GetHash() const return SerializeHash(*this); } -bool CTransaction::IsNewerThan(const CTransaction& old) const -{ - if (vin.size() != old.vin.size()) - return false; - for (unsigned int i = 0; i < vin.size(); i++) - if (vin[i].prevout != old.vin[i].prevout) - return false; - - bool fNewer = false; - unsigned int nLowest = std::numeric_limits<unsigned int>::max(); - for (unsigned int i = 0; i < vin.size(); i++) - { - if (vin[i].nSequence != old.vin[i].nSequence) - { - if (vin[i].nSequence <= nLowest) - { - fNewer = false; - nLowest = vin[i].nSequence; - } - if (old.vin[i].nSequence < nLowest) - { - fNewer = true; - nLowest = old.vin[i].nSequence; - } - } - } - return fNewer; -} - int64_t CTransaction::GetValueOut() const { int64_t nValueOut = 0; diff --git a/src/core.h b/src/core.h index 5eb953610d..ba7f691119 100644 --- a/src/core.h +++ b/src/core.h @@ -219,7 +219,6 @@ public: } uint256 GetHash() const; - bool IsNewerThan(const CTransaction& old) const; // Return sum of txouts. int64_t GetValueOut() const; diff --git a/src/init.cpp b/src/init.cpp index 7664988762..bc4924b48d 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -914,7 +914,7 @@ bool AppInit2(boost::thread_group& threadGroup) for (map<uint256, CBlockIndex*>::iterator mi = mapBlockIndex.begin(); mi != mapBlockIndex.end(); ++mi) { uint256 hash = (*mi).first; - if (strncmp(hash.ToString().c_str(), strMatch.c_str(), strMatch.size()) == 0) + if (boost::algorithm::starts_with(hash.ToString(), strMatch)) { CBlockIndex* pindex = (*mi).second; CBlock block; diff --git a/src/key.cpp b/src/key.cpp index 2199996cf3..aa24f0a622 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -485,21 +485,6 @@ bool CPubKey::RecoverCompact(const uint256 &hash, const std::vector<unsigned cha return true; } -bool CPubKey::VerifyCompact(const uint256 &hash, const std::vector<unsigned char>& vchSig) const { - if (!IsValid()) - return false; - if (vchSig.size() != 65) - return false; - CECKey key; - if (!key.Recover(hash, &vchSig[1], (vchSig[0] - 27) & ~4)) - return false; - CPubKey pubkeyRec; - key.GetPubKey(pubkeyRec, IsCompressed()); - if (*this != pubkeyRec) - return false; - return true; -} - bool CPubKey::IsFullyValid() const { if (!IsValid()) return false; @@ -156,10 +156,6 @@ public: // If this public key is not fully valid, the return value will be false. bool Verify(const uint256 &hash, const std::vector<unsigned char>& vchSig) const; - // Verify a compact signature (~65 bytes). - // See CKey::SignCompact. - bool VerifyCompact(const uint256 &hash, const std::vector<unsigned char>& vchSig) const; - // Recover a public key from a compact signature. bool RecoverCompact(const uint256 &hash, const std::vector<unsigned char>& vchSig); diff --git a/src/leveldbwrapper.h b/src/leveldbwrapper.h index 53e9e439bd..043a56bf38 100644 --- a/src/leveldbwrapper.h +++ b/src/leveldbwrapper.h @@ -93,7 +93,7 @@ public: if (!status.ok()) { if (status.IsNotFound()) return false; - LogPrintf("LevelDB read failure: %s\n", status.ToString().c_str()); + LogPrintf("LevelDB read failure: %s\n", status.ToString()); HandleError(status); } try { @@ -122,7 +122,7 @@ public: if (!status.ok()) { if (status.IsNotFound()) return false; - LogPrintf("LevelDB read failure: %s\n", status.ToString().c_str()); + LogPrintf("LevelDB read failure: %s\n", status.ToString()); HandleError(status); } return true; diff --git a/src/main.cpp b/src/main.cpp index f7c53052e1..18c00d90ac 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2575,19 +2575,6 @@ bool CBlockIndex::IsSuperMajority(int minVersion, const CBlockIndex* pstart, uns return (nFound >= nRequired); } -int64_t CBlockIndex::GetMedianTime() const -{ - AssertLockHeld(cs_main); - const CBlockIndex* pindex = this; - for (int i = 0; i < nMedianTimeSpan/2; i++) - { - if (!chainActive.Next(pindex)) - return GetBlockTime(); - pindex = chainActive.Next(pindex); - } - return pindex->GetMedianTimePast(); -} - void PushGetBlocks(CNode* pnode, CBlockIndex* pindexBegin, uint256 hashEnd) { AssertLockHeld(cs_main); @@ -2941,6 +2928,24 @@ bool static LoadBlockIndexDB() if (pblocktree->ReadBlockFileInfo(nLastBlockFile, infoLastBlockFile)) LogPrintf("LoadBlockIndexDB(): last block file info: %s\n", infoLastBlockFile.ToString()); + // Check presence of blk files + LogPrintf("Checking all blk files are present...\n"); + set<int> setBlkDataFiles; + BOOST_FOREACH(const PAIRTYPE(uint256, CBlockIndex*)& item, mapBlockIndex) + { + CBlockIndex* pindex = item.second; + if (pindex->nStatus & BLOCK_HAVE_DATA) { + setBlkDataFiles.insert(pindex->nFile); + } + } + for (std::set<int>::iterator it = setBlkDataFiles.begin(); it != setBlkDataFiles.end(); it++) + { + CDiskBlockPos pos(*it, 0); + if (!CAutoFile(OpenBlockFile(pos, true), SER_DISK, CLIENT_VERSION)) { + return false; + } + } + // Check whether we need to continue reindexing bool fReindexing = false; pblocktree->ReadReindexing(fReindexing); @@ -3373,7 +3378,7 @@ void static ProcessGetData(CNode* pfrom) { // Send block from disk CBlock block; - ReadBlockFromDisk(block, (*mi).second); + assert(ReadBlockFromDisk(block, (*mi).second)); if (inv.type == MSG_BLOCK) pfrom->PushMessage("block", block); else // MSG_FILTERED_BLOCK) @@ -3470,7 +3475,10 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) return true; } - State(pfrom->GetId())->nLastBlockProcess = GetTimeMicros(); + { + LOCK(cs_main); + State(pfrom->GetId())->nLastBlockProcess = GetTimeMicros(); + } @@ -4445,7 +4453,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle) uint256 hash = state.vBlocksToDownload.front(); vGetData.push_back(CInv(MSG_BLOCK, hash)); MarkBlockAsInFlight(pto->GetId(), hash); - LogPrint("net", "Requesting block %s from %s\n", hash.ToString().c_str(), state.name.c_str()); + LogPrint("net", "Requesting block %s from %s\n", hash.ToString(), state.name); if (vGetData.size() >= 1000) { pto->PushMessage("getdata", vGetData); diff --git a/src/main.h b/src/main.h index f47c9ee825..8a05eb60d2 100644 --- a/src/main.h +++ b/src/main.h @@ -102,7 +102,6 @@ extern unsigned int nCoinCacheSize; static const uint64_t nMinDiskSpace = 52428800; -class CCoinsDB; class CBlockTreeDB; struct CDiskBlockPos; class CTxUndo; @@ -849,8 +848,6 @@ public: return pbegin[(pend - pbegin)/2]; } - int64_t GetMedianTime() const; - /** * Returns true if there are nRequired or more blocks of minVersion or above * in the last nToCheck blocks, starting at pstart and going backwards. @@ -862,13 +859,13 @@ public: { return strprintf("CBlockIndex(pprev=%p, nHeight=%d, merkle=%s, hashBlock=%s)", pprev, nHeight, - hashMerkleRoot.ToString().c_str(), - GetBlockHash().ToString().c_str()); + hashMerkleRoot.ToString(), + GetBlockHash().ToString()); } void print() const { - LogPrintf("%s\n", ToString().c_str()); + LogPrintf("%s\n", ToString()); } // Check whether this block index entry is valid up to the passed validity level. @@ -953,14 +950,14 @@ public: std::string str = "CDiskBlockIndex("; str += CBlockIndex::ToString(); str += strprintf("\n hashBlock=%s, hashPrev=%s)", - GetBlockHash().ToString().c_str(), - hashPrev.ToString().c_str()); + GetBlockHash().ToString(), + hashPrev.ToString()); return str; } void print() const { - LogPrintf("%s\n", ToString().c_str()); + LogPrintf("%s\n", ToString()); } }; diff --git a/src/net.cpp b/src/net.cpp index 6bde1e7999..319f8e6b1c 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -41,9 +41,6 @@ using namespace boost; static const int MAX_OUTBOUND_CONNECTIONS = 8; -bool OpenNetworkConnection(const CAddress& addrConnect, CSemaphoreGrant *grantOutbound = NULL, const char *strDest = NULL, bool fOneShot = false); - - // // Global state variables // @@ -178,7 +175,7 @@ bool RecvLine(SOCKET hSocket, string& strLine) { // socket error int nErr = WSAGetLastError(); - LogPrint("net", "recv failed: %d\n", nErr); + LogPrint("net", "recv failed: %s\n", NetworkErrorString(nErr)); return false; } } @@ -489,10 +486,10 @@ CNode* ConnectNode(CAddress addrConnect, const char *pszDest) #ifdef WIN32 u_long nOne = 1; if (ioctlsocket(hSocket, FIONBIO, &nOne) == SOCKET_ERROR) - LogPrintf("ConnectSocket() : ioctlsocket non-blocking setting failed, error %d\n", WSAGetLastError()); + LogPrintf("ConnectSocket() : ioctlsocket non-blocking setting failed, error %s\n", NetworkErrorString(WSAGetLastError())); #else if (fcntl(hSocket, F_SETFL, O_NONBLOCK) == SOCKET_ERROR) - LogPrintf("ConnectSocket() : fcntl non-blocking setting failed, error %d\n", errno); + LogPrintf("ConnectSocket() : fcntl non-blocking setting failed, error %s\n", NetworkErrorString(errno)); #endif // Add node @@ -736,7 +733,7 @@ void SocketSendData(CNode *pnode) int nErr = WSAGetLastError(); if (nErr != WSAEWOULDBLOCK && nErr != WSAEMSGSIZE && nErr != WSAEINTR && nErr != WSAEINPROGRESS) { - LogPrintf("socket send error %d\n", nErr); + LogPrintf("socket send error %s\n", NetworkErrorString(nErr)); pnode->CloseSocketDisconnect(); } } @@ -896,7 +893,7 @@ void ThreadSocketHandler() if (have_fds) { int nErr = WSAGetLastError(); - LogPrintf("socket select error %d\n", nErr); + LogPrintf("socket select error %s\n", NetworkErrorString(nErr)); for (unsigned int i = 0; i <= hSocketMax; i++) FD_SET(i, &fdsetRecv); } @@ -933,7 +930,7 @@ void ThreadSocketHandler() { int nErr = WSAGetLastError(); if (nErr != WSAEWOULDBLOCK) - LogPrintf("socket error accept failed: %d\n", nErr); + LogPrintf("socket error accept failed: %s\n", NetworkErrorString(nErr)); } else if (nInbound >= nMaxConnections - MAX_OUTBOUND_CONNECTIONS) { @@ -1007,7 +1004,7 @@ void ThreadSocketHandler() if (nErr != WSAEWOULDBLOCK && nErr != WSAEMSGSIZE && nErr != WSAEINTR && nErr != WSAEINPROGRESS) { if (!pnode->fDisconnect) - LogPrintf("socket recv error %d\n", nErr); + LogPrintf("socket recv error %s\n", NetworkErrorString(nErr)); pnode->CloseSocketDisconnect(); } } @@ -1585,7 +1582,7 @@ bool BindListenPort(const CService &addrBind, string& strError) SOCKET hListenSocket = socket(((struct sockaddr*)&sockaddr)->sa_family, SOCK_STREAM, IPPROTO_TCP); if (hListenSocket == INVALID_SOCKET) { - strError = strprintf("Error: Couldn't open socket for incoming connections (socket returned error %d)", WSAGetLastError()); + strError = strprintf("Error: Couldn't open socket for incoming connections (socket returned error %s)", NetworkErrorString(WSAGetLastError())); LogPrintf("%s\n", strError); return false; } @@ -1609,7 +1606,7 @@ bool BindListenPort(const CService &addrBind, string& strError) if (fcntl(hListenSocket, F_SETFL, O_NONBLOCK) == SOCKET_ERROR) #endif { - strError = strprintf("Error: Couldn't set properties on socket for incoming connections (error %d)", WSAGetLastError()); + strError = strprintf("Error: Couldn't set properties on socket for incoming connections (error %s)", NetworkErrorString(WSAGetLastError())); LogPrintf("%s\n", strError); return false; } @@ -1638,7 +1635,7 @@ bool BindListenPort(const CService &addrBind, string& strError) if (nErr == WSAEADDRINUSE) strError = strprintf(_("Unable to bind to %s on this computer. Bitcoin Core is probably already running."), addrBind.ToString()); else - strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %d, %s)"), addrBind.ToString(), nErr, strerror(nErr)); + strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToString(), NetworkErrorString(nErr)); LogPrintf("%s\n", strError); return false; } @@ -1647,7 +1644,7 @@ bool BindListenPort(const CService &addrBind, string& strError) // Listen for incoming connections if (listen(hListenSocket, SOMAXCONN) == SOCKET_ERROR) { - strError = strprintf(_("Error: Listening for incoming connections failed (listen returned error %d)"), WSAGetLastError()); + strError = strprintf(_("Error: Listening for incoming connections failed (listen returned error %s)"), NetworkErrorString(WSAGetLastError())); LogPrintf("%s\n", strError); return false; } @@ -1785,7 +1782,7 @@ public: BOOST_FOREACH(SOCKET hListenSocket, vhListenSocket) if (hListenSocket != INVALID_SOCKET) if (closesocket(hListenSocket) == SOCKET_ERROR) - LogPrintf("closesocket(hListenSocket) failed with error %d\n", WSAGetLastError()); + LogPrintf("closesocket(hListenSocket) failed with error %s\n", NetworkErrorString(WSAGetLastError())); // clean up some globals (to help leak detection) BOOST_FOREACH(CNode *pnode, vNodes) @@ -49,6 +49,7 @@ void AddressCurrentlyConnected(const CService& addr); CNode* FindNode(const CNetAddr& ip); CNode* FindNode(const CService& ip); CNode* ConnectNode(CAddress addrConnect, const char *strDest = NULL); +bool OpenNetworkConnection(const CAddress& addrConnect, CSemaphoreGrant *grantOutbound = NULL, const char *strDest = NULL, bool fOneShot = false); void MapPort(bool fUseUPnP); unsigned short GetListenPort(); bool BindListenPort(const CService &bindAddr, std::string& strError=REF(std::string())); @@ -430,7 +431,7 @@ public: nRequestTime = it->second; else nRequestTime = 0; - LogPrint("net", "askfor %s %d (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str()); + LogPrint("net", "askfor %s %d (%s)\n", inv.ToString(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str()); // Make sure not to reuse time indexes to keep things in the same order int64_t nNow = GetTimeMicros() - 1000000; diff --git a/src/netbase.cpp b/src/netbase.cpp index 82a681281d..4aa7367f39 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -123,11 +123,6 @@ bool LookupHost(const char *pszName, std::vector<CNetAddr>& vIP, unsigned int nM return LookupIntern(strHost.c_str(), vIP, nMaxSolutions, fAllowLookup); } -bool LookupHostNumeric(const char *pszName, std::vector<CNetAddr>& vIP, unsigned int nMaxSolutions) -{ - return LookupHost(pszName, vIP, nMaxSolutions, false); -} - bool Lookup(const char *pszName, std::vector<CService>& vAddr, int portDefault, bool fAllowLookup, unsigned int nMaxSolutions) { if (pszName[0] == 0) @@ -361,7 +356,7 @@ bool static ConnectSocketDirectly(const CService &addrConnect, SOCKET& hSocketRe } if (nRet == SOCKET_ERROR) { - LogPrintf("select() for %s failed: %i\n", addrConnect.ToString(), WSAGetLastError()); + LogPrintf("select() for %s failed: %s\n", addrConnect.ToString(), NetworkErrorString(WSAGetLastError())); closesocket(hSocket); return false; } @@ -372,13 +367,13 @@ bool static ConnectSocketDirectly(const CService &addrConnect, SOCKET& hSocketRe if (getsockopt(hSocket, SOL_SOCKET, SO_ERROR, &nRet, &nRetSize) == SOCKET_ERROR) #endif { - LogPrintf("getsockopt() for %s failed: %i\n", addrConnect.ToString(), WSAGetLastError()); + LogPrintf("getsockopt() for %s failed: %s\n", addrConnect.ToString(), NetworkErrorString(WSAGetLastError())); closesocket(hSocket); return false; } if (nRet != 0) { - LogPrintf("connect() to %s failed after select(): %s\n", addrConnect.ToString(), strerror(nRet)); + LogPrintf("connect() to %s failed after select(): %s\n", addrConnect.ToString(), NetworkErrorString(nRet)); closesocket(hSocket); return false; } @@ -389,7 +384,7 @@ bool static ConnectSocketDirectly(const CService &addrConnect, SOCKET& hSocketRe else #endif { - LogPrintf("connect() to %s failed: %i\n", addrConnect.ToString(), WSAGetLastError()); + LogPrintf("connect() to %s failed: %s\n", addrConnect.ToString(), NetworkErrorString(WSAGetLastError())); closesocket(hSocket); return false; } @@ -1237,3 +1232,36 @@ bool operator!=(const CSubNet& a, const CSubNet& b) { return !(a==b); } + +#ifdef WIN32 +std::string NetworkErrorString(int err) +{ + char buf[256]; + buf[0] = 0; + if(FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, + NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + buf, sizeof(buf), NULL)) + { + return strprintf("%s (%d)", buf, err); + } + else + { + return strprintf("Unknown error (%d)", err); + } +} +#else +std::string NetworkErrorString(int err) +{ + char buf[256]; + const char *s = buf; + buf[0] = 0; + /* Too bad there are two incompatible implementations of the + * thread-safe strerror. */ +#ifdef STRERROR_R_CHAR_P /* GNU variant can return a pointer outside the passed buffer */ + s = strerror_r(err, buf, sizeof(buf)); +#else /* POSIX variant always returns message in buffer */ + (void) strerror_r(err, buf, sizeof(buf)); +#endif + return strprintf("%s (%d)", s, err); +} +#endif diff --git a/src/netbase.h b/src/netbase.h index 118f866d6c..f5a64cb51f 100644 --- a/src/netbase.h +++ b/src/netbase.h @@ -173,11 +173,12 @@ bool IsProxy(const CNetAddr &addr); bool SetNameProxy(CService addrProxy, int nSocksVersion = 5); bool HaveNameProxy(); bool LookupHost(const char *pszName, std::vector<CNetAddr>& vIP, unsigned int nMaxSolutions = 0, bool fAllowLookup = true); -bool LookupHostNumeric(const char *pszName, std::vector<CNetAddr>& vIP, unsigned int nMaxSolutions = 0); bool Lookup(const char *pszName, CService& addr, int portDefault = 0, bool fAllowLookup = true); bool Lookup(const char *pszName, std::vector<CService>& vAddr, int portDefault = 0, bool fAllowLookup = true, unsigned int nMaxSolutions = 0); bool LookupNumeric(const char *pszName, CService& addr, int portDefault = 0); bool ConnectSocket(const CService &addr, SOCKET& hSocketRet, int nTimeout = nConnectTimeout); bool ConnectSocketByName(CService &addr, SOCKET& hSocketRet, const char *pszDest, int portDefault = 0, int nTimeout = nConnectTimeout); +/** Return readable error string for a network error code */ +std::string NetworkErrorString(int err); #endif diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 31716ab825..45d7a52889 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -459,6 +459,8 @@ WId BitcoinApplication::getMainWinId() const #ifndef BITCOIN_QT_TEST int main(int argc, char *argv[]) { + SetupEnvironment(); + /// 1. Parse command-line options. These take precedence over anything else. // Command-line options take precedence: ParseParameters(argc, argv); diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index 7b264d27c7..49c0867450 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -76,7 +76,11 @@ QString dateTimeStr(qint64 nTime) QFont bitcoinAddressFont() { QFont font("Monospace"); +#if QT_VERSION >= 0x040800 + font.setStyleHint(QFont::Monospace); +#else font.setStyleHint(QFont::TypeWriter); +#endif return font; } diff --git a/src/qt/locale/bitcoin_af_ZA.ts b/src/qt/locale/bitcoin_af_ZA.ts index 80e4de010f..6e8395e589 100644 --- a/src/qt/locale/bitcoin_af_ZA.ts +++ b/src/qt/locale/bitcoin_af_ZA.ts @@ -1898,7 +1898,7 @@ Address: %4 </message> <message> <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation>Die adres waarheen die betaling gestuur moet word (b.v. 1H7wyVL5HCNoVFyyBJSDojwyxcCChU7TPA)</translation> + <translation>Die adres waarheen die betaling gestuur moet word (b.v. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> <message> <source>Enter a label for this address to add it to your address book</source> diff --git a/src/qt/locale/bitcoin_ar.ts b/src/qt/locale/bitcoin_ar.ts index 32b0d4b0fc..5877cc35d9 100644 --- a/src/qt/locale/bitcoin_ar.ts +++ b/src/qt/locale/bitcoin_ar.ts @@ -20,7 +20,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Copyright</source> - <translation type="unfinished"/> + <translation>الحقوق محفوظة</translation> </message> <message> <source>The Bitcoin Core developers</source> @@ -35,7 +35,7 @@ This product includes software developed by the OpenSSL Project for use in the O <name>AddressBookPage</name> <message> <source>Double-click to edit address or label</source> - <translation>أنقر على الماوس مرتين لتعديل العنوان</translation> + <translation>أنقر بالماوس مرتين لتعديل العنوان او الوصف</translation> </message> <message> <source>Create a new address</source> @@ -43,7 +43,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&New</source> - <translation type="unfinished"/> + <translation>&جديد</translation> </message> <message> <source>Copy the currently selected address to the system clipboard</source> @@ -51,11 +51,11 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Copy</source> - <translation type="unfinished"/> + <translation>&نسخ</translation> </message> <message> <source>C&lose</source> - <translation type="unfinished"/> + <translation>&اغلاق</translation> </message> <message> <source>&Copy Address</source> @@ -63,7 +63,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Delete the currently selected address from the list</source> - <translation type="unfinished"/> + <translation>حذف العنوان المحدد من القائمة</translation> </message> <message> <source>Export the data in the current tab to a file</source> @@ -71,7 +71,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Export</source> - <translation type="unfinished"/> + <translation>&تصدير</translation> </message> <message> <source>&Delete</source> @@ -79,23 +79,23 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Choose the address to send coins to</source> - <translation type="unfinished"/> + <translation>اختر العنوان الذي سترسل له العملات</translation> </message> <message> <source>Choose the address to receive coins with</source> - <translation type="unfinished"/> + <translation>اختر العنوان الذي تستقبل عليه العملات</translation> </message> <message> <source>C&hoose</source> - <translation type="unfinished"/> + <translation>&اختر</translation> </message> <message> <source>Sending addresses</source> - <translation type="unfinished"/> + <translation>ارسال العناوين</translation> </message> <message> <source>Receiving addresses</source> - <translation type="unfinished"/> + <translation>استقبال العناوين</translation> </message> <message> <source>These are your Bitcoin addresses for sending payments. Always check the amount and the receiving address before sending coins.</source> @@ -107,7 +107,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Copy &Label</source> - <translation type="unfinished"/> + <translation>نسخ &الوصف</translation> </message> <message> <source>&Edit</source> @@ -115,7 +115,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Export Address List</source> - <translation type="unfinished"/> + <translation>تصدير قائمة العناوين</translation> </message> <message> <source>Comma separated file (*.csv)</source> @@ -123,7 +123,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Exporting Failed</source> - <translation type="unfinished"/> + <translation>فشل التصدير</translation> </message> <message> <source>There was an error trying to save the address list to %1.</source> @@ -157,15 +157,15 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>New passphrase</source> - <translation>عبارة مرور جديدة</translation> + <translation>كلمة مرور جديدة</translation> </message> <message> <source>Repeat new passphrase</source> - <translation>ادخل الجملة السرية مرة أخرى</translation> + <translation>ادخل كلمة المرور الجديدة مرة أخرى</translation> </message> <message> <source>Enter the new passphrase to the wallet.<br/>Please use a passphrase of <b>10 or more random characters</b>, or <b>eight or more words</b>.</source> - <translation>أدخل عبارة مرور جديدة إلى المحفظة. الرجاء استخدام عبارة مرور تتكون من10 حروف عشوائية على الاقل, أو أكثر من 7 كلمات </translation> + <translation>أدخل كلمة مرور جديدة للمحفظة. <br/>الرجاء استخدام كلمة مرور تتكون <b>من 10 حروف عشوائية على الاقل</b>, أو <b>أكثر من 7 كلمات</b>. </translation> </message> <message> <source>Encrypt wallet</source> @@ -173,7 +173,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>This operation needs your wallet passphrase to unlock the wallet.</source> - <translation>هذه العملية تحتاج عبارة المرور محفظتك لفتحها</translation> + <translation>هذه العملية تحتاج كلمة مرور محفظتك لفتحها</translation> </message> <message> <source>Unlock wallet</source> @@ -181,7 +181,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>This operation needs your wallet passphrase to decrypt the wallet.</source> - <translation>هذه العملية تحتاج عبارة المرور محفظتك فك تشفيرها</translation> + <translation>هذه العملية تحتاج كلمة مرور محفظتك لفك تشفيرها </translation> </message> <message> <source>Decrypt wallet</source> @@ -189,15 +189,15 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Change passphrase</source> - <translation>تغيير عبارة المرور</translation> + <translation>تغيير كلمة المرور</translation> </message> <message> <source>Enter the old and new passphrase to the wallet.</source> - <translation>أدخل عبارة المرور القديمة والجديدة إلى المحفظة.</translation> + <translation>أدخل كلمة المرور القديمة والجديدة للمحفظة.</translation> </message> <message> <source>Confirm wallet encryption</source> - <translation>تأكيد التشفير المحفظة</translation> + <translation>تأكيد تشفير المحفظة</translation> </message> <message> <source>Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!</source> @@ -213,7 +213,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Warning: The Caps Lock key is on!</source> - <translation type="unfinished"/> + <translation>تحذير: مفتاح الحروف الكبيرة مفعل</translation> </message> <message> <source>Wallet encrypted</source> @@ -229,12 +229,11 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Wallet encryption failed due to an internal error. Your wallet was not encrypted.</source> - <translation>شل تشفير المحفظة بسبب خطأ داخلي. لم يتم تشفير محفظتك.</translation> + <translation>فشل تشفير المحفظة بسبب خطأ داخلي. لم يتم تشفير محفظتك.</translation> </message> <message> <source>The supplied passphrases do not match.</source> - <translation>عبارتي المرور ليستا متطابقتان -</translation> + <translation>كلمتي المرور ليستا متطابقتان</translation> </message> <message> <source>Wallet unlock failed</source> @@ -242,8 +241,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>The passphrase entered for the wallet decryption was incorrect.</source> - <translation>عبارة المرور التي تم إدخالها لفك شفرة المحفظة غير صحيحة. -</translation> + <translation>كلمة المرور التي تم إدخالها لفك تشفير المحفظة غير صحيحة.</translation> </message> <message> <source>Wallet decryption failed</source> @@ -262,11 +260,11 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Synchronizing with network...</source> - <translation>مزامنة مع شبكة ...</translation> + <translation>مزامنة مع الشبكة ...</translation> </message> <message> <source>&Overview</source> - <translation>نظرة عامة</translation> + <translation>&نظرة عامة</translation> </message> <message> <source>Node</source> @@ -278,11 +276,11 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Transactions</source> - <translation>المعاملات</translation> + <translation>&المعاملات</translation> </message> <message> <source>Browse transaction history</source> - <translation>تصفح التاريخ المعاملات</translation> + <translation>تصفح سجل المعاملات</translation> </message> <message> <source>E&xit</source> @@ -294,7 +292,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Show information about Bitcoin</source> - <translation> إظهار المزيد معلومات حول Bitcoin</translation> + <translation> إظهار معلومات حول بت كوين</translation> </message> <message> <source>About &Qt</source> @@ -306,19 +304,19 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Options...</source> - <translation>خيارات ...</translation> + <translation>&خيارات ...</translation> </message> <message> <source>&Encrypt Wallet...</source> - <translation type="unfinished"/> + <translation>&تشفير المحفظة</translation> </message> <message> <source>&Backup Wallet...</source> - <translation type="unfinished"/> + <translation>&نسخ احتياط للمحفظة</translation> </message> <message> <source>&Change Passphrase...</source> - <translation type="unfinished"/> + <translation>&تغيير كلمة المرور</translation> </message> <message> <source>&Sending addresses...</source> @@ -330,7 +328,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Open &URI...</source> - <translation type="unfinished"/> + <translation>افتح &URI...</translation> </message> <message> <source>Importing blocks from disk...</source> @@ -354,11 +352,11 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Change the passphrase used for wallet encryption</source> - <translation>تغيير عبارة المرور المستخدمة لتشفير المحفظة</translation> + <translation>تغيير كلمة المرور المستخدمة لتشفير المحفظة</translation> </message> <message> <source>&Debug window</source> - <translation type="unfinished"/> + <translation>&نافذة المعالجة</translation> </message> <message> <source>Open debugging and diagnostic console</source> @@ -366,7 +364,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Verify message...</source> - <translation type="unfinished"/> + <translation>&التحقق من الرسالة...</translation> </message> <message> <source>Bitcoin</source> @@ -378,19 +376,19 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Send</source> - <translation type="unfinished"/> + <translation>%ارسل</translation> </message> <message> <source>&Receive</source> - <translation type="unfinished"/> + <translation>&استقبل</translation> </message> <message> <source>&Show / Hide</source> - <translation type="unfinished"/> + <translation>&عرض / اخفاء</translation> </message> <message> <source>Show or hide the main Window</source> - <translation type="unfinished"/> + <translation>عرض او اخفاء النافذة الرئيسية</translation> </message> <message> <source>Encrypt the private keys that belong to your wallet</source> @@ -406,15 +404,15 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&File</source> - <translation>ملف</translation> + <translation>&ملف</translation> </message> <message> <source>&Settings</source> - <translation>الاعدادات</translation> + <translation>&الاعدادات</translation> </message> <message> <source>&Help</source> - <translation>مساعدة</translation> + <translation>&مساعدة</translation> </message> <message> <source>Tabs toolbar</source> @@ -458,7 +456,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Bitcoin client</source> - <translation>عميل بتكوين</translation> + <translation>عميل بت كوين</translation> </message> <message numerus="yes"> <source>%n active connection(s) to Bitcoin network</source> @@ -478,15 +476,15 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message numerus="yes"> <source>%n hour(s)</source> - <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> + <translation><numerusform>%n ساعة</numerusform><numerusform>%n ساعة</numerusform><numerusform>%n ساعة</numerusform><numerusform>%n ساعات</numerusform><numerusform>%n ساعات</numerusform><numerusform>%n ساعات</numerusform></translation> </message> <message numerus="yes"> <source>%n day(s)</source> - <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> + <translation><numerusform>%n يوم</numerusform><numerusform>%n يوم</numerusform><numerusform>%n يوم</numerusform><numerusform>%n أيام</numerusform><numerusform>%n أيام</numerusform><numerusform>%n ايام</numerusform></translation> </message> <message numerus="yes"> <source>%n week(s)</source> - <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> + <translation><numerusform>%n اسبوع</numerusform><numerusform>%n اسبوع</numerusform><numerusform>%n اسبوع</numerusform><numerusform>%n اسابيع</numerusform><numerusform>%n اسابيع</numerusform><numerusform>%n اسابيع</numerusform></translation> </message> <message> <source>%1 and %2</source> @@ -514,15 +512,15 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Warning</source> - <translation type="unfinished"/> + <translation>تحذير</translation> </message> <message> <source>Information</source> - <translation type="unfinished"/> + <translation>معلومات</translation> </message> <message> <source>Up to date</source> - <translation>محين</translation> + <translation>محدث</translation> </message> <message> <source>Catching up...</source> @@ -534,7 +532,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Incoming transaction</source> - <translation>المعاملات واردة</translation> + <translation>المعاملات الواردة</translation> </message> <message> <source>Date: %1 @@ -542,15 +540,19 @@ Amount: %2 Type: %3 Address: %4 </source> - <translation type="unfinished"/> + <translation>التاريخ : 1% +القيمة: 2% +النوع: 3% +العنوان: 4% +</translation> </message> <message> <source>Wallet is <b>encrypted</b> and currently <b>unlocked</b></source> - <translation>المحفظة مشفرة و مفتوحة حاليا</translation> + <translation>المحفظة <b>مشفرة</b> و <b>مفتوحة</b> حاليا</translation> </message> <message> <source>Wallet is <b>encrypted</b> and currently <b>locked</b></source> - <translation>المحفظة مشفرة و مقفلة حاليا</translation> + <translation>المحفظة <b>مشفرة</b> و <b>مقفلة</b> حاليا</translation> </message> <message> <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source> @@ -561,7 +563,7 @@ Address: %4 <name>ClientModel</name> <message> <source>Network Alert</source> - <translation type="unfinished"/> + <translation>تنبيه من الشبكة</translation> </message> </context> <context> @@ -572,7 +574,7 @@ Address: %4 </message> <message> <source>Quantity:</source> - <translation type="unfinished"/> + <translation>الكمية:</translation> </message> <message> <source>Bytes:</source> @@ -580,7 +582,7 @@ Address: %4 </message> <message> <source>Amount:</source> - <translation type="unfinished"/> + <translation>القيمة</translation> </message> <message> <source>Priority:</source> @@ -588,7 +590,7 @@ Address: %4 </message> <message> <source>Fee:</source> - <translation type="unfinished"/> + <translation>رسوم :</translation> </message> <message> <source>Low Output:</source> @@ -628,7 +630,7 @@ Address: %4 </message> <message> <source>Confirmations</source> - <translation type="unfinished"/> + <translation>تأكيد</translation> </message> <message> <source>Confirmed</source> @@ -636,11 +638,11 @@ Address: %4 </message> <message> <source>Priority</source> - <translation type="unfinished"/> + <translation>أفضلية</translation> </message> <message> <source>Copy address</source> - <translation> انسخ عنوان</translation> + <translation> انسخ العنوان</translation> </message> <message> <source>Copy label</source> @@ -648,11 +650,11 @@ Address: %4 </message> <message> <source>Copy amount</source> - <translation>نسخ الكمية</translation> + <translation>نسخ القيمة</translation> </message> <message> <source>Copy transaction ID</source> - <translation type="unfinished"/> + <translation>نسخ رقم المعاملة</translation> </message> <message> <source>Lock unspent</source> @@ -664,15 +666,15 @@ Address: %4 </message> <message> <source>Copy quantity</source> - <translation type="unfinished"/> + <translation>نسخ الكمية</translation> </message> <message> <source>Copy fee</source> - <translation type="unfinished"/> + <translation>نسخ الرسوم</translation> </message> <message> <source>Copy after fee</source> - <translation type="unfinished"/> + <translation>نسخ بعد الرسوم</translation> </message> <message> <source>Copy bytes</source> @@ -680,7 +682,7 @@ Address: %4 </message> <message> <source>Copy priority</source> - <translation type="unfinished"/> + <translation>نسخ الافضلية</translation> </message> <message> <source>Copy low output</source> @@ -688,19 +690,19 @@ Address: %4 </message> <message> <source>Copy change</source> - <translation type="unfinished"/> + <translation>نسخ التغييرات</translation> </message> <message> <source>highest</source> - <translation type="unfinished"/> + <translation>الاعلى</translation> </message> <message> <source>higher</source> - <translation type="unfinished"/> + <translation>اعلى</translation> </message> <message> <source>high</source> - <translation type="unfinished"/> + <translation>عالي</translation> </message> <message> <source>medium-high</source> @@ -716,7 +718,7 @@ Address: %4 </message> <message> <source>low</source> - <translation type="unfinished"/> + <translation>منخفض</translation> </message> <message> <source>lower</source> @@ -732,7 +734,7 @@ Address: %4 </message> <message> <source>none</source> - <translation type="unfinished"/> + <translation>لا شيء</translation> </message> <message> <source>Dust</source> @@ -803,7 +805,7 @@ Address: %4 </message> <message> <source>&Label</source> - <translation type="unfinished"/> + <translation>&وصف</translation> </message> <message> <source>The label associated with this address list entry</source> @@ -815,11 +817,11 @@ Address: %4 </message> <message> <source>&Address</source> - <translation>العنوان</translation> + <translation>&العنوان</translation> </message> <message> <source>New receiving address</source> - <translation>عنوان تلقي جديد</translation> + <translation>عنوان أستلام جديد</translation> </message> <message> <source>New sending address</source> @@ -827,8 +829,7 @@ Address: %4 </message> <message> <source>Edit receiving address</source> - <translation>تعديل عنوان التلقي -</translation> + <translation>تعديل عنوان الأستلام</translation> </message> <message> <source>Edit sending address</source> @@ -855,11 +856,11 @@ Address: %4 <name>FreespaceChecker</name> <message> <source>A new data directory will be created.</source> - <translation type="unfinished"/> + <translation>سيتم انشاء دليل بيانات جديد</translation> </message> <message> <source>name</source> - <translation type="unfinished"/> + <translation>الاسم</translation> </message> <message> <source>Directory already exists. Add %1 if you intend to create a new directory here.</source> @@ -871,7 +872,7 @@ Address: %4 </message> <message> <source>Cannot create data directory here.</source> - <translation type="unfinished"/> + <translation>لا يمكن انشاء دليل بيانات هنا .</translation> </message> </context> <context> @@ -925,7 +926,7 @@ Address: %4 <name>Intro</name> <message> <source>Welcome</source> - <translation type="unfinished"/> + <translation>أهلا</translation> </message> <message> <source>Welcome to Bitcoin Core.</source> @@ -941,11 +942,11 @@ Address: %4 </message> <message> <source>Use the default data directory</source> - <translation type="unfinished"/> + <translation>استخدام دليل البانات الافتراضي</translation> </message> <message> <source>Use a custom data directory:</source> - <translation type="unfinished"/> + <translation>استخدام دليل بيانات مخصص:</translation> </message> <message> <source>Bitcoin</source> @@ -961,11 +962,11 @@ Address: %4 </message> <message> <source>GB of free space available</source> - <translation type="unfinished"/> + <translation>قيقا بايت مساحة متاحة</translation> </message> <message> <source>(of %1GB needed)</source> - <translation type="unfinished"/> + <translation>( بحاجة الى 1%قيقا بايت )</translation> </message> </context> <context> @@ -984,11 +985,11 @@ Address: %4 </message> <message> <source>Select payment request file</source> - <translation type="unfinished"/> + <translation>حدد ملف طلب الدفع</translation> </message> <message> <source>Select payment request file to open</source> - <translation type="unfinished"/> + <translation>حدد ملف طلب الدفع لفتحه</translation> </message> </context> <context> @@ -999,7 +1000,7 @@ Address: %4 </message> <message> <source>&Main</source> - <translation>الرئيسي</translation> + <translation>&الرئيسي</translation> </message> <message> <source>Optional transaction fee per kB that helps make sure your transactions are processed quickly. Most transactions are 1 kB.</source> @@ -1007,7 +1008,7 @@ Address: %4 </message> <message> <source>Pay transaction &fee</source> - <translation type="unfinished"/> + <translation>ادفع &رسوم المعاملة</translation> </message> <message> <source>Automatically start Bitcoin after logging in to the system.</source> @@ -1023,7 +1024,7 @@ Address: %4 </message> <message> <source>MB</source> - <translation type="unfinished"/> + <translation>م ب</translation> </message> <message> <source>Number of script &verification threads</source> @@ -1047,7 +1048,7 @@ Address: %4 </message> <message> <source>Third party transaction URLs</source> - <translation type="unfinished"/> + <translation>عنوان النطاق للطرف الثالث</translation> </message> <message> <source>Active command-line options that override above options:</source> @@ -1059,11 +1060,11 @@ Address: %4 </message> <message> <source>&Reset Options</source> - <translation type="unfinished"/> + <translation>&استعادة الخيارات</translation> </message> <message> <source>&Network</source> - <translation type="unfinished"/> + <translation>&الشبكة</translation> </message> <message> <source>(0 = auto, <0 = leave that many cores free)</source> @@ -1071,11 +1072,11 @@ Address: %4 </message> <message> <source>W&allet</source> - <translation type="unfinished"/> + <translation>&محفظة</translation> </message> <message> <source>Expert</source> - <translation type="unfinished"/> + <translation>تصدير</translation> </message> <message> <source>Enable coin &control features</source> @@ -1099,15 +1100,15 @@ Address: %4 </message> <message> <source>Proxy &IP:</source> - <translation type="unfinished"/> + <translation>بروكسي &اي بي:</translation> </message> <message> <source>&Port:</source> - <translation type="unfinished"/> + <translation>&المنفذ:</translation> </message> <message> <source>Port of the proxy (e.g. 9050)</source> - <translation type="unfinished"/> + <translation>منفذ البروكسي (مثلا 9050)</translation> </message> <message> <source>SOCKS &Version:</source> @@ -1139,11 +1140,11 @@ Address: %4 </message> <message> <source>&Display</source> - <translation type="unfinished"/> + <translation>&عرض</translation> </message> <message> <source>User Interface &language:</source> - <translation type="unfinished"/> + <translation>واجهة المستخدم &اللغة:</translation> </message> <message> <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source> @@ -1183,11 +1184,11 @@ Address: %4 </message> <message> <source>none</source> - <translation type="unfinished"/> + <translation>لا شيء</translation> </message> <message> <source>Confirm options reset</source> - <translation type="unfinished"/> + <translation>تأكيد استعادة الخيارات</translation> </message> <message> <source>Client restart required to activate changes.</source> @@ -1230,7 +1231,7 @@ Address: %4 </message> <message> <source>Pending:</source> - <translation type="unfinished"/> + <translation>معلق:</translation> </message> <message> <source>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</source> @@ -1246,11 +1247,11 @@ Address: %4 </message> <message> <source>Total:</source> - <translation type="unfinished"/> + <translation>المجموع:</translation> </message> <message> <source>Your current total balance</source> - <translation type="unfinished"/> + <translation>رصيدك الكلي الحالي</translation> </message> <message> <source><b>Recent transactions</b></source> @@ -1321,7 +1322,7 @@ Address: %4 </message> <message> <source>Bad response from server %1</source> - <translation type="unfinished"/> + <translation>استجابة سيئة من الملقم٪ 1</translation> </message> <message> <source>Payment acknowledged</source> @@ -1363,15 +1364,15 @@ Address: %4 <name>QRImageWidget</name> <message> <source>&Save Image...</source> - <translation type="unfinished"/> + <translation>&حفظ الصورة</translation> </message> <message> <source>&Copy Image</source> - <translation type="unfinished"/> + <translation>&نسخ الصورة</translation> </message> <message> <source>Save QR Code</source> - <translation type="unfinished"/> + <translation>حفظ رمز الاستجابة السريعة QR</translation> </message> <message> <source>PNG Image (*.png)</source> @@ -1402,7 +1403,7 @@ Address: %4 </message> <message> <source>General</source> - <translation type="unfinished"/> + <translation>عام</translation> </message> <message> <source>Using OpenSSL version</source> @@ -1410,7 +1411,7 @@ Address: %4 </message> <message> <source>Startup time</source> - <translation type="unfinished"/> + <translation>وقت البدء</translation> </message> <message> <source>Network</source> @@ -1450,23 +1451,23 @@ Address: %4 </message> <message> <source>&Network Traffic</source> - <translation type="unfinished"/> + <translation>&حركة مرور الشبكة</translation> </message> <message> <source>&Clear</source> - <translation type="unfinished"/> + <translation>&مسح</translation> </message> <message> <source>Totals</source> - <translation type="unfinished"/> + <translation>المجاميع</translation> </message> <message> <source>In:</source> - <translation type="unfinished"/> + <translation>داخل:</translation> </message> <message> <source>Out:</source> - <translation type="unfinished"/> + <translation>خارج:</translation> </message> <message> <source>Build date</source> @@ -1490,7 +1491,7 @@ Address: %4 </message> <message> <source>Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen.</source> - <translation type="unfinished"/> + <translation>استخدم اسهم الاعلى و الاسفل للتنقل بين السجلات و <b>Ctrl-L</b> لمسح الشاشة</translation> </message> <message> <source>Type <b>help</b> for an overview of available commands.</source> @@ -1498,46 +1499,46 @@ Address: %4 </message> <message> <source>%1 B</source> - <translation type="unfinished"/> + <translation>1% بايت</translation> </message> <message> <source>%1 KB</source> - <translation type="unfinished"/> + <translation>1% كيلو بايت</translation> </message> <message> <source>%1 MB</source> - <translation type="unfinished"/> + <translation>1% ميقا بايت</translation> </message> <message> <source>%1 GB</source> - <translation type="unfinished"/> + <translation>1% قيقا بايت</translation> </message> <message> <source>%1 m</source> - <translation type="unfinished"/> + <translation>1% دقيقة</translation> </message> <message> <source>%1 h</source> - <translation type="unfinished"/> + <translation>1% ساعة</translation> </message> <message> <source>%1 h %2 m</source> - <translation type="unfinished"/> + <translation>1% ساعة 2% دقيقة</translation> </message> </context> <context> <name>ReceiveCoinsDialog</name> <message> <source>&Amount:</source> - <translation type="unfinished"/> + <translation>&القيمة</translation> </message> <message> <source>&Label:</source> - <translation type="unfinished"/> + <translation>&الوصف:</translation> </message> <message> <source>&Message:</source> - <translation type="unfinished"/> + <translation>&رسالة:</translation> </message> <message> <source>Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before.</source> @@ -1565,15 +1566,15 @@ Address: %4 </message> <message> <source>Clear all fields of the form.</source> - <translation type="unfinished"/> + <translation>مسح كل حقول النموذج المطلوبة</translation> </message> <message> <source>Clear</source> - <translation type="unfinished"/> + <translation>مسح</translation> </message> <message> <source>Requested payments history</source> - <translation type="unfinished"/> + <translation>سجل طلبات الدفع</translation> </message> <message> <source>&Request payment</source> @@ -1585,7 +1586,7 @@ Address: %4 </message> <message> <source>Show</source> - <translation type="unfinished"/> + <translation>عرض</translation> </message> <message> <source>Remove the selected entries from the list</source> @@ -1593,7 +1594,7 @@ Address: %4 </message> <message> <source>Remove</source> - <translation type="unfinished"/> + <translation>ازل</translation> </message> <message> <source>Copy label</source> @@ -1605,26 +1606,26 @@ Address: %4 </message> <message> <source>Copy amount</source> - <translation>نسخ الكمية</translation> + <translation>نسخ القيمة</translation> </message> </context> <context> <name>ReceiveRequestDialog</name> <message> <source>QR Code</source> - <translation type="unfinished"/> + <translation>رمز كيو ار</translation> </message> <message> <source>Copy &URI</source> - <translation type="unfinished"/> + <translation>نسخ &URI</translation> </message> <message> <source>Copy &Address</source> - <translation type="unfinished"/> + <translation>نسخ &العنوان</translation> </message> <message> <source>&Save Image...</source> - <translation type="unfinished"/> + <translation>&حفظ الصورة</translation> </message> <message> <source>Request payment to %1</source> @@ -1636,7 +1637,7 @@ Address: %4 </message> <message> <source>URI</source> - <translation type="unfinished"/> + <translation> URI</translation> </message> <message> <source>Address</source> @@ -1652,7 +1653,7 @@ Address: %4 </message> <message> <source>Message</source> - <translation type="unfinished"/> + <translation>رسالة</translation> </message> <message> <source>Resulting URI too long, try to reduce the text for label / message.</source> @@ -1675,7 +1676,7 @@ Address: %4 </message> <message> <source>Message</source> - <translation type="unfinished"/> + <translation>رسالة</translation> </message> <message> <source>Amount</source> @@ -1687,7 +1688,7 @@ Address: %4 </message> <message> <source>(no message)</source> - <translation type="unfinished"/> + <translation>( لا رسائل )</translation> </message> <message> <source>(no amount)</source> @@ -1710,7 +1711,7 @@ Address: %4 </message> <message> <source>automatically selected</source> - <translation type="unfinished"/> + <translation>اختيار تلقائيا</translation> </message> <message> <source>Insufficient funds!</source> @@ -1718,7 +1719,7 @@ Address: %4 </message> <message> <source>Quantity:</source> - <translation type="unfinished"/> + <translation>الكمية :</translation> </message> <message> <source>Bytes:</source> @@ -1726,15 +1727,15 @@ Address: %4 </message> <message> <source>Amount:</source> - <translation type="unfinished"/> + <translation>القيمة :</translation> </message> <message> <source>Priority:</source> - <translation type="unfinished"/> + <translation>افضلية :</translation> </message> <message> <source>Fee:</source> - <translation type="unfinished"/> + <translation>رسوم :</translation> </message> <message> <source>Low Output:</source> @@ -1742,11 +1743,11 @@ Address: %4 </message> <message> <source>After Fee:</source> - <translation type="unfinished"/> + <translation>بعد الرسوم :</translation> </message> <message> <source>Change:</source> - <translation type="unfinished"/> + <translation>تعديل :</translation> </message> <message> <source>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</source> @@ -1762,7 +1763,7 @@ Address: %4 </message> <message> <source>Add &Recipient</source> - <translation type="unfinished"/> + <translation>أضافة &مستلم</translation> </message> <message> <source>Clear all fields of the form.</source> @@ -1782,7 +1783,7 @@ Address: %4 </message> <message> <source>S&end</source> - <translation type="unfinished"/> + <translation>&ارسال</translation> </message> <message> <source>Confirm send coins</source> @@ -1790,23 +1791,23 @@ Address: %4 </message> <message> <source>%1 to %2</source> - <translation type="unfinished"/> + <translation>1% الى 2%</translation> </message> <message> <source>Copy quantity</source> - <translation type="unfinished"/> + <translation>نسخ الكمية </translation> </message> <message> <source>Copy amount</source> - <translation>نسخ الكمية</translation> + <translation>نسخ القيمة</translation> </message> <message> <source>Copy fee</source> - <translation type="unfinished"/> + <translation>نسخ الرسوم</translation> </message> <message> <source>Copy after fee</source> - <translation type="unfinished"/> + <translation>نسخ بعد الرسوم</translation> </message> <message> <source>Copy bytes</source> @@ -1814,7 +1815,7 @@ Address: %4 </message> <message> <source>Copy priority</source> - <translation type="unfinished"/> + <translation>نسخ الافضلية</translation> </message> <message> <source>Copy low output</source> @@ -1822,15 +1823,15 @@ Address: %4 </message> <message> <source>Copy change</source> - <translation type="unfinished"/> + <translation>نسخ التعديل</translation> </message> <message> <source>Total Amount %1 (= %2)</source> - <translation type="unfinished"/> + <translation>مجموع المبلغ %1 (= %2)</translation> </message> <message> <source>or</source> - <translation type="unfinished"/> + <translation>أو</translation> </message> <message> <source>The recipient address is not valid, please recheck.</source> @@ -1842,11 +1843,11 @@ Address: %4 </message> <message> <source>The amount exceeds your balance.</source> - <translation type="unfinished"/> + <translation>القيمة تتجاوز رصيدك</translation> </message> <message> <source>The total exceeds your balance when the %1 transaction fee is included.</source> - <translation type="unfinished"/> + <translation>المجموع يتجاوز رصيدك عندما يتم اضافة 1% رسوم العملية</translation> </message> <message> <source>Duplicate address found, can only send to each address once per send operation.</source> @@ -1897,7 +1898,7 @@ Address: %4 </message> <message> <source>Pay &To:</source> - <translation>ادفع الى </translation> + <translation>ادفع &الى :</translation> </message> <message> <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> @@ -1909,7 +1910,7 @@ Address: %4 </message> <message> <source>&Label:</source> - <translation type="unfinished"/> + <translation>&وصف :</translation> </message> <message> <source>Choose previously used address</source> @@ -1925,7 +1926,7 @@ Address: %4 </message> <message> <source>Paste address from clipboard</source> - <translation>انسخ العنوان من لوحة المفاتيح</translation> + <translation>الصق العنوان من لوحة المفاتيح</translation> </message> <message> <source>Alt+P</source> @@ -1972,7 +1973,7 @@ Address: %4 </message> <message> <source>Do not shut down the computer until this window disappears.</source> - <translation type="unfinished"/> + <translation>لا توقف عمل الكمبيوتر حتى تختفي هذه النافذة</translation> </message> </context> <context> @@ -1983,7 +1984,7 @@ Address: %4 </message> <message> <source>&Sign Message</source> - <translation type="unfinished"/> + <translation>&توقيع الرسالة</translation> </message> <message> <source>You can sign messages with your addresses to prove you own them. Be careful not to sign anything vague, as phishing attacks may try to trick you into signing your identity over to them. Only sign fully-detailed statements you agree to.</source> @@ -2011,11 +2012,11 @@ Address: %4 </message> <message> <source>Enter the message you want to sign here</source> - <translation type="unfinished"/> + <translation>ادخل الرسالة التي تريد توقيعها هنا</translation> </message> <message> <source>Signature</source> - <translation type="unfinished"/> + <translation>التوقيع</translation> </message> <message> <source>Copy the current signature to the system clipboard</source> @@ -2023,11 +2024,11 @@ Address: %4 </message> <message> <source>Sign the message to prove you own this Bitcoin address</source> - <translation type="unfinished"/> + <translation>وقع الرسالة لتثبت انك تمتلك عنوان البت كوين هذا</translation> </message> <message> <source>Sign &Message</source> - <translation type="unfinished"/> + <translation>توقيع $الرسالة</translation> </message> <message> <source>Reset all sign message fields</source> @@ -2039,7 +2040,7 @@ Address: %4 </message> <message> <source>&Verify Message</source> - <translation type="unfinished"/> + <translation>&تحقق رسالة</translation> </message> <message> <source>Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack.</source> @@ -2055,7 +2056,7 @@ Address: %4 </message> <message> <source>Verify &Message</source> - <translation type="unfinished"/> + <translation>تحقق &الرسالة</translation> </message> <message> <source>Reset all verify message fields</source> @@ -2067,7 +2068,7 @@ Address: %4 </message> <message> <source>Click "Sign Message" to generate signature</source> - <translation type="unfinished"/> + <translation>اضغط "توقيع الرسالة" لتوليد التوقيع</translation> </message> <message> <source>The entered address is invalid.</source> @@ -2083,7 +2084,7 @@ Address: %4 </message> <message> <source>Wallet unlock was cancelled.</source> - <translation type="unfinished"/> + <translation>تم الغاء عملية فتح المحفظة</translation> </message> <message> <source>Private key for the entered address is not available.</source> @@ -2103,7 +2104,7 @@ Address: %4 </message> <message> <source>Please check the signature and try again.</source> - <translation type="unfinished"/> + <translation>فضلا تاكد من التوقيع وحاول مرة اخرى</translation> </message> <message> <source>The signature did not match the message digest.</source> @@ -2148,7 +2149,7 @@ Address: %4 </message> <message> <source>conflicted</source> - <translation type="unfinished"/> + <translation>يتعارض</translation> </message> <message> <source>%1/offline</source> @@ -2196,7 +2197,7 @@ Address: %4 </message> <message> <source>label</source> - <translation type="unfinished"/> + <translation>علامة</translation> </message> <message> <source>Credit</source> @@ -2216,7 +2217,7 @@ Address: %4 </message> <message> <source>Transaction fee</source> - <translation>رسوم التحويل</translation> + <translation>رسوم المعاملة</translation> </message> <message> <source>Net amount</source> @@ -2224,7 +2225,7 @@ Address: %4 </message> <message> <source>Message</source> - <translation type="unfinished"/> + <translation>رسالة </translation> </message> <message> <source>Comment</source> @@ -2236,7 +2237,7 @@ Address: %4 </message> <message> <source>Merchant</source> - <translation type="unfinished"/> + <translation>تاجر</translation> </message> <message> <source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source> @@ -2268,7 +2269,7 @@ Address: %4 </message> <message> <source>, has not been successfully broadcast yet</source> - <translation>لم يتم حتى الآن البث بنجاح</translation> + <translation>, لم يتم حتى الآن البث بنجاح</translation> </message> <message numerus="yes"> <source>Open for %n more block(s)</source> @@ -2421,7 +2422,7 @@ Address: %4 </message> <message> <source>Range...</source> - <translation>v</translation> + <translation>المدى...</translation> </message> <message> <source>Received with</source> @@ -2449,7 +2450,7 @@ Address: %4 </message> <message> <source>Min amount</source> - <translation type="unfinished"/> + <translation>الحد الأدنى</translation> </message> <message> <source>Copy address</source> @@ -2465,7 +2466,7 @@ Address: %4 </message> <message> <source>Copy transaction ID</source> - <translation type="unfinished"/> + <translation>نسخ رقم العملية</translation> </message> <message> <source>Edit label</source> @@ -2473,7 +2474,7 @@ Address: %4 </message> <message> <source>Show transaction details</source> - <translation type="unfinished"/> + <translation>عرض تفاصيل المعاملة</translation> </message> <message> <source>Export Transaction History</source> @@ -2481,7 +2482,7 @@ Address: %4 </message> <message> <source>Exporting Failed</source> - <translation type="unfinished"/> + <translation>فشل التصدير</translation> </message> <message> <source>There was an error trying to save the transaction history to %1.</source> @@ -2489,7 +2490,7 @@ Address: %4 </message> <message> <source>Exporting Successful</source> - <translation>نجح الاستخراج</translation> + <translation>نجح التصدير</translation> </message> <message> <source>The transaction history was successfully saved to %1.</source> @@ -2529,7 +2530,7 @@ Address: %4 </message> <message> <source>Range:</source> - <translation type="unfinished"/> + <translation>المدى:</translation> </message> <message> <source>to</source> @@ -2554,7 +2555,7 @@ Address: %4 <name>WalletView</name> <message> <source>&Export</source> - <translation type="unfinished"/> + <translation>&تصدير</translation> </message> <message> <source>Export the data in the current tab to a file</source> @@ -2562,7 +2563,7 @@ Address: %4 </message> <message> <source>Backup Wallet</source> - <translation type="unfinished"/> + <translation>نسخ احتياط للمحفظة</translation> </message> <message> <source>Wallet Data (*.dat)</source> @@ -2570,7 +2571,7 @@ Address: %4 </message> <message> <source>Backup Failed</source> - <translation type="unfinished"/> + <translation>فشل النسخ الاحتياطي</translation> </message> <message> <source>There was an error trying to save the wallet data to %1.</source> @@ -2582,7 +2583,7 @@ Address: %4 </message> <message> <source>Backup Successful</source> - <translation type="unfinished"/> + <translation>نجاح النسخ الاحتياطي</translation> </message> </context> <context> @@ -2613,7 +2614,7 @@ Address: %4 </message> <message> <source>Specify data directory</source> - <translation>حدد موقع مجلد المعلومات او data directory</translation> + <translation>حدد مجلد المعلومات</translation> </message> <message> <source>Listen for connections on <port> (default: 8333 or testnet: 18333)</source> @@ -2867,15 +2868,15 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Error: Disk space is low!</source> - <translation type="unfinished"/> + <translation>تحذير: مساحة القرص منخفضة</translation> </message> <message> <source>Error: Wallet locked, unable to create transaction!</source> - <translation type="unfinished"/> + <translation>تحذير: المحفظة مغلقة , لا تستطيع تنفيذ المعاملة</translation> </message> <message> <source>Error: system error: </source> - <translation type="unfinished"/> + <translation>خطأ: خطأ في النظام:</translation> </message> <message> <source>Failed to listen on any port. Use -listen=0 if you want this.</source> @@ -2959,7 +2960,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Invalid -onion address: '%s'</source> - <translation type="unfinished"/> + <translation>عنوان اونيون غير صحيح : '%s'</translation> </message> <message> <source>Not enough file descriptors available.</source> @@ -3015,7 +3016,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Verifying wallet...</source> - <translation type="unfinished"/> + <translation>التحقق من المحفظة ...</translation> </message> <message> <source>Wait for RPC server to start</source> @@ -3027,7 +3028,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Wallet options:</source> - <translation type="unfinished"/> + <translation>خيارات المحفظة :</translation> </message> <message> <source>Warning: Deprecated argument -debugnet ignored, use -debug=net</source> @@ -3059,7 +3060,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Information</source> - <translation type="unfinished"/> + <translation>معلومات</translation> </message> <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> @@ -3159,7 +3160,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Signing transaction failed</source> - <translation type="unfinished"/> + <translation>فشل توقيع المعاملة</translation> </message> <message> <source>Specify connection timeout in milliseconds (default: 5000)</source> @@ -3171,19 +3172,19 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>System error: </source> - <translation type="unfinished"/> + <translation>خطأ في النظام :</translation> </message> <message> <source>Transaction amount too small</source> - <translation type="unfinished"/> + <translation>قيمة العملية صغيره جدا</translation> </message> <message> <source>Transaction amounts must be positive</source> - <translation type="unfinished"/> + <translation>يجب ان يكون قيمة العملية بالموجب</translation> </message> <message> <source>Transaction too large</source> - <translation type="unfinished"/> + <translation>المعاملة طويلة جدا</translation> </message> <message> <source>Use UPnP to map the listening port (default: 0)</source> @@ -3199,11 +3200,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Warning</source> - <translation type="unfinished"/> + <translation>تحذير</translation> </message> <message> <source>Warning: This version is obsolete, upgrade required!</source> - <translation type="unfinished"/> + <translation>تحذير : هذا الاصدار قديم , يتطلب التحديث</translation> </message> <message> <source>Zapping all transactions from wallet...</source> @@ -3239,7 +3240,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Upgrade wallet to latest format</source> - <translation type="unfinished"/> + <translation>تحديث المحفظة للنسخة الاخيرة</translation> </message> <message> <source>Set key pool size to <n> (default: 100)</source> @@ -3259,7 +3260,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Server private key (default: server.pem)</source> - <translation type="unfinished"/> + <translation>المفتاح الخاص بالسيرفر (default: server.pem)</translation> </message> <message> <source>This help message</source> @@ -3295,7 +3296,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Invalid -proxy address: '%s'</source> - <translation type="unfinished"/> + <translation>عنوان البروكسي غير صحيح : '%s'</translation> </message> <message> <source>Unknown network specified in -onlynet: '%s'</source> @@ -3319,11 +3320,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Invalid amount</source> - <translation type="unfinished"/> + <translation>قيمة غير صحيحة</translation> </message> <message> <source>Insufficient funds</source> - <translation type="unfinished"/> + <translation>اموال غير كافية</translation> </message> <message> <source>Loading block index...</source> @@ -3343,7 +3344,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Cannot write default address</source> - <translation type="unfinished"/> + <translation>لايمكن كتابة العنوان الافتراضي</translation> </message> <message> <source>Rescanning...</source> @@ -3355,7 +3356,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>To use the %s option</source> - <translation type="unfinished"/> + <translation>لاستخدام %s الخيار</translation> </message> <message> <source>Error</source> diff --git a/src/qt/locale/bitcoin_cs.ts b/src/qt/locale/bitcoin_cs.ts index ba4d2def35..6cc783b59e 100644 --- a/src/qt/locale/bitcoin_cs.ts +++ b/src/qt/locale/bitcoin_cs.ts @@ -1571,7 +1571,7 @@ Adresa: %4 </message> <message> <source>Clear all fields of the form.</source> - <translation type="unfinished"/> + <translation>Smaže všechny pole formuláře.</translation> </message> <message> <source>Clear</source> @@ -1599,7 +1599,7 @@ Adresa: %4 </message> <message> <source>Remove</source> - <translation type="unfinished"/> + <translation>Odstranit</translation> </message> <message> <source>Copy label</source> @@ -1712,11 +1712,11 @@ Adresa: %4 </message> <message> <source>Inputs...</source> - <translation type="unfinished"/> + <translation>Vstupy...</translation> </message> <message> <source>automatically selected</source> - <translation type="unfinished"/> + <translation>automaticky vybrané</translation> </message> <message> <source>Insufficient funds!</source> @@ -1772,7 +1772,7 @@ Adresa: %4 </message> <message> <source>Clear all fields of the form.</source> - <translation type="unfinished"/> + <translation>Smaže všechny pole formuláře.</translation> </message> <message> <source>Clear &All</source> @@ -1880,7 +1880,7 @@ Adresa: %4 </message> <message> <source>Are you sure you want to send?</source> - <translation type="unfinished"/> + <translation>Opravdu chcete odeslat %1?</translation> </message> <message> <source>added as transaction fee</source> @@ -1947,7 +1947,7 @@ Adresa: %4 </message> <message> <source>This is a verified payment request.</source> - <translation type="unfinished"/> + <translation>Toto je ověřený požadavek k platbě.</translation> </message> <message> <source>Enter a label for this address to add it to the list of used addresses</source> @@ -1959,7 +1959,7 @@ Adresa: %4 </message> <message> <source>This is an unverified payment request.</source> - <translation type="unfinished"/> + <translation>Toto je neověřený požadavek k platbě.</translation> </message> <message> <source>Pay To:</source> @@ -3127,7 +3127,7 @@ například: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>RPC server options:</source> - <translation type="unfinished"/> + <translation>Možnosti RPC serveru:</translation> </message> <message> <source>Randomly drop 1 of every <n> network messages</source> diff --git a/src/qt/locale/bitcoin_da.ts b/src/qt/locale/bitcoin_da.ts index 442a86b7c0..b13b38a878 100644 --- a/src/qt/locale/bitcoin_da.ts +++ b/src/qt/locale/bitcoin_da.ts @@ -25,7 +25,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Copyright</source> - <translation>Copyright</translation> + <translation>Ophavsret</translation> </message> <message> <source>The Bitcoin Core developers</source> @@ -52,7 +52,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Copy the currently selected address to the system clipboard</source> - <translation>Kopier den valgte adresse til systemets udklipsholder</translation> + <translation>Kopiér den valgte adresse til systemets udklipsholder</translation> </message> <message> <source>&Copy</source> @@ -64,7 +64,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>&Copy Address</source> - <translation>Kopier adresse</translation> + <translation>Kopiér adresse</translation> </message> <message> <source>Delete the currently selected address from the list</source> @@ -76,7 +76,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>&Export</source> - <translation>Eksporter</translation> + <translation>Eksportér</translation> </message> <message> <source>&Delete</source> @@ -112,11 +112,11 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Copy &Label</source> - <translation>Kopier mærkat</translation> + <translation>Kopiér mærkat</translation> </message> <message> <source>&Edit</source> - <translation>Rediger</translation> + <translation>Redigér</translation> </message> <message> <source>Export Address List</source> @@ -174,7 +174,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Encrypt wallet</source> - <translation>Krypter tegnebog</translation> + <translation>Kryptér tegnebog</translation> </message> <message> <source>This operation needs your wallet passphrase to unlock the wallet.</source> @@ -190,7 +190,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Decrypt wallet</source> - <translation>Dekrypter tegnebog</translation> + <translation>Dekryptér tegnebog</translation> </message> <message> <source>Change passphrase</source> @@ -214,7 +214,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </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>VIGTIGT: Enhver tidligere sikkerhedskopi, som du har lavet af tegnebogsfilen, bør blive erstattet af den nyligt genererede, krypterede tegnebogsfil. Af sikkerhedsmæssige årsager vil tidligere sikkerhedskopier af den ikke-krypterede tegnebogsfil blive ubrugelig i det øjeblik, du starter med at anvende den nye, krypterede tegnebog.</translation> + <translation>VIGTIGT: Enhver tidligere sikkerhedskopi, som du har lavet af tegnebogsfilen, bør blive erstattet af den nyligt genererede, krypterede tegnebogsfil. Af sikkerhedsmæssige årsager vil tidligere sikkerhedskopier af den ikke-krypterede tegnebogsfil blive ubrugelige i det øjeblik, du starter med at anvende den nye, krypterede tegnebog.</translation> </message> <message> <source>Warning: The Caps Lock key is on!</source> @@ -261,11 +261,11 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open <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> @@ -309,19 +309,19 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>&Options...</source> - <translation>Indstillinger...</translation> + <translation>Indstillinger …</translation> </message> <message> <source>&Encrypt Wallet...</source> - <translation>Krypter tegnebog...</translation> + <translation>Kryptér tegnebog …</translation> </message> <message> <source>&Backup Wallet...</source> - <translation>Sikkerhedskopier 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> @@ -337,11 +337,11 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </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> @@ -349,7 +349,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Modify configuration options for Bitcoin</source> - <translation>Rediger konfigurationsindstillinger af Bitcoin</translation> + <translation>Redigér konfigurationsindstillinger for Bitcoin</translation> </message> <message> <source>Backup wallet to another location</source> @@ -369,7 +369,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>&Verify message...</source> - <translation>Verificér besked...</translation> + <translation>Verificér besked …</translation> </message> <message> <source>Bitcoin</source> @@ -397,7 +397,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Encrypt the private keys that belong to your wallet</source> - <translation>Krypter de private nøgler, der hører til din tegnebog</translation> + <translation>Kryptér de private nøgler, der hører til din tegnebog</translation> </message> <message> <source>Sign messages with your Bitcoin addresses to prove you own them</source> @@ -405,7 +405,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Verify messages to ensure they were signed with specified Bitcoin addresses</source> - <translation>Verificér beskeder for at sikre, at de er underskrevet med de(n) angivne Bitcoin-adresse(r)</translation> + <translation>Verificér beskeder for at sikre, at de er underskrevet med de angivne Bitcoin-adresser</translation> </message> <message> <source>&File</source> @@ -413,7 +413,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>&Settings</source> - <translation>Indstillinger</translation> + <translation>Opsætning</translation> </message> <message> <source>&Help</source> @@ -465,11 +465,11 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message numerus="yes"> <source>%n active connection(s) to Bitcoin network</source> - <translation><numerusform>%n aktiv(e) forbindelse(r) til Bitcoin-netværket</numerusform><numerusform>%n aktiv(e) forbindelse(r) til Bitcoin-netværket</numerusform></translation> + <translation><numerusform>%n aktiv forbindelse til Bitcoin-netværket</numerusform><numerusform>%n aktive forbindelser til Bitcoin-netværket</numerusform></translation> </message> <message> <source>No block source available...</source> - <translation>Ingen blokkilde tilgængelig...</translation> + <translation>Ingen blokkilde tilgængelig …</translation> </message> <message> <source>Processed %1 of %2 (estimated) blocks of transaction history.</source> @@ -529,7 +529,7 @@ Produktet indeholder software som er udviklet af OpenSSL Project til brug i Open </message> <message> <source>Catching up...</source> - <translation>Indhenter...</translation> + <translation>Indhenter …</translation> </message> <message> <source>Sent transaction</source> @@ -806,7 +806,7 @@ Adresse: %4 <name>EditAddressDialog</name> <message> <source>Edit Address</source> - <translation>Rediger adresse</translation> + <translation>Redigér adresse</translation> </message> <message> <source>&Label</source> @@ -834,11 +834,11 @@ Adresse: %4 </message> <message> <source>Edit receiving address</source> - <translation>Rediger modtagelsesadresse</translation> + <translation>Redigér modtagelsesadresse</translation> </message> <message> <source>Edit sending address</source> - <translation>Rediger afsendelsesadresse</translation> + <translation>Redigér afsendelsesadresse</translation> </message> <message> <source>The entered address "%1" is already in the address book.</source> @@ -861,7 +861,7 @@ Adresse: %4 <name>FreespaceChecker</name> <message> <source>A new data directory will be created.</source> - <translation type="unfinished"/> + <translation>En ny datamappe vil blive oprettet.</translation> </message> <message> <source>name</source> @@ -869,15 +869,15 @@ Adresse: %4 </message> <message> <source>Directory already exists. Add %1 if you intend to create a new directory here.</source> - <translation type="unfinished"/> + <translation>Mappe eksisterer allerede. Tilføj %1, hvis du vil oprette en ny mappe her.</translation> </message> <message> <source>Path already exists, and is not a directory.</source> - <translation type="unfinished"/> + <translation>Sti eksisterer allerede og er ikke en mappe.</translation> </message> <message> <source>Cannot create data directory here.</source> - <translation type="unfinished"/> + <translation>Kan ikke oprette en mappe her.</translation> </message> </context> <context> @@ -947,11 +947,11 @@ Adresse: %4 </message> <message> <source>Use the default data directory</source> - <translation type="unfinished"/> + <translation>Brug standardmappen for data</translation> </message> <message> <source>Use a custom data directory:</source> - <translation type="unfinished"/> + <translation>Brug tilpasset mappe for data:</translation> </message> <message> <source>Bitcoin</source> @@ -967,11 +967,11 @@ Adresse: %4 </message> <message> <source>GB of free space available</source> - <translation type="unfinished"/> + <translation>GB fri plads tilgængelig</translation> </message> <message> <source>(of %1GB needed)</source> - <translation type="unfinished"/> + <translation>(ud af %1 GB behøvet)</translation> </message> </context> <context> @@ -1017,11 +1017,11 @@ Adresse: %4 </message> <message> <source>Automatically start Bitcoin after logging in to the system.</source> - <translation>Start Bitcoin automatisk, når der logges ind på systemet</translation> + <translation>Start Bitcoin automatisk, når der logges ind på systemet.</translation> </message> <message> <source>&Start Bitcoin on system login</source> - <translation>Start Bitcoin, når systemet startes</translation> + <translation>Start Bitcoin ved systemlogin</translation> </message> <message> <source>Size of &database cache</source> @@ -1097,11 +1097,11 @@ Adresse: %4 </message> <message> <source>Automatically open the Bitcoin client port on the router. This only works when your router supports UPnP and it is enabled.</source> - <translation>Åbn Bitcoin-klientens port på routeren automatisk. Dette virker kun, når din router understøtter UPnP og UPnP er aktiveret.</translation> + <translation>Åbn automatisk Bitcoin-klientens port på routeren. Dette virker kun, når din router understøtter UPnP, og UPnP er aktiveret.</translation> </message> <message> <source>Map port using &UPnP</source> - <translation>Konfigurer port vha. UPnP</translation> + <translation>Konfigurér port vha. UPnP</translation> </message> <message> <source>Proxy &IP:</source> @@ -1113,7 +1113,7 @@ Adresse: %4 </message> <message> <source>Port of the proxy (e.g. 9050)</source> - <translation>Porten på proxyen (f.eks. 9050)</translation> + <translation>Port for proxyen (fx 9050)</translation> </message> <message> <source>SOCKS &Version:</source> @@ -1121,7 +1121,7 @@ Adresse: %4 </message> <message> <source>SOCKS version of the proxy (e.g. 5)</source> - <translation>SOCKS-version af proxyen (f.eks. 5)</translation> + <translation>SOCKS-version for proxyen (fx 5)</translation> </message> <message> <source>&Window</source> @@ -1133,15 +1133,15 @@ Adresse: %4 </message> <message> <source>&Minimize to the tray instead of the taskbar</source> - <translation>Minimer til statusfeltet i stedet for proceslinjen</translation> + <translation>Minimér til statusfeltet i stedet for proceslinjen</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 Quit in the menu.</source> - <translation>Minimer i stedet for at afslutte programmet, når vinduet lukkes. Når denne indstilling er valgt, vil programmet kun blive lukket, når du har valgt Afslut i menuen.</translation> + <translation>Minimér i stedet for at afslutte programmet, når vinduet lukkes. Når denne indstilling er valgt, vil programmet kun blive lukket, når du har valgt Afslut i menuen.</translation> </message> <message> <source>M&inimize on close</source> - <translation>Minimer ved lukning</translation> + <translation>Minimér ved lukning</translation> </message> <message> <source>&Display</source> @@ -1149,11 +1149,11 @@ Adresse: %4 </message> <message> <source>User Interface &language:</source> - <translation>Brugergrænsefladesprog:</translation> + <translation>Sprog for brugergrænseflade:</translation> </message> <message> <source>The user interface language can be set here. This setting will take effect after restarting Bitcoin.</source> - <translation>Brugergrænsefladesproget kan angives her. Denne indstilling træder først i kraft, når Bitcoin genstartes.</translation> + <translation>Sproget for brugergrænsefladen kan angives her. Denne indstilling træder først i kraft, når Bitcoin genstartes.</translation> </message> <message> <source>&Unit to show amounts in:</source> @@ -1161,7 +1161,7 @@ Adresse: %4 </message> <message> <source>Choose the default subdivision unit to show in the interface and when sending coins.</source> - <translation>Vælg den standard underopdelingsenhed, som skal vises i brugergrænsefladen og ved afsendelse af bitcoins.</translation> + <translation>Vælg standard for underopdeling af enhed, som skal vises i brugergrænsefladen og ved afsendelse af bitcoins.</translation> </message> <message> <source>Whether to show Bitcoin addresses in the transaction list or not.</source> @@ -1181,7 +1181,7 @@ Adresse: %4 </message> <message> <source>&Cancel</source> - <translation>Annuller</translation> + <translation>Annullér</translation> </message> <message> <source>default</source> @@ -1209,7 +1209,7 @@ Adresse: %4 </message> <message> <source>The supplied proxy address is invalid.</source> - <translation>Ugyldig proxy-adresse</translation> + <translation>Den angivne proxy-adresse er ugyldig.</translation> </message> </context> <context> @@ -1240,7 +1240,7 @@ Adresse: %4 </message> <message> <source>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</source> - <translation>Total transaktioner, som ikke er blevet bekræftet endnu, og som ikke endnu er en del af den nuværende saldo</translation> + <translation>Total saldo for transaktioner, som ikke er blevet bekræftet endnu, og som ikke endnu er en del af den tilgængelige saldo</translation> </message> <message> <source>Immature:</source> @@ -1283,7 +1283,7 @@ Adresse: %4 </message> <message> <source>Payment request error</source> - <translation>Fejl i betalingsforespørgelse</translation> + <translation>Fejl i betalingsforespørgsel</translation> </message> <message> <source>Cannot start bitcoin: click-to-pay handler</source> @@ -1335,7 +1335,7 @@ Adresse: %4 </message> <message> <source>Network request error</source> - <translation type="unfinished"/> + <translation>Fejl i netværksforespørgsel</translation> </message> </context> <context> @@ -1346,7 +1346,7 @@ Adresse: %4 </message> <message> <source>Error: Specified data directory "%1" does not exist.</source> - <translation type="unfinished"/> + <translation>Fejl: Angivet datamappe "%1" eksisterer ikke.</translation> </message> <message> <source>Error: Cannot parse configuration file: %1. Only use key=value syntax.</source> @@ -1354,7 +1354,7 @@ Adresse: %4 </message> <message> <source>Error: Invalid combination of -regtest and -testnet.</source> - <translation type="unfinished"/> + <translation>Fejl: Ugyldig kombination af -regtest og -testnet.</translation> </message> <message> <source>Bitcoin Core didn't yet exit safely...</source> @@ -1362,7 +1362,7 @@ Adresse: %4 </message> <message> <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation>Indtast en Bitcoin-adresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> + <translation>Indtast en Bitcoin-adresse (fx 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> </context> <context> @@ -1416,7 +1416,7 @@ Adresse: %4 </message> <message> <source>Startup time</source> - <translation>Opstartstid</translation> + <translation>Opstartstidspunkt</translation> </message> <message> <source>Network</source> @@ -1484,7 +1484,7 @@ Adresse: %4 </message> <message> <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source> - <translation>Åbn Bitcoin-fejlsøgningslogfilen fra det nuværende datakatalog. Dette kan tage nogle få sekunder for en store logfiler.</translation> + <translation>Åbn Bitcoin-fejlsøgningslogfilen fra den nuværende datamappe. Dette kan tage nogle få sekunder for store logfiler.</translation> </message> <message> <source>Clear console</source> @@ -1492,11 +1492,11 @@ Adresse: %4 </message> <message> <source>Welcome to the Bitcoin RPC console.</source> - <translation>Velkommen til Bitcoin RPC-konsollen</translation> + <translation>Velkommen til Bitcoin RPC-konsollen.</translation> </message> <message> <source>Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen.</source> - <translation>Brug op og ned-piletasterne til at navigere historikken og <b>Ctrl-L</b> til at rydde skærmen.</translation> + <translation>Brug op- og ned-piletasterne til at navigere i historikken og <b>Ctrl-L</b> til at rydde skærmen.</translation> </message> <message> <source>Type <b>help</b> for an overview of available commands.</source> @@ -1852,11 +1852,11 @@ Adresse: %4 </message> <message> <source>The total exceeds your balance when the %1 transaction fee is included.</source> - <translation>Totalen overstiger din saldo, når %1 transaktionsgebyr er inkluderet.</translation> + <translation>Totalen overstiger din saldo, når transaktionsgebyret på %1 er inkluderet.</translation> </message> <message> <source>Duplicate address found, can only send to each address once per send operation.</source> - <translation>Duplikeret adresse fundet. Du kan kun sende til hver adresse en gang pr. afsendelse.</translation> + <translation>Duplikeret adresse fundet. Du kan kun sende til hver adresse én gang pr. afsendelse.</translation> </message> <message> <source>Transaction creation failed!</source> @@ -1880,7 +1880,7 @@ Adresse: %4 </message> <message> <source>Are you sure you want to send?</source> - <translation>Er du sikker på at du vil sende?</translation> + <translation>Er du sikker på, at du vil sende?</translation> </message> <message> <source>added as transaction fee</source> @@ -1888,7 +1888,7 @@ Adresse: %4 </message> <message> <source>Payment request expired</source> - <translation>Betalingsforespørgsel udløb</translation> + <translation>Betalingsforespørgsel udløbet</translation> </message> <message> <source>Invalid payment address %1</source> @@ -1907,7 +1907,7 @@ Adresse: %4 </message> <message> <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation>Bitcoin-adressen som betalingen skal sendes til (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> + <translation>Bitcoin-adressen som betalingen skal sendes til (fx 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> <message> <source>Enter a label for this address to add it to your address book</source> @@ -1997,7 +1997,7 @@ Adresse: %4 </message> <message> <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation>Bitcoin-adressen som beskeden skal underskrives med (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> + <translation>Bitcoin-adressen som beskeden skal underskrives med (fx 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> <message> <source>Choose previously used address</source> @@ -2017,7 +2017,7 @@ Adresse: %4 </message> <message> <source>Enter the message you want to sign here</source> - <translation>Indtast beskeden, du ønsker at underskrive</translation> + <translation>Indtast her beskeden, du ønsker at underskrive</translation> </message> <message> <source>Signature</source> @@ -2025,7 +2025,7 @@ Adresse: %4 </message> <message> <source>Copy the current signature to the system clipboard</source> - <translation>Kopier den nuværende underskrift til systemets udklipsholder</translation> + <translation>Kopiér den nuværende underskrift til systemets udklipsholder</translation> </message> <message> <source>Sign the message to prove you own this Bitcoin address</source> @@ -2049,11 +2049,11 @@ Adresse: %4 </message> <message> <source>Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack.</source> - <translation>Indtast den underskrevne adresse, beskeden (inkluder linjeskift, mellemrum mv. nøjagtigt, som de fremgår) og underskriften for at verificére beskeden. Vær forsigtig med ikke at lægge mere i underskriften end besked selv, så du undgår at blive narret af et man-in-the-middle-angreb.</translation> + <translation>Indtast herunder den underskrivende adresse, beskeden (inkludér linjeskift, mellemrum mv. nøjagtigt, som de fremgår) og underskriften for at verificere beskeden. Vær forsigtig med ikke at lægge mere i underskriften end besked selv, så du undgår at blive narret af et man-in-the-middle-angreb.</translation> </message> <message> <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation>Bitcoin-adressen som beskeden er underskrevet med (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> + <translation>Bitcoin-adressen som beskeden er underskrevet med (fx 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> <message> <source>Verify the message to ensure it was signed with the specified Bitcoin address</source> @@ -2069,7 +2069,7 @@ Adresse: %4 </message> <message> <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation>Indtast en Bitcoin-adresse (f.eks. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> + <translation>Indtast en Bitcoin-adresse (fx 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> <message> <source>Click "Sign Message" to generate signature</source> @@ -2081,7 +2081,7 @@ Adresse: %4 </message> <message> <source>Please check the address and try again.</source> - <translation>Tjek venligst adressen, og forsøg igen.</translation> + <translation>Tjek venligst adressen og forsøg igen.</translation> </message> <message> <source>The entered address does not refer to a key.</source> @@ -2117,11 +2117,11 @@ Adresse: %4 </message> <message> <source>Message verification failed.</source> - <translation>Verificéring af besked mislykkedes.</translation> + <translation>Verificering af besked mislykkedes.</translation> </message> <message> <source>Message verified.</source> - <translation>Besked verificéret.</translation> + <translation>Besked verificeret.</translation> </message> </context> <context> @@ -2136,7 +2136,7 @@ Adresse: %4 </message> <message> <source>[testnet]</source> - <translation>[testnet]</translation> + <translation>[testnetværk]</translation> </message> </context> <context> @@ -2174,7 +2174,7 @@ Adresse: %4 </message> <message numerus="yes"> <source>, broadcast through %n node(s)</source> - <translation><numerusform>, transmitteret igennem %n knude(r)</numerusform><numerusform>, transmitteret igennem %n knude(r)</numerusform></translation> + <translation><numerusform>, transmitteret igennem %n knude</numerusform><numerusform>, transmitteret igennem %n knuder</numerusform></translation> </message> <message> <source>Date</source> @@ -2210,7 +2210,7 @@ Adresse: %4 </message> <message numerus="yes"> <source>matures in %n more block(s)</source> - <translation><numerusform>modner efter yderligere %n blok(ke)</numerusform><numerusform>modner efter yderligere %n blok(ke)</numerusform></translation> + <translation><numerusform>modner efter yderligere %n blok</numerusform><numerusform>modner efter yderligere %n blokke</numerusform></translation> </message> <message> <source>not accepted</source> @@ -2238,7 +2238,7 @@ Adresse: %4 </message> <message> <source>Transaction ID</source> - <translation>Transaktionens ID</translation> + <translation>Transaktions-ID</translation> </message> <message> <source>Merchant</source> @@ -2396,7 +2396,7 @@ Adresse: %4 </message> <message> <source>Amount removed from or added to balance.</source> - <translation>Beløb fjernet eller tilføjet balance.</translation> + <translation>Beløb trukket fra eller tilføjet balance.</translation> </message> </context> <context> @@ -2427,7 +2427,7 @@ Adresse: %4 </message> <message> <source>Range...</source> - <translation>Interval...</translation> + <translation>Interval …</translation> </message> <message> <source>Received with</source> @@ -2459,23 +2459,23 @@ Adresse: %4 </message> <message> <source>Copy address</source> - <translation>Kopier adresse</translation> + <translation>Kopiér adresse</translation> </message> <message> <source>Copy label</source> - <translation>Kopier mærkat</translation> + <translation>Kopiér mærkat</translation> </message> <message> <source>Copy amount</source> - <translation>Kopier beløb</translation> + <translation>Kopiér beløb</translation> </message> <message> <source>Copy transaction ID</source> - <translation>Kopier transaktionens ID</translation> + <translation>Kopiér transaktions-ID</translation> </message> <message> <source>Edit label</source> - <translation>Rediger mærkat</translation> + <translation>Redigér mærkat</translation> </message> <message> <source>Show transaction details</source> @@ -2560,7 +2560,7 @@ Adresse: %4 <name>WalletView</name> <message> <source>&Export</source> - <translation>Eksporter</translation> + <translation>Eksportér</translation> </message> <message> <source>Export the data in the current tab to a file</source> @@ -2568,7 +2568,7 @@ Adresse: %4 </message> <message> <source>Backup Wallet</source> - <translation>Sikkerhedskopier tegnebog</translation> + <translation>Sikkerhedskopiér tegnebog</translation> </message> <message> <source>Wallet Data (*.dat)</source> @@ -2576,7 +2576,7 @@ Adresse: %4 </message> <message> <source>Backup Failed</source> - <translation>Foretagelse af sikkerhedskopi fejlede</translation> + <translation>Sikkerhedskopiering mislykkedes</translation> </message> <message> <source>There was an error trying to save the wallet data to %1.</source> @@ -2588,7 +2588,7 @@ Adresse: %4 </message> <message> <source>Backup Successful</source> - <translation>Sikkerhedskopieret problemfri</translation> + <translation>Sikkerhedskopiering problemfri</translation> </message> </context> <context> @@ -2619,7 +2619,7 @@ Adresse: %4 </message> <message> <source>Specify data directory</source> - <translation>Angiv datakatalog</translation> + <translation>Angiv datamappe</translation> </message> <message> <source>Listen for connections on <port> (default: 8333 or testnet: 18333)</source> @@ -2631,7 +2631,7 @@ Adresse: %4 </message> <message> <source>Connect to a node to retrieve peer addresses, and disconnect</source> - <translation>Forbind til en knude for at modtage adresse, og afbryd</translation> + <translation>Forbind til en knude for at modtage adresser på andre knuder, og afbryd derefter</translation> </message> <message> <source>Specify your own public address</source> @@ -2655,7 +2655,7 @@ Adresse: %4 </message> <message> <source>Accept command line and JSON-RPC commands</source> - <translation>Accepter kommandolinje- og JSON-RPC-kommandoer</translation> + <translation>Acceptér kommandolinje- og JSON-RPC-kommandoer</translation> </message> <message> <source>Bitcoin Core RPC client version</source> @@ -2663,7 +2663,7 @@ Adresse: %4 </message> <message> <source>Run in the background as a daemon and accept commands</source> - <translation>Kør i baggrunden som en service, og accepter kommandoer</translation> + <translation>Kør i baggrunden som en service, og acceptér kommandoer</translation> </message> <message> <source>Use the test network</source> @@ -2671,7 +2671,7 @@ Adresse: %4 </message> <message> <source>Accept connections from outside (default: 1 if no -proxy or -connect)</source> - <translation>Accepter forbindelser udefra (standard: 1 hvis hverken -proxy eller -connect)</translation> + <translation>Acceptér forbindelser udefra (standard: 1 hvis hverken -proxy eller -connect)</translation> </message> <message> <source>%s, you must set a rpcpassword in the configuration file: @@ -2694,7 +2694,7 @@ rpcpassword=%s Brugernavnet og adgangskode MÅ IKKE være det samme. Hvis filen ikke eksisterer, opret den og giv ingen andre end ejeren læserettighed. Det anbefales også at angive alertnotify, så du påmindes om problemer; -f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com +fx: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </translation> </message> <message> @@ -2731,7 +2731,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds!</source> - <translation>Fejl: Denne transaktion kræver et transaktionsgebyr på minimum %s pga. dens størrelse, kompleksitet eller anvendelse af nyligt modtagne bitcoins!</translation> + <translation>Fejl: Denne transaktion kræver et transaktionsgebyr på minimum %s pga. dens beløb, kompleksitet eller anvendelse af nyligt modtagne bitcoins!</translation> </message> <message> <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source> @@ -2783,11 +2783,11 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> - <translation type="unfinished"/> + <translation>Advarsel: Netværket ser ikke ud til at være fuldt ud enige! Enkelte minere ser ud til at opleve problemer.</translation> </message> <message> <source>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</source> - <translation type="unfinished"/> + <translation>Advarsel: Vi ser ikke ud til at være fuldt ud enige med andre noder! Du kan være nødt til at opgradere, eller andre noder 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> @@ -2795,7 +2795,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </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.net gemt som wallet.{timestamp}.bak i %s; hvis din saldo eller dine transaktioner er forkert, bør du genskabe fra en sikkerhedskopi.</translation> + <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> <message> <source>(default: 1)</source> @@ -2947,7 +2947,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Find peers using DNS lookup (default: 1 unless -connect)</source> - <translation>Find ligeværdige ved DNS-opslag (standard: 1 hvis ikke -connect)</translation> + <translation>Find andre knuder ved DNS-opslag (standard: 1 hvis ikke -connect)</translation> </message> <message> <source>Force safe mode (default: 0)</source> @@ -2955,11 +2955,11 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Generate coins (default: 0)</source> - <translation>Generer bitcoins (standard: 0)</translation> + <translation>Generér bitcoins (standard: 0)</translation> </message> <message> <source>How many blocks to check at startup (default: 288, 0 = all)</source> - <translation>Antal blokke som tjekkes ved opstart (0=alle, standard: 288)</translation> + <translation>Antal blokke som tjekkes ved opstart (standard: 288, 0=alle)</translation> </message> <message> <source>If <category> is not supplied, output all debugging information.</source> @@ -2971,7 +2971,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Incorrect or no genesis block found. Wrong datadir for network?</source> - <translation type="unfinished"/> + <translation>Ukorrekt eller ingen tilblivelsesblok fundet. Forkert datamappe for netværk?</translation> </message> <message> <source>Invalid -onion address: '%s'</source> @@ -3011,7 +3011,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Specify wallet file (within data directory)</source> - <translation type="unfinished"/> + <translation>Angiv tegnebogsfil (inden for datamappe)</translation> </message> <message> <source>Spend unconfirmed change when sending transactions (default: 1)</source> @@ -3027,11 +3027,11 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </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>Wait for RPC server to start</source> @@ -3039,7 +3039,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Wallet %s resides outside data directory %s</source> - <translation type="unfinished"/> + <translation>Tegnebog %1 findes uden for datamappe %s</translation> </message> <message> <source>Wallet options:</source> @@ -3051,7 +3051,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>You need to rebuild the database using -reindex to change -txindex</source> - <translation type="unfinished"/> + <translation>Du er nødt til at genopbygge databasen ved hjælp af -reindex for at ændre -txindex</translation> </message> <message> <source>Imports blocks from external blk000??.dat file</source> @@ -3063,7 +3063,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </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 type="unfinished"/> + <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>Output debugging information (default: 0, supplying <category> is optional)</source> @@ -3079,11 +3079,11 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> - <translation>Ugyldigt beløb til -minrelaytxfee=<beløb>:'%s'</translation> + <translation>Ugyldigt beløb til -minrelaytxfee=<beløb>: "%s"</translation> </message> <message> <source>Invalid amount for -mintxfee=<amount>: '%s'</source> - <translation>Ugyldigt beløb til -mintxfee=<beløb>:'%s'</translation> + <translation>Ugyldigt beløb til -mintxfee=<beløb>: "%s"</translation> </message> <message> <source>Limit size of signature cache to <n> entries (default: 50000)</source> @@ -3099,15 +3099,15 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)</source> - <translation>Maksimum for modtagelsesbuffer pr. forbindelse, <n>*1000 bytes (standard: 5000)</translation> + <translation>Maksimum for modtagelsesbuffer pr. forbindelse, <n>*1000 byte (standard: 5000)</translation> </message> <message> <source>Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)</source> - <translation>Maksimum for afsendelsesbuffer pr. forbindelse, <n>*1000 bytes (standard: 1000)</translation> + <translation>Maksimum for afsendelsesbuffer pr. forbindelse, <n>*1000 byte (standard: 1000)</translation> </message> <message> <source>Only accept block chain matching built-in checkpoints (default: 1)</source> - <translation>Accepter kun blokkæde, som matcher indbyggede kontrolposter (standard: 1)</translation> + <translation>Acceptér kun blokkæde, som matcher indbyggede kontrolposter (standard: 1)</translation> </message> <message> <source>Only connect to nodes in network <net> (IPv4, IPv6 or Tor)</source> @@ -3155,7 +3155,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Set minimum block size in bytes (default: 0)</source> - <translation>Angiv minimumsblokstørrelse i bytes (standard: 0)</translation> + <translation>Angiv minimumsblokstørrelse i byte (standard: 0)</translation> </message> <message> <source>Sets the DB_PRIVATE flag in the wallet db environment (default: 1)</source> @@ -3203,11 +3203,11 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Use UPnP to map the listening port (default: 0)</source> - <translation>Forsøg at bruge UPnP til at konfigurere den lyttende port (standard: 0)</translation> + <translation>Brug UPnP til at konfigurere den lyttende port (standard: 0)</translation> </message> <message> <source>Use UPnP to map the listening port (default: 1 when listening)</source> - <translation>Forsøg at bruge UPnP til at konfigurere den lyttende port (standard: 1 når lytter)</translation> + <translation>Brug UPnP til at konfigurere den lyttende port (standard: 1 under lytning)</translation> </message> <message> <source>Username for JSON-RPC connections</source> @@ -3291,7 +3291,7 @@ f.eks.: 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> @@ -3311,11 +3311,11 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Invalid -proxy address: '%s'</source> - <translation>Ugyldig -proxy adresse: '%s'</translation> + <translation>Ugyldig -proxy adresse: "%s"</translation> </message> <message> <source>Unknown network specified in -onlynet: '%s'</source> - <translation>Ukendt netværk anført i -onlynet: '%s'</translation> + <translation>Ukendt netværk anført i -onlynet: "%s"</translation> </message> <message> <source>Unknown -socks proxy version requested: %i</source> @@ -3323,15 +3323,15 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com </message> <message> <source>Cannot resolve -bind address: '%s'</source> - <translation>Kan ikke finde -bind adressen: '%s'</translation> + <translation>Kan ikke finde -bind adressen: "%s"</translation> </message> <message> <source>Cannot resolve -externalip address: '%s'</source> - <translation>Kan ikke finde -externalip adressen: '%s'</translation> + <translation>Kan ikke finde -externalip adressen: "%s"</translation> </message> <message> <source>Invalid amount for -paytxfee=<amount>: '%s'</source> - <translation>Ugyldigt beløb for -paytxfee=<amount>: '%s'</translation> + <translation>Ugyldigt beløb for -paytxfee=<beløb>: "%s"</translation> </message> <message> <source>Invalid amount</source> @@ -3343,7 +3343,7 @@ f.eks.: 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> @@ -3351,7 +3351,7 @@ f.eks.: 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> @@ -3363,7 +3363,7 @@ f.eks.: 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> @@ -3381,7 +3381,7 @@ f.eks.: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo.com <source>You must set rpcpassword=<password> in the configuration file: %s If the file does not exist, create it with owner-readable-only file permissions.</source> - <translation>Du skal angive rpcpassword=<password> i konfigurationsfilen: + <translation>Du skal angive rpcpassword=<adgangskode> i konfigurationsfilen: %s Hvis filen ikke eksisterer, opret den og giv ingen andre end ejeren læserettighed.</translation> </message> diff --git a/src/qt/locale/bitcoin_es.ts b/src/qt/locale/bitcoin_es.ts index 8ca8360ef6..1ed40a77c2 100644 --- a/src/qt/locale/bitcoin_es.ts +++ b/src/qt/locale/bitcoin_es.ts @@ -320,7 +320,7 @@ Eric Young (eay@cryptsoft.com) y el software UPnP escrito por Thomas Bernard.</t </message> <message> <source>&Backup Wallet...</source> - <translation>%Guardar copia del monedero...</translation> + <translation>&Guardar copia del monedero...</translation> </message> <message> <source>&Change Passphrase...</source> @@ -1052,11 +1052,11 @@ Dirección: %4 </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 type="unfinished"/> + <translation>URLs de terceros (por ejemplo, un explorador de bloques) que aparecen en la pestaña de transacciones como items del menú contextual. El %s en la URL es reemplazado por el hash de la transacción. Se pueden separar múltiples URLs por una barra vertical |.</translation> </message> <message> <source>Third party transaction URLs</source> - <translation type="unfinished"/> + <translation>URLs de transacciones de terceros</translation> </message> <message> <source>Active command-line options that override above options:</source> @@ -1977,8 +1977,7 @@ Dirección: %4 <name>ShutdownWindow</name> <message> <source>Bitcoin Core is shutting down...</source> - <translation>Bitcoin Core se está cerrando... -</translation> + <translation>Bitcoin Core se está cerrando...</translation> </message> <message> <source>Do not shut down the computer until this window disappears.</source> diff --git a/src/qt/locale/bitcoin_fi.ts b/src/qt/locale/bitcoin_fi.ts index ece70f6075..dc72359590 100644 --- a/src/qt/locale/bitcoin_fi.ts +++ b/src/qt/locale/bitcoin_fi.ts @@ -1053,7 +1053,7 @@ Osoite: %4</translation> </message> <message> <source>Third party transaction URLs</source> - <translation type="unfinished"/> + <translation>Kolmannen osapuolen rahansiirto URL:t</translation> </message> <message> <source>Active command-line options that override above options:</source> diff --git a/src/qt/locale/bitcoin_id_ID.ts b/src/qt/locale/bitcoin_id_ID.ts index c4dee5f92d..2b9685f6a0 100644 --- a/src/qt/locale/bitcoin_id_ID.ts +++ b/src/qt/locale/bitcoin_id_ID.ts @@ -433,7 +433,7 @@ Produk ini termasuk software yang dibangun oleh Proyek OpenSSL untuk Toolkit Ope </message> <message> <source>Request payments (generates QR codes and bitcoin: URIs)</source> - <translation type="unfinished"/> + <translation>Permintaan pembayaran (membangkitkan kode QR dan bitcoin: URIs)</translation> </message> <message> <source>&About Bitcoin Core</source> @@ -473,7 +473,7 @@ Produk ini termasuk software yang dibangun oleh Proyek OpenSSL untuk Toolkit Ope </message> <message> <source>Processed %1 of %2 (estimated) blocks of transaction history.</source> - <translation type="unfinished"/> + <translation>Proses % 1 dar i% 2 (perkiraan) blok catatan transaksi</translation> </message> <message> <source>Processed %1 blocks of transaction history.</source> @@ -509,7 +509,7 @@ Produk ini termasuk software yang dibangun oleh Proyek OpenSSL untuk Toolkit Ope </message> <message> <source>Transactions after this will not yet be visible.</source> - <translation type="unfinished"/> + <translation>Transaksi setelah ini tidak akan ditampilkan</translation> </message> <message> <source>Error</source> @@ -561,7 +561,7 @@ Alamat: %4 </message> <message> <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source> - <translation type="unfinished"/> + <translation>Terjadi kesalahan fatal. Bitcoin tidak bisa lagi meneruskan dengan aman dan akan berhenti.</translation> </message> </context> <context> @@ -611,15 +611,15 @@ Alamat: %4 </message> <message> <source>(un)select all</source> - <translation type="unfinished"/> + <translation>(Tidak)memilih semua</translation> </message> <message> <source>Tree mode</source> - <translation type="unfinished"/> + <translation>mode pohon</translation> </message> <message> <source>List mode</source> - <translation type="unfinished"/> + <translation>Mode daftar</translation> </message> <message> <source>Amount</source> @@ -663,11 +663,11 @@ Alamat: %4 </message> <message> <source>Lock unspent</source> - <translation type="unfinished"/> + <translation>Kunci terpakai.</translation> </message> <message> <source>Unlock unspent</source> - <translation type="unfinished"/> + <translation>Membuka kunci terpakai</translation> </message> <message> <source>Copy quantity</source> @@ -1350,7 +1350,7 @@ Alamat: %4 </message> <message> <source>Error: Cannot parse configuration file: %1. Only use key=value syntax.</source> - <translation type="unfinished"/> + <translation>Kesalahan: Tidak dapat memproses pengaturan berkas: %1. Hanya menggunakan kunci= nilai sintak.</translation> </message> <message> <source>Error: Invalid combination of -regtest and -testnet.</source> @@ -1408,7 +1408,7 @@ Alamat: %4 </message> <message> <source>General</source> - <translation type="unfinished"/> + <translation>Umum</translation> </message> <message> <source>Using OpenSSL version</source> @@ -1460,7 +1460,7 @@ Alamat: %4 </message> <message> <source>&Clear</source> - <translation type="unfinished"/> + <translation>&Kosongkan</translation> </message> <message> <source>Totals</source> @@ -1504,31 +1504,31 @@ Alamat: %4 </message> <message> <source>%1 B</source> - <translation type="unfinished"/> + <translation>%1 B</translation> </message> <message> <source>%1 KB</source> - <translation type="unfinished"/> + <translation>%1 KB</translation> </message> <message> <source>%1 MB</source> - <translation type="unfinished"/> + <translation>%1 MB</translation> </message> <message> <source>%1 GB</source> - <translation type="unfinished"/> + <translation>%1 GB</translation> </message> <message> <source>%1 m</source> - <translation type="unfinished"/> + <translation>%1 menit</translation> </message> <message> <source>%1 h</source> - <translation type="unfinished"/> + <translation>%1 Jam</translation> </message> <message> <source>%1 h %2 m</source> - <translation type="unfinished"/> + <translation>%1 Jam %2 menit</translation> </message> </context> <context> @@ -1551,7 +1551,7 @@ Alamat: %4 </message> <message> <source>R&euse an existing receiving address (not recommended)</source> - <translation type="unfinished"/> + <translation>Gunakan lagi alamat penerima yang ada (tidak disarankan)</translation> </message> <message> <source>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</source> @@ -1716,7 +1716,7 @@ Alamat: %4 </message> <message> <source>automatically selected</source> - <translation type="unfinished"/> + <translation>Pemilihan otomatis</translation> </message> <message> <source>Insufficient funds!</source> @@ -1947,7 +1947,7 @@ Alamat: %4 </message> <message> <source>This is a verified payment request.</source> - <translation type="unfinished"/> + <translation>Permintaan pembayaran terverifikasi.</translation> </message> <message> <source>Enter a label for this address to add it to the list of used addresses</source> @@ -1959,7 +1959,7 @@ Alamat: %4 </message> <message> <source>This is an unverified payment request.</source> - <translation type="unfinished"/> + <translation>Permintaan pembayaran tidak terverifikasi.</translation> </message> <message> <source>Pay To:</source> @@ -2005,7 +2005,7 @@ Alamat: %4 </message> <message> <source>Alt+A</source> - <translation>Alt+J</translation> + <translation>Alt+A</translation> </message> <message> <source>Paste address from clipboard</source> @@ -2726,7 +2726,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source> - <translation type="unfinished"/> + <translation>Jalankan perintah ketika perubahan transaksi dompet (%s di cmd digantikan oleh TxID)</translation> </message> <message> <source>Fees smaller than this are considered zero fee (for transaction creation) (default:</source> @@ -2790,11 +2790,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>(default: 1)</source> - <translation type="unfinished"/> + <translation>(pengaturan awal: 1)</translation> </message> <message> <source>(default: wallet.dat)</source> - <translation type="unfinished"/> + <translation>(pengaturan awal: wallet.dat)</translation> </message> <message> <source><category> can be:</source> @@ -2830,7 +2830,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Connection options:</source> - <translation type="unfinished"/> + <translation>Pilih koneksi:</translation> </message> <message> <source>Corrupted block database detected</source> @@ -2858,11 +2858,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Error initializing block database</source> - <translation type="unfinished"/> + <translation>Kesalahan menginisialisasi database blok</translation> </message> <message> <source>Error initializing wallet database environment %s!</source> - <translation type="unfinished"/> + <translation>Kesalahan menginisialisasi dompet pada database%s!</translation> </message> <message> <source>Error loading block database</source> @@ -2958,7 +2958,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Importing...</source> - <translation type="unfinished"/> + <translation>mengimpor...</translation> </message> <message> <source>Incorrect or no genesis block found. Wrong datadir for network?</source> @@ -2970,7 +2970,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Not enough file descriptors available.</source> - <translation type="unfinished"/> + <translation>Deskripsi berkas tidak tersedia dengan cukup.</translation> </message> <message> <source>Prepend debug output with timestamp (default: 1)</source> @@ -2978,7 +2978,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>RPC client options:</source> - <translation type="unfinished"/> + <translation>Pilihan RPC klien:</translation> </message> <message> <source>Rebuild block chain index from current blk000??.dat files</source> @@ -2998,7 +2998,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Set the number of threads to service RPC calls (default: 4)</source> - <translation type="unfinished"/> + <translation>Mengatur jumlah urutan untuk layanan panggilan RPC (pengaturan awal: 4)</translation> </message> <message> <source>Specify wallet file (within data directory)</source> @@ -3174,11 +3174,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Start Bitcoin Core Daemon</source> - <translation type="unfinished"/> + <translation>Memulai Bitcoin Core Daemon</translation> </message> <message> <source>System error: </source> - <translation type="unfinished"/> + <translation>Kesalahan sistem:</translation> </message> <message> <source>Transaction amount too small</source> diff --git a/src/qt/locale/bitcoin_ja.ts b/src/qt/locale/bitcoin_ja.ts index 5edfc0746a..d3a6cece87 100644 --- a/src/qt/locale/bitcoin_ja.ts +++ b/src/qt/locale/bitcoin_ja.ts @@ -611,7 +611,7 @@ Address: %4 </message> <message> <source>(un)select all</source> - <translation type="unfinished"/> + <translation>すべて選択/選択解除</translation> </message> <message> <source>Tree mode</source> @@ -739,7 +739,7 @@ Address: %4 </message> <message> <source>none</source> - <translation type="unfinished"/> + <translation>なし</translation> </message> <message> <source>Dust</source> @@ -1189,7 +1189,7 @@ Address: %4 </message> <message> <source>none</source> - <translation type="unfinished"/> + <translation>なし</translation> </message> <message> <source>Confirm options reset</source> @@ -1425,7 +1425,7 @@ Address: %4 </message> <message> <source>Name</source> - <translation type="unfinished"/> + <translation>名前</translation> </message> <message> <source>Number of connections</source> diff --git a/src/qt/locale/bitcoin_ko_KR.ts b/src/qt/locale/bitcoin_ko_KR.ts index f5d2dddbe4..8e2b681ba9 100644 --- a/src/qt/locale/bitcoin_ko_KR.ts +++ b/src/qt/locale/bitcoin_ko_KR.ts @@ -33,7 +33,7 @@ MIT/X11 프로그램 라이선스에 따라 배포합니다. COPYING 또는 http </message> <message> <source>(%1-bit)</source> - <translation type="unfinished"/> + <translation>(%1-비트)</translation> </message> </context> <context> @@ -48,7 +48,7 @@ MIT/X11 프로그램 라이선스에 따라 배포합니다. COPYING 또는 http </message> <message> <source>&New</source> - <translation type="unfinished"/> + <translation>새 항목(N)</translation> </message> <message> <source>Copy the currently selected address to the system clipboard</source> @@ -60,7 +60,7 @@ MIT/X11 프로그램 라이선스에 따라 배포합니다. COPYING 또는 http </message> <message> <source>C&lose</source> - <translation type="unfinished"/> + <translation>닫기 (L)</translation> </message> <message> <source>&Copy Address</source> @@ -76,7 +76,7 @@ MIT/X11 프로그램 라이선스에 따라 배포합니다. COPYING 또는 http </message> <message> <source>&Export</source> - <translation type="unfinished"/> + <translation>&내보내기</translation> </message> <message> <source>&Delete</source> @@ -92,7 +92,7 @@ MIT/X11 프로그램 라이선스에 따라 배포합니다. COPYING 또는 http </message> <message> <source>C&hoose</source> - <translation type="unfinished"/> + <translation>선택하기 (H)</translation> </message> <message> <source>Sending addresses</source> @@ -108,7 +108,7 @@ MIT/X11 프로그램 라이선스에 따라 배포합니다. COPYING 또는 http </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 type="unfinished"/> + <translation>비트코인을 받을 수 있는 계좌 주소입니다. 매 거래마다 새로운 주소 사용을 권장합니다. </translation> </message> <message> <source>Copy &Label</source> @@ -401,11 +401,11 @@ MIT/X11 프로그램 라이선스에 따라 배포합니다. COPYING 또는 http </message> <message> <source>Sign messages with your Bitcoin addresses to prove you own them</source> - <translation type="unfinished"/> + <translation>지갑 주소가 자신 소유의 것인지 증명하기 위해 비트코인 주소에 서명할 수 있습니다.</translation> </message> <message> <source>Verify messages to ensure they were signed with specified Bitcoin addresses</source> - <translation type="unfinished"/> + <translation>비트코인 주소의 전자 서명 확인을 위해 첨부된 메시지가 있을 경우 이를 검증할 수 있습니다.</translation> </message> <message> <source>&File</source> @@ -441,11 +441,11 @@ MIT/X11 프로그램 라이선스에 따라 배포합니다. COPYING 또는 http </message> <message> <source>Show the list of used sending addresses and labels</source> - <translation type="unfinished"/> + <translation>한번 이상 사용된 보내는 주소와 주소 제목의 목록을 보여줍니다.</translation> </message> <message> <source>Show the list of used receiving addresses and labels</source> - <translation type="unfinished"/> + <translation>한번 이상 사용된 받는 주소와 주소 제목의 목록을 보여줍니다.</translation> </message> <message> <source>Open a bitcoin: URI or payment request</source> @@ -611,7 +611,7 @@ Address: %4 </message> <message> <source>(un)select all</source> - <translation type="unfinished"/> + <translation>모두 선택(하지 않음)</translation> </message> <message> <source>Tree mode</source> @@ -663,11 +663,11 @@ Address: %4 </message> <message> <source>Lock unspent</source> - <translation type="unfinished"/> + <translation>비트코인이 사용되지 않은 주소를 잠금 처리합니다.</translation> </message> <message> <source>Unlock unspent</source> - <translation type="unfinished"/> + <translation>비트코인이 사용되지 않은 주소를 잠금 해제합니다. </translation> </message> <message> <source>Copy quantity</source> @@ -767,7 +767,7 @@ Address: %4 </message> <message> <source>Transactions with higher priority are more likely to get included into a block.</source> - <translation type="unfinished"/> + <translation>우선 순위가 높은 거래의 경우 블럭에 포함될 가능성이 더 많습니다.</translation> </message> <message> <source>This label turns red, if the priority is smaller than "medium".</source> @@ -779,11 +779,11 @@ Address: %4 </message> <message> <source>This means a fee of at least %1 is required.</source> - <translation type="unfinished"/> + <translation>최소 %1의 거래 수수료가 필요하다는 뜻입니다. </translation> </message> <message> <source>Amounts below 0.546 times the minimum relay fee are shown as dust.</source> - <translation type="unfinished"/> + <translation>노드 릴레이를 위한 최저 수수료의 0.546배보다 낮은 거래는 먼지 거래로 표현됩니다.</translation> </message> <message> <source>This label turns red, if the change is smaller than %1.</source> @@ -814,7 +814,7 @@ Address: %4 </message> <message> <source>The label associated with this address list entry</source> - <translation type="unfinished"/> + <translation>현재 선택된 주소 필드의 제목입니다. </translation> </message> <message> <source>The address associated with this address list entry. This can only be modified for sending addresses.</source> @@ -869,7 +869,7 @@ Address: %4 </message> <message> <source>Directory already exists. Add %1 if you intend to create a new directory here.</source> - <translation type="unfinished"/> + <translation>폴더가 이미 존재합니다. 새로운 폴더 생성을 원한다면 %1 명령어를 추가하세요. </translation> </message> <message> <source>Path already exists, and is not a directory.</source> @@ -916,7 +916,7 @@ Address: %4 </message> <message> <source>Set SSL root certificates for payment request (default: -system-)</source> - <translation type="unfinished"/> + <translation>지불 요청을 위해 SSL 최상위 인증을 설정합니다. (기본값: -system-)</translation> </message> <message> <source>Show splash screen on startup (default: 1)</source> @@ -939,11 +939,11 @@ Address: %4 </message> <message> <source>As this is the first time the program is launched, you can choose where Bitcoin Core will store its data.</source> - <translation type="unfinished"/> + <translation>프로그램이 처음으로 실행되고 있습니다. 비트코인 코어가 어디에 데이터를 저장할지 선택할 수 있습니다. </translation> </message> <message> <source>Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source> - <translation type="unfinished"/> + <translation>비트코인 코어가 블럭체인의 복사본을 다운로드 저장합니다. 적어도 %1GB의 데이터가 이 폴더에 저장되며 시간이 경과할수록 점차 증가합니다. 그리고 지갑 또한 이 폴더에 저장됩니다. </translation> </message> <message> <source>Use the default data directory</source> @@ -959,7 +959,7 @@ Address: %4 </message> <message> <source>Error: Specified data directory "%1" can not be created.</source> - <translation type="unfinished"/> + <translation>오류 : 별도 정의한 폴더명 "%1" 생성에 실패했습니다. </translation> </message> <message> <source>Error</source> @@ -1033,7 +1033,7 @@ Address: %4 </message> <message> <source>Number of script &verification threads</source> - <translation type="unfinished"/> + <translation>스크립트 인증 쓰레드의 개수</translation> </message> <message> <source>Connect to the Bitcoin network through a SOCKS proxy.</source> @@ -1081,11 +1081,11 @@ Address: %4 </message> <message> <source>Expert</source> - <translation type="unfinished"/> + <translation>전문가</translation> </message> <message> <source>Enable coin &control features</source> - <translation type="unfinished"/> + <translation>코인 상세 제어기능을 활성화합니다 - &C</translation> </message> <message> <source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source> @@ -1173,7 +1173,7 @@ Address: %4 </message> <message> <source>Whether to show coin control features or not.</source> - <translation type="unfinished"/> + <translation>코인 상세 제어기능에 대한 표시 여부를 선택할 수 있습니다.</translation> </message> <message> <source>&OK</source> @@ -1197,7 +1197,7 @@ Address: %4 </message> <message> <source>Client restart required to activate changes.</source> - <translation type="unfinished"/> + <translation>변경 사항을 적용하기 위해서는 프로그램이 종료 후 재시작되어야 합니다.</translation> </message> <message> <source>Client will be shutdown, do you want to proceed?</source> @@ -1205,7 +1205,7 @@ Address: %4 </message> <message> <source>This change would require a client restart.</source> - <translation type="unfinished"/> + <translation>이 변경 사항 적용을 위해 프로그램 재시작이 필요합니다. </translation> </message> <message> <source>The supplied proxy address is invalid.</source> @@ -1275,11 +1275,11 @@ Address: %4 </message> <message> <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source> - <translation type="unfinished"/> + <translation>URI의 파싱에 문제가 발생했습니다. 잘못된 비트코인 주소나 URI 파라미터 구성에 오류가 존재할 수 있습니다.</translation> </message> <message> <source>Requested payment amount of %1 is too small (considered dust).</source> - <translation type="unfinished"/> + <translation>요청한 금액 %1의 양이 너무 적습니다. (스팸성 거래로 간주)</translation> </message> <message> <source>Payment request error</source> @@ -1295,7 +1295,7 @@ Address: %4 </message> <message> <source>Your active proxy doesn't support SOCKS5, which is required for payment requests via proxy.</source> - <translation type="unfinished"/> + <translation>현재의 프록시가 SOCKS5를 지원하지 않아 지불 요청을 수행할 수 없습니다. </translation> </message> <message> <source>Payment request fetch URL is invalid: %1</source> @@ -1358,7 +1358,7 @@ Address: %4 </message> <message> <source>Bitcoin Core didn't yet exit safely...</source> - <translation type="unfinished"/> + <translation>비트코인 코어가 아직 안전하게 종료되지 않았습니다.</translation> </message> <message> <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> @@ -1547,11 +1547,11 @@ Address: %4 </message> <message> <source>Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before.</source> - <translation type="unfinished"/> + <translation>이전에 사용된 수취용 주소를 사용할려고 합니다. 주소의 재사용은 보안과 개인정보 보호 측면에서 문제를 초래할 수 있습니다. 이전 지불 요청을 재생성하는 경우가 아니라면 주소 재사용을 권하지 않습니다. </translation> </message> <message> <source>R&euse an existing receiving address (not recommended)</source> - <translation type="unfinished"/> + <translation>현재의 수취용 주소를 재사용합니다만 권장하지는 않습니다. (R&)</translation> </message> <message> <source>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</source> @@ -1563,11 +1563,11 @@ Address: %4 </message> <message> <source>Use this form to request payments. All fields are <b>optional</b>.</source> - <translation type="unfinished"/> + <translation>지급을 요청하기 위해 아래 형식을 사용하세요. 입력값은 <b>선택 사항</b> 입니다.</translation> </message> <message> <source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source> - <translation type="unfinished"/> + <translation>요청할 금액 입력칸으로 선택 사항입니다. 빈 칸으로 두거나 특정 금액이 필요하지 않는 경우 0을 입력하세요. </translation> </message> <message> <source>Clear all fields of the form.</source> @@ -1907,7 +1907,7 @@ Address: %4 </message> <message> <source>The address to send the payment to (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation type="unfinished"/> + <translation>비트코인을 송금할 지갑 주소 입력하기 (예 : 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> <message> <source>Enter a label for this address to add it to your address book</source> @@ -1951,7 +1951,7 @@ Address: %4 </message> <message> <source>Enter a label for this address to add it to the list of used addresses</source> - <translation type="unfinished"/> + <translation>사용된 주소 목록에 새 주소를 추가하기 위해 제목을 입력합니다. </translation> </message> <message> <source>A message that was attached to the bitcoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Bitcoin network.</source> @@ -1963,7 +1963,7 @@ Address: %4 </message> <message> <source>Pay To:</source> - <translation type="unfinished"/> + <translation>송금할 대상 : </translation> </message> <message> <source>Memo:</source> @@ -2049,7 +2049,7 @@ Address: %4 </message> <message> <source>Enter the signing address, message (ensure you copy line breaks, spaces, tabs, etc. exactly) and signature below to verify the message. Be careful not to read more into the signature than what is in the signed message itself, to avoid being tricked by a man-in-the-middle attack.</source> - <translation type="unfinished"/> + <translation>메시지를 검증하기 위해 아래 칸에 각각 지갑 주소와 메시지, 전자서명을 입력하세요. (메시지 원본의 띄어쓰기, 들여쓰기, 행 나눔 등이 정확하게 입력되어야 하므로 원본을 복사해서 입력하세요) 이 기능은 메시지 검증이 주 목적이며, 네트워크 침입자에 의해 변조되지 않도록 전자서명 해독에 불필요한 시간을 소모하지 마세요. </translation> </message> <message> <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> @@ -2174,7 +2174,7 @@ Address: %4 </message> <message numerus="yes"> <source>, broadcast through %n node(s)</source> - <translation type="unfinished"><numerusform></numerusform></translation> + <translation><numerusform>%n 노드를 거쳐 전파합니다.</numerusform></translation> </message> <message> <source>Date</source> @@ -2246,7 +2246,7 @@ Address: %4 </message> <message> <source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source> - <translation type="unfinished"/> + <translation>신규 채굴된 코인이 사용되기 위해서는 %1 개의 블럭이 경과되어야 합니다. 블럭을 생성할 때 블럭체인에 추가되도록 네트워크에 전파되는 과정을 거치는데, 블럭체인에 포함되지 못하고 실패한다면 해당 블럭의 상태는 '미승인'으로 표현되고 비트코인 또한 사용될 수 없습니다. 이 현상은 다른 노드가 비슷한 시간대에 동시에 블럭을 생성할 때 종종 발생할 수 있습니다. </translation> </message> <message> <source>Debug information</source> @@ -2278,7 +2278,7 @@ Address: %4 </message> <message numerus="yes"> <source>Open for %n more block(s)</source> - <translation type="unfinished"><numerusform></numerusform></translation> + <translation><numerusform>%n 개의 추가 블럭을 읽습니다.</numerusform></translation> </message> <message> <source>unknown</source> @@ -2316,11 +2316,11 @@ Address: %4 </message> <message> <source>Immature (%1 confirmations, will be available after %2)</source> - <translation type="unfinished"/> + <translation>충분히 숙성되지 않은 상태 (%1 승인, %2 후에 사용 가능합니다)</translation> </message> <message numerus="yes"> <source>Open for %n more block(s)</source> - <translation type="unfinished"><numerusform></numerusform></translation> + <translation><numerusform>%n 개의 추가 블럭을 읽습니다.</numerusform></translation> </message> <message> <source>Open until %1</source> @@ -2348,7 +2348,7 @@ Address: %4 </message> <message> <source>Confirming (%1 of %2 recommended confirmations)</source> - <translation type="unfinished"/> + <translation>승인 중 (권장되는 승인 회수 %2 대비 현재 승인 수 %1)</translation> </message> <message> <source>Conflicted</source> @@ -2560,7 +2560,7 @@ Address: %4 <name>WalletView</name> <message> <source>&Export</source> - <translation type="unfinished"/> + <translation>&내보내기</translation> </message> <message> <source>Export the data in the current tab to a file</source> @@ -2580,7 +2580,7 @@ Address: %4 </message> <message> <source>There was an error trying to save the wallet data to %1.</source> - <translation type="unfinished"/> + <translation>지갑 데이터를 %1 폴더에 저장하는 동안 오류가 발생했습니다. </translation> </message> <message> <source>The wallet data was successfully saved to %1.</source> @@ -2659,7 +2659,7 @@ Address: %4 </message> <message> <source>Bitcoin Core RPC client version</source> - <translation type="unfinished"/> + <translation>비트코인 코어 RPC 클라이언트 버전</translation> </message> <message> <source>Run in the background as a daemon and accept commands</source> @@ -2721,7 +2721,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds!</source> - <translation type="unfinished"/> + <translation>오류 : 해당 거래는 송금액, 다중 거래, 최근 수령한 금액의 사용 등의 이유로 최소 %s 이상의 송금 수수료가 필요합니다.</translation> </message> <message> <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source> @@ -2729,7 +2729,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Fees smaller than this are considered zero fee (for transaction creation) (default:</source> - <translation type="unfinished"/> + <translation>해당 금액보다 적은 수수료는 수수료 면제로 간주됩니다. (거래 생성의 목적)(기본값:</translation> </message> <message> <source>Flush database activity from memory pool to disk log every <n> megabytes (default: 100)</source> @@ -2753,7 +2753,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </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 type="unfinished"/> + <translation>이 빌드 버전은 정식 출시 전 테스트의 목적이며, 예기치 않은 위험과 오류가 발생할 수 있습니다. 채굴과 상점용 소프트웨어로 사용하는 것을 권하지 않습니다.</translation> </message> <message> <source>Unable to bind to %s on this computer. Bitcoin Core is probably already running.</source> @@ -2773,7 +2773,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> - <translation type="unfinished"/> + <translation>경고 : 모든 네트워크가 동의해야 하나, 일부 채굴자들에게 문제가 있는 것으로 보입니다. </translation> </message> <message> <source>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</source> @@ -2781,19 +2781,19 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </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 type="unfinished"/> + <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 type="unfinished"/> + <translation>경고 : wallet.dat가 손상되어 데이터가 복구되었습니다. 원래의 wallet.dat 파일은 %s 후에 wallet.{timestamp}.bak 이름으로 저장됩니다. 잔액과 거래 내역이 정확하지 않다면 백업 파일로 부터 복원해야 합니다. </translation> </message> <message> <source>(default: 1)</source> - <translation type="unfinished"/> + <translation>(기본값: 1)</translation> </message> <message> <source>(default: wallet.dat)</source> - <translation type="unfinished"/> + <translation>(기본값: wallet.dat)</translation> </message> <message> <source><category> can be:</source> @@ -2829,7 +2829,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Connection options:</source> - <translation type="unfinished"/> + <translation>연결 설정 : </translation> </message> <message> <source>Corrupted block database detected</source> @@ -2837,7 +2837,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Debugging/Testing options:</source> - <translation type="unfinished"/> + <translation>디버그 및 테스트 설정</translation> </message> <message> <source>Disable safemode, override a real safe mode event (default: 0)</source> @@ -2929,11 +2929,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Fee per kB to add to transactions you send</source> - <translation type="unfinished"/> + <translation>송금 거래시 추가되는 KB 당 수수료입니다. </translation> </message> <message> <source>Fees smaller than this are considered zero fee (for relaying) (default:</source> - <translation type="unfinished"/> + <translation>해당 금액보다 적은 수수료는 수수료 면제로 간주됩니다. (릴레이 목적)(기본값:</translation> </message> <message> <source>Find peers using DNS lookup (default: 1 unless -connect)</source> @@ -2941,7 +2941,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Force safe mode (default: 0)</source> - <translation type="unfinished"/> + <translation>안전 모드로 강제 진입하는 기능입니다.(기본값: 0) </translation> </message> <message> <source>Generate coins (default: 0)</source> @@ -2957,7 +2957,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Importing...</source> - <translation type="unfinished"/> + <translation>들여오기 중...</translation> </message> <message> <source>Incorrect or no genesis block found. Wrong datadir for network?</source> @@ -2969,7 +2969,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Not enough file descriptors available.</source> - <translation type="unfinished"/> + <translation>사용 가능한 파일 디스크립터-File Descriptor-가 부족합니다. </translation> </message> <message> <source>Prepend debug output with timestamp (default: 1)</source> @@ -2981,7 +2981,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Rebuild block chain index from current blk000??.dat files</source> - <translation type="unfinished"/> + <translation>현재의 blk000??.dat 파일들로부터 블록체인 색인을 재구성합니다.</translation> </message> <message> <source>Select SOCKS version for -proxy (4 or 5, default: 5)</source> @@ -2997,7 +2997,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Set the number of threads to service RPC calls (default: 4)</source> - <translation type="unfinished"/> + <translation>원격 프로시져 호출 서비스를 위한 쓰레드 개수를 설정합니다 (기본값 : 4)</translation> </message> <message> <source>Specify wallet file (within data directory)</source> @@ -3041,11 +3041,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>You need to rebuild the database using -reindex to change -txindex</source> - <translation type="unfinished"/> + <translation>-txindex를 바꾸기 위해서는 -reindex를 사용해서 데이터베이스를 재구성해야 합니다. </translation> </message> <message> <source>Imports blocks from external blk000??.dat file</source> - <translation>외부 blk000??.dat 파일에서 블록 가져오기</translation> + <translation>외부 blk000??.dat 파일에서 블록을 가져옵니다.</translation> </message> <message> <source>Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running.</source> @@ -3069,11 +3069,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Invalid amount for -minrelaytxfee=<amount>: '%s'</source> - <translation type="unfinished"/> + <translation>노드로 전달하기 위한 최저 거래 수수료가 부족합니다. - minrelaytxfee=<amount>: '%s' -</translation> </message> <message> <source>Invalid amount for -mintxfee=<amount>: '%s'</source> - <translation type="unfinished"/> + <translation>최저 거래 수수료가 부족합니다. -mintxfee=<amount>: '%s'</translation> </message> <message> <source>Limit size of signature cache to <n> entries (default: 50000)</source> @@ -3173,7 +3173,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Start Bitcoin Core Daemon</source> - <translation type="unfinished"/> + <translation>비트코인 코어의 데몬 프로그램을 실행합니다.</translation> </message> <message> <source>System error: </source> diff --git a/src/qt/locale/bitcoin_lt.ts b/src/qt/locale/bitcoin_lt.ts index a9898adb2b..c74fd8ab3b 100644 --- a/src/qt/locale/bitcoin_lt.ts +++ b/src/qt/locale/bitcoin_lt.ts @@ -1490,7 +1490,7 @@ Adresas: %4</translation> </message> <message> <source>Welcome to the Bitcoin RPC console.</source> - <translation type="unfinished"/> + <translation>Sveiki atvykę į Bitcoin RPC konsolę.</translation> </message> <message> <source>Use up and down arrows to navigate history, and <b>Ctrl-L</b> to clear screen.</source> @@ -2633,7 +2633,7 @@ Adresas: %4</translation> </message> <message> <source>Specify your own public address</source> - <translation type="unfinished"/> + <translation>Nurodykite savo nuosavą viešą adresą</translation> </message> <message> <source>Threshold for disconnecting misbehaving peers (default: 100)</source> @@ -3347,7 +3347,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Cannot write default address</source> - <translation type="unfinished"/> + <translation>Negalima parašyti įprasto adreso</translation> </message> <message> <source>Rescanning...</source> diff --git a/src/qt/locale/bitcoin_lv_LV.ts b/src/qt/locale/bitcoin_lv_LV.ts index c17f65e125..299e4d55e0 100644 --- a/src/qt/locale/bitcoin_lv_LV.ts +++ b/src/qt/locale/bitcoin_lv_LV.ts @@ -16,7 +16,12 @@ This is experimental software. Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard.</source> - <translation type="unfinished"/> + <translation> +Šī ir eksperimentālā programmatūra. + +Izplatīta saskaņā ar MIT/X11 programmatūras licenci, skatīt pievienoto datni COPYING vai http://www.opensource.org/licenses/mit-license.php. + +Šis produkts ietver programmatūru, ko izstrādājis OpenSSL Project izmantošanai OpenSSL Toolkit (http://www.openssl.org/) un šifrēšanas programmatūru no Eric Young (eay@cryptsoft.com) un UPnP programmatūru no Thomas Bernard.</translation> </message> <message> <source>Copyright</source> @@ -28,7 +33,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>(%1-bit)</source> - <translation type="unfinished"/> + <translation>(%1-biti)</translation> </message> </context> <context> @@ -63,7 +68,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Delete the currently selected address from the list</source> - <translation type="unfinished"/> + <translation>Izdzēst iezīmētās adreses no saraksta</translation> </message> <message> <source>Export the data in the current tab to a file</source> @@ -79,11 +84,11 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Choose the address to send coins to</source> - <translation type="unfinished"/> + <translation>Izvēlies adresi uz kuru sūtīt bitcoins</translation> </message> <message> <source>Choose the address to receive coins with</source> - <translation type="unfinished"/> + <translation>Izvēlies adresi ar kuru saņemt bitcoins</translation> </message> <message> <source>C&hoose</source> @@ -201,11 +206,11 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Warning: If you encrypt your wallet and lose your passphrase, you will <b>LOSE ALL OF YOUR BITCOINS</b>!</source> - <translation type="unfinished"/> + <translation>Brīdinājums: Ja tu nošifrē savu maciņu un pazaudē paroli, tu <b>PAZAUDĒSI VISAS SAVAS BITCOINS</b>!</translation> </message> <message> <source>Are you sure you wish to encrypt your wallet?</source> - <translation type="unfinished"/> + <translation>Vai tu tiešām vēlies šifrēt savu maciņu?</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> @@ -249,7 +254,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Wallet passphrase was successfully changed.</source> - <translation type="unfinished"/> + <translation>Maciņa parole tika veiksmīgi nomainīta.</translation> </message> </context> <context> @@ -268,7 +273,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Node</source> - <translation type="unfinished"/> + <translation>Node</translation> </message> <message> <source>Show general overview of wallet</source> @@ -304,31 +309,31 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Options...</source> - <translation>&Iespējas</translation> + <translation>&Iespējas...</translation> </message> <message> <source>&Encrypt Wallet...</source> - <translation>Š&ifrēt maciņu...</translation> + <translation>Šifrēt &maciņu...</translation> </message> <message> <source>&Backup Wallet...</source> - <translation>&Izveidot maciņa rezerves kopiju</translation> + <translation>&Maciņa Rezerves Kopija...</translation> </message> <message> <source>&Change Passphrase...</source> - <translation>&Mainīt paroli</translation> + <translation>Mainīt &Paroli...</translation> </message> <message> <source>&Sending addresses...</source> - <translation>&Adrešu sūtīšana...</translation> + <translation>&Sūtīšanas adreses...</translation> </message> <message> <source>&Receiving addresses...</source> - <translation>Adrešu &saņemšana...</translation> + <translation>Saņemšanas &adreses...</translation> </message> <message> <source>Open &URI...</source> - <translation>Atvērt &URI</translation> + <translation>Atvērt &URI...</translation> </message> <message> <source>Importing blocks from disk...</source> @@ -356,7 +361,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Debug window</source> - <translation>&Debug logs</translation> + <translation>&Atkļūdošanas logs</translation> </message> <message> <source>Open debugging and diagnostic console</source> @@ -388,7 +393,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Show or hide the main Window</source> - <translation type="unfinished"/> + <translation>Parādīt vai paslēpt galveno Logu</translation> </message> <message> <source>Encrypt the private keys that belong to your wallet</source> @@ -428,7 +433,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Request payments (generates QR codes and bitcoin: URIs)</source> - <translation type="unfinished"/> + <translation>Pieprasīt maksājumus (izveido QR kodu un bitcoin: URIs)</translation> </message> <message> <source>&About Bitcoin Core</source> @@ -496,7 +501,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>%1 behind</source> - <translation type="unfinished"/> + <translation>%1 aizmugurē</translation> </message> <message> <source>Last received block was generated %1 ago.</source> @@ -556,7 +561,7 @@ Adrese: %4 </message> <message> <source>A fatal error occurred. Bitcoin can no longer continue safely and will quit.</source> - <translation type="unfinished"/> + <translation>Radās fatāla kļūda. Bitcoin Core nevar vairs droši turpināt un tiks izslēgta.</translation> </message> </context> <context> @@ -594,7 +599,7 @@ Adrese: %4 </message> <message> <source>Low Output:</source> - <translation type="unfinished"/> + <translation>Zema Izeja:</translation> </message> <message> <source>After Fee:</source> @@ -606,7 +611,7 @@ Adrese: %4 </message> <message> <source>(un)select all</source> - <translation type="unfinished"/> + <translation>iezīmēt visus</translation> </message> <message> <source>Tree mode</source> @@ -658,11 +663,11 @@ Adrese: %4 </message> <message> <source>Lock unspent</source> - <translation type="unfinished"/> + <translation>Aizslēgt neiztērēto</translation> </message> <message> <source>Unlock unspent</source> - <translation type="unfinished"/> + <translation>Atslēgt neiztērēto</translation> </message> <message> <source>Copy quantity</source> @@ -686,7 +691,7 @@ Adrese: %4 </message> <message> <source>Copy low output</source> - <translation type="unfinished"/> + <translation>Kopēt zemo izeju</translation> </message> <message> <source>Copy change</source> @@ -730,7 +735,7 @@ Adrese: %4 </message> <message> <source>(%1 locked)</source> - <translation type="unfinished"/> + <translation>(%1 aizslēgts)</translation> </message> <message> <source>none</source> @@ -738,7 +743,7 @@ Adrese: %4 </message> <message> <source>Dust</source> - <translation type="unfinished"/> + <translation>Putekļi</translation> </message> <message> <source>yes</source> @@ -856,7 +861,7 @@ Adrese: %4 <name>FreespaceChecker</name> <message> <source>A new data directory will be created.</source> - <translation type="unfinished"/> + <translation>Tiks izveidota jauna datu mape.</translation> </message> <message> <source>name</source> @@ -868,11 +873,11 @@ Adrese: %4 </message> <message> <source>Path already exists, and is not a directory.</source> - <translation type="unfinished"/> + <translation>Šāds ceļš jau pastāv un tā nav mape.</translation> </message> <message> <source>Cannot create data directory here.</source> - <translation type="unfinished"/> + <translation>Šeit nevar izveidot datu mapi.</translation> </message> </context> <context> @@ -942,11 +947,11 @@ Adrese: %4 </message> <message> <source>Use the default data directory</source> - <translation type="unfinished"/> + <translation>Izmantot noklusēto datu mapi</translation> </message> <message> <source>Use a custom data directory:</source> - <translation type="unfinished"/> + <translation>Izmantot pielāgotu datu mapi:</translation> </message> <message> <source>Bitcoin</source> @@ -1020,7 +1025,7 @@ Adrese: %4 </message> <message> <source>Size of &database cache</source> - <translation type="unfinished"/> + <translation>&Datubāzes kešatmiņas izmērs</translation> </message> <message> <source>MB</source> @@ -1028,19 +1033,19 @@ Adrese: %4 </message> <message> <source>Number of script &verification threads</source> - <translation type="unfinished"/> + <translation>Skriptu &pārbaudes pavedienu skaits</translation> </message> <message> <source>Connect to the Bitcoin network through a SOCKS proxy.</source> - <translation type="unfinished"/> + <translation>Savienoties ar Bitcoin tīklu caur SOCKS starpniekserveri.</translation> </message> <message> <source>&Connect through SOCKS proxy (default proxy):</source> - <translation type="unfinished"/> + <translation>&Savienoties caur SOCKS starpniekserveri (noklusējuma starpniekserveris)</translation> </message> <message> <source>IP address of the proxy (e.g. IPv4: 127.0.0.1 / IPv6: ::1)</source> - <translation type="unfinished"/> + <translation>Starpniekservera IP adrese (piem. IPv4: 127.0.0.1 / IPv6: ::1)</translation> </message> <message> <source>Third party URLs (e.g. a block explorer) that appear in the transactions tab as context menu items. %s in the URL is replaced by transaction hash. Multiple URLs are separated by vertical bar |.</source> @@ -1048,19 +1053,19 @@ Adrese: %4 </message> <message> <source>Third party transaction URLs</source> - <translation type="unfinished"/> + <translation>Trešo personu transakciju URLs</translation> </message> <message> <source>Active command-line options that override above options:</source> - <translation type="unfinished"/> + <translation>Aktīvās komandrindas opcijas, kuras pārspēko šos iestatījumus:</translation> </message> <message> <source>Reset all client options to default.</source> - <translation type="unfinished"/> + <translation>Atiestatīt visus klienta iestatījumus uz noklusējumu.</translation> </message> <message> <source>&Reset Options</source> - <translation type="unfinished"/> + <translation>&Atiestatīt Iestatījumus.</translation> </message> <message> <source>&Network</source> @@ -1100,7 +1105,7 @@ Adrese: %4 </message> <message> <source>Proxy &IP:</source> - <translation>Proxy &IP:</translation> + <translation>Starpniekservera &IP:</translation> </message> <message> <source>&Port:</source> @@ -1108,7 +1113,7 @@ Adrese: %4 </message> <message> <source>Port of the proxy (e.g. 9050)</source> - <translation>Proxy ports (piem. 9050)</translation> + <translation>Starpniekservera ports (piem. 9050)</translation> </message> <message> <source>SOCKS &Version:</source> @@ -1116,7 +1121,7 @@ Adrese: %4 </message> <message> <source>SOCKS version of the proxy (e.g. 5)</source> - <translation>proxy SOCKS versija (piem. 5)</translation> + <translation>Starpniekservera SOCKS versija (piem. 5)</translation> </message> <message> <source>&Window</source> @@ -1172,7 +1177,7 @@ Adrese: %4 </message> <message> <source>&OK</source> - <translation>&OK</translation> + <translation>&Labi</translation> </message> <message> <source>&Cancel</source> @@ -1184,11 +1189,11 @@ Adrese: %4 </message> <message> <source>none</source> - <translation>neviens</translation> + <translation>neviena</translation> </message> <message> <source>Confirm options reset</source> - <translation type="unfinished"/> + <translation>Apstiprināt iestatījumu atiestatīšanu</translation> </message> <message> <source>Client restart required to activate changes.</source> @@ -1196,7 +1201,7 @@ Adrese: %4 </message> <message> <source>Client will be shutdown, do you want to proceed?</source> - <translation type="unfinished"/> + <translation>Klients tiks izslēgts, vai vēlaties turpināt?</translation> </message> <message> <source>This change would require a client restart.</source> @@ -1204,7 +1209,7 @@ Adrese: %4 </message> <message> <source>The supplied proxy address is invalid.</source> - <translation>Norādītā proxy adrese nav derīga.</translation> + <translation>Norādītā starpniekservera adrese nav derīga.</translation> </message> </context> <context> @@ -1231,11 +1236,11 @@ Adrese: %4 </message> <message> <source>Pending:</source> - <translation type="unfinished"/> + <translation>Neizšķirts:</translation> </message> <message> <source>Total of transactions that have yet to be confirmed, and do not yet count toward the spendable balance</source> - <translation type="unfinished"/> + <translation>Kopējā apstiprināmo transakciju vērtība, vēl nav ieskaitīta tērējamajā bilancē</translation> </message> <message> <source>Immature:</source> @@ -1247,7 +1252,7 @@ Adrese: %4 </message> <message> <source>Total:</source> - <translation>Kopā:</translation> + <translation>Kopsumma:</translation> </message> <message> <source>Your current total balance</source> @@ -1266,7 +1271,7 @@ Adrese: %4 <name>PaymentServer</name> <message> <source>URI handling</source> - <translation type="unfinished"/> + <translation>URI apstrāde</translation> </message> <message> <source>URI can not be parsed! This can be caused by an invalid Bitcoin address or malformed URI parameters.</source> @@ -1278,11 +1283,11 @@ Adrese: %4 </message> <message> <source>Payment request error</source> - <translation type="unfinished"/> + <translation>Maksājumu pieprasījuma kļūda</translation> </message> <message> <source>Cannot start bitcoin: click-to-pay handler</source> - <translation type="unfinished"/> + <translation>Nevar palaist Bitcoin: nospied-lai-maksātu apstrādātāju</translation> </message> <message> <source>Net manager warning</source> @@ -1310,7 +1315,7 @@ Adrese: %4 </message> <message> <source>Refund from %1</source> - <translation type="unfinished"/> + <translation>Atmaksa no %1</translation> </message> <message> <source>Error communicating with %1: %2</source> @@ -1326,11 +1331,11 @@ Adrese: %4 </message> <message> <source>Payment acknowledged</source> - <translation type="unfinished"/> + <translation>Maksājums atzīts</translation> </message> <message> <source>Network request error</source> - <translation type="unfinished"/> + <translation>Tīkla pieprasījuma kļūda</translation> </message> </context> <context> @@ -1353,7 +1358,7 @@ Adrese: %4 </message> <message> <source>Bitcoin Core didn't yet exit safely...</source> - <translation type="unfinished"/> + <translation>Bitcoin Core vel neizgāja droši...</translation> </message> <message> <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> @@ -1399,11 +1404,11 @@ Adrese: %4 </message> <message> <source>Debug window</source> - <translation type="unfinished"/> + <translation>Atkļūdošanas logs</translation> </message> <message> <source>General</source> - <translation type="unfinished"/> + <translation>Vispārējs</translation> </message> <message> <source>Using OpenSSL version</source> @@ -1463,11 +1468,11 @@ Adrese: %4 </message> <message> <source>In:</source> - <translation type="unfinished"/> + <translation>Ie.:</translation> </message> <message> <source>Out:</source> - <translation type="unfinished"/> + <translation>Iz.:</translation> </message> <message> <source>Build date</source> @@ -1475,7 +1480,7 @@ Adrese: %4 </message> <message> <source>Debug log file</source> - <translation type="unfinished"/> + <translation>Atkļūdošanas žurnāla datne</translation> </message> <message> <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source> @@ -1546,7 +1551,7 @@ Adrese: %4 </message> <message> <source>R&euse an existing receiving address (not recommended)</source> - <translation type="unfinished"/> + <translation>&Atkārtoti izmantot esošo saņemšanas adresi (nav ieteicams)</translation> </message> <message> <source>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</source> @@ -1582,7 +1587,7 @@ Adrese: %4 </message> <message> <source>Show the selected request (does the same as double clicking an entry)</source> - <translation type="unfinished"/> + <translation>Parādīt atlasītos pieprasījumus (tas pats, kas dubultklikšķis uz ieraksta)</translation> </message> <message> <source>Show</source> @@ -1590,7 +1595,7 @@ Adrese: %4 </message> <message> <source>Remove the selected entries from the list</source> - <translation type="unfinished"/> + <translation>Noņemt atlasītos ierakstus no saraksta.</translation> </message> <message> <source>Remove</source> @@ -1625,7 +1630,7 @@ Adrese: %4 </message> <message> <source>&Save Image...</source> - <translation>&Saglabāt Attēlu</translation> + <translation>&Saglabāt Attēlu...</translation> </message> <message> <source>Request payment to %1</source> @@ -1707,15 +1712,15 @@ Adrese: %4 </message> <message> <source>Inputs...</source> - <translation type="unfinished"/> + <translation>Ieejas...</translation> </message> <message> <source>automatically selected</source> - <translation type="unfinished"/> + <translation>automātiski atlasīts</translation> </message> <message> <source>Insufficient funds!</source> - <translation type="unfinished"/> + <translation>Nepietiekami līdzekļi!</translation> </message> <message> <source>Quantity:</source> @@ -1739,7 +1744,7 @@ Adrese: %4 </message> <message> <source>Low Output:</source> - <translation type="unfinished"/> + <translation>Zema Izeja:</translation> </message> <message> <source>After Fee:</source> @@ -1819,7 +1824,7 @@ Adrese: %4 </message> <message> <source>Copy low output</source> - <translation type="unfinished"/> + <translation>Kopēt zemās izejas</translation> </message> <message> <source>Copy change</source> @@ -1835,7 +1840,7 @@ Adrese: %4 </message> <message> <source>The recipient address is not valid, please recheck.</source> - <translation type="unfinished"/> + <translation>Saņēmēja adrese ir nepareiza, lūdzu pārbaudi.</translation> </message> <message> <source>The amount to pay must be larger than 0.</source> @@ -1863,7 +1868,7 @@ Adrese: %4 </message> <message> <source>Warning: Invalid Bitcoin address</source> - <translation type="unfinished"/> + <translation>Brīdinājums: Nederīga Bitcoin adrese</translation> </message> <message> <source>(no label)</source> @@ -1871,7 +1876,7 @@ Adrese: %4 </message> <message> <source>Warning: Unknown change address</source> - <translation type="unfinished"/> + <translation>Brīdinājums: Nezināma atlikuma adrese</translation> </message> <message> <source>Are you sure you want to send?</source> @@ -1887,7 +1892,7 @@ Adrese: %4 </message> <message> <source>Invalid payment address %1</source> - <translation type="unfinished"/> + <translation>Nederīga maksājuma adrese %1</translation> </message> </context> <context> @@ -1914,7 +1919,7 @@ Adrese: %4 </message> <message> <source>Choose previously used address</source> - <translation type="unfinished"/> + <translation>Izvēlies iepriekš izmantoto adresi</translation> </message> <message> <source>This is a normal payment.</source> @@ -1962,7 +1967,7 @@ Adrese: %4 </message> <message> <source>Memo:</source> - <translation type="unfinished"/> + <translation>Memo:</translation> </message> </context> <context> @@ -1973,7 +1978,7 @@ Adrese: %4 </message> <message> <source>Do not shut down the computer until this window disappears.</source> - <translation type="unfinished"/> + <translation>Neizslēdziet datoru kamēr šis logs nepazūd.</translation> </message> </context> <context> @@ -1992,11 +1997,11 @@ Adrese: %4 </message> <message> <source>The address to sign the message with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation type="unfinished"/> + <translation>Adrese ar kuru parakstīt ziņojumu (piem. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> <message> <source>Choose previously used address</source> - <translation type="unfinished"/> + <translation>Izvēlies iepriekš izmantoto adresi</translation> </message> <message> <source>Alt+A</source> @@ -2012,7 +2017,7 @@ Adrese: %4 </message> <message> <source>Enter the message you want to sign here</source> - <translation type="unfinished"/> + <translation>Šeit ievadi ziņojumu kuru vēlies parakstīt</translation> </message> <message> <source>Signature</source> @@ -2020,11 +2025,11 @@ Adrese: %4 </message> <message> <source>Copy the current signature to the system clipboard</source> - <translation type="unfinished"/> + <translation>Kopēt parakstu uz sistēmas starpliktuvi</translation> </message> <message> <source>Sign the message to prove you own this Bitcoin address</source> - <translation type="unfinished"/> + <translation>Parakstīt ziņojumu lai pierādītu, ka esi šīs Bitcoin adreses īpašnieks.</translation> </message> <message> <source>Sign &Message</source> @@ -2032,7 +2037,7 @@ Adrese: %4 </message> <message> <source>Reset all sign message fields</source> - <translation type="unfinished"/> + <translation>Atiestatīt visus laukus</translation> </message> <message> <source>Clear &All</source> @@ -2048,7 +2053,7 @@ Adrese: %4 </message> <message> <source>The address the message was signed with (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> - <translation type="unfinished"/> + <translation>Adrese ar kādu ziņojums tika parakstīts (piem. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</translation> </message> <message> <source>Verify the message to ensure it was signed with the specified Bitcoin address</source> @@ -2060,7 +2065,7 @@ Adrese: %4 </message> <message> <source>Reset all verify message fields</source> - <translation type="unfinished"/> + <translation>Atiestatīt visus laukus</translation> </message> <message> <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> @@ -2072,23 +2077,23 @@ Adrese: %4 </message> <message> <source>The entered address is invalid.</source> - <translation type="unfinished"/> + <translation>Ievadītā adrese ir nederīga.</translation> </message> <message> <source>Please check the address and try again.</source> - <translation type="unfinished"/> + <translation>Lūdzu pārbaudi adresi un mēģini vēlreiz.</translation> </message> <message> <source>The entered address does not refer to a key.</source> - <translation type="unfinished"/> + <translation>Ievadītā adrese neattiecas uz atslēgu.</translation> </message> <message> <source>Wallet unlock was cancelled.</source> - <translation type="unfinished"/> + <translation>Maciņa atslēgšana tika atcelta.</translation> </message> <message> <source>Private key for the entered address is not available.</source> - <translation type="unfinished"/> + <translation>Privātā atslēga priekš ievadītās adreses nav pieejama.</translation> </message> <message> <source>Message signing failed.</source> @@ -2104,11 +2109,11 @@ Adrese: %4 </message> <message> <source>Please check the signature and try again.</source> - <translation type="unfinished"/> + <translation>Lūdzu pārbaudi parakstu un mēģini vēlreiz.</translation> </message> <message> <source>The signature did not match the message digest.</source> - <translation type="unfinished"/> + <translation>Paraksts neatbilda ziņojuma apkopojumam.</translation> </message> <message> <source>Message verification failed.</source> @@ -2149,7 +2154,7 @@ Adrese: %4 </message> <message> <source>conflicted</source> - <translation type="unfinished"/> + <translation>pretrunā</translation> </message> <message> <source>%1/offline</source> @@ -2181,7 +2186,7 @@ Adrese: %4 </message> <message> <source>Generated</source> - <translation type="unfinished"/> + <translation>Ģenerēts</translation> </message> <message> <source>From</source> @@ -2193,15 +2198,15 @@ Adrese: %4 </message> <message> <source>own address</source> - <translation type="unfinished"/> + <translation>paša adrese</translation> </message> <message> <source>label</source> - <translation type="unfinished"/> + <translation>etiķete</translation> </message> <message> <source>Credit</source> - <translation type="unfinished"/> + <translation>Kredīts</translation> </message> <message numerus="yes"> <source>matures in %n more block(s)</source> @@ -2209,11 +2214,11 @@ Adrese: %4 </message> <message> <source>not accepted</source> - <translation type="unfinished"/> + <translation>nav pieņemts</translation> </message> <message> <source>Debit</source> - <translation type="unfinished"/> + <translation>Debets</translation> </message> <message> <source>Transaction fee</source> @@ -2237,7 +2242,7 @@ Adrese: %4 </message> <message> <source>Merchant</source> - <translation type="unfinished"/> + <translation>Tirgotājs</translation> </message> <message> <source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source> @@ -2245,7 +2250,7 @@ Adrese: %4 </message> <message> <source>Debug information</source> - <translation type="unfinished"/> + <translation>Atkļūdošanas informācija</translation> </message> <message> <source>Transaction</source> @@ -2253,7 +2258,7 @@ Adrese: %4 </message> <message> <source>Inputs</source> - <translation type="unfinished"/> + <translation>Ieejas</translation> </message> <message> <source>Amount</source> @@ -2273,7 +2278,7 @@ Adrese: %4 </message> <message numerus="yes"> <source>Open for %n more block(s)</source> - <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> + <translation><numerusform>Atvērts vel %n blokus</numerusform><numerusform>Atvērts vel %n bloku</numerusform><numerusform>Atvērts vel %n blokus</numerusform></translation> </message> <message> <source>unknown</source> @@ -2315,7 +2320,7 @@ Adrese: %4 </message> <message numerus="yes"> <source>Open for %n more block(s)</source> - <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> + <translation><numerusform>Atvērts vel %n blokus</numerusform><numerusform>Atvērts vel %n bloku</numerusform><numerusform>Atvērts vel %n blokus</numerusform></translation> </message> <message> <source>Open until %1</source> @@ -2347,7 +2352,7 @@ Adrese: %4 </message> <message> <source>Conflicted</source> - <translation type="unfinished"/> + <translation>Pretrunā</translation> </message> <message> <source>Received with</source> @@ -2494,7 +2499,7 @@ Adrese: %4 </message> <message> <source>The transaction history was successfully saved to %1.</source> - <translation type="unfinished"/> + <translation>Transakciju vēsture tika veiksmīgi saglabāta uz %1.</translation> </message> <message> <source>Comma separated file (*.csv)</source> @@ -2555,7 +2560,7 @@ Adrese: %4 <name>WalletView</name> <message> <source>&Export</source> - <translation>&Eksportēt...</translation> + <translation>&Eksportēt</translation> </message> <message> <source>Export the data in the current tab to a file</source> @@ -2654,7 +2659,7 @@ Adrese: %4 </message> <message> <source>Bitcoin Core RPC client version</source> - <translation type="unfinished"/> + <translation>Bitcoin Core RPC klienta versija</translation> </message> <message> <source>Run in the background as a daemon and accept commands</source> @@ -2764,7 +2769,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly.</source> - <translation type="unfinished"/> + <translation>Brīdinājums: Lūdzu pārbaudi vai tava datora datums un laiks ir pareizs! Ja pulkstenis ir nepareizs, Bitcoin Core nestrādās pareizi.</translation> </message> <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> @@ -2784,11 +2789,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>(default: 1)</source> - <translation type="unfinished"/> + <translation>(noklusējums: 1)</translation> </message> <message> <source>(default: wallet.dat)</source> - <translation type="unfinished"/> + <translation>(noklusējums: wallet.dat)</translation> </message> <message> <source><category> can be:</source> @@ -2796,7 +2801,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Attempt to recover private keys from a corrupt wallet.dat</source> - <translation type="unfinished"/> + <translation>Mēģināt atgūt privātās atslēgas no bojāta wallet.dat</translation> </message> <message> <source>Bitcoin Core Daemon</source> @@ -2812,11 +2817,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Connect only to the specified node(s)</source> - <translation type="unfinished"/> + <translation>Savienoties tikai ar norādītajām nodēm.</translation> </message> <message> <source>Connect through SOCKS proxy</source> - <translation type="unfinished"/> + <translation>Savienoties caur SOCKS starpniekserveri</translation> </message> <message> <source>Connect to JSON-RPC on <port> (default: 8332 or testnet: 18332)</source> @@ -2824,7 +2829,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Connection options:</source> - <translation type="unfinished"/> + <translation>Savienojuma iestatījumi:</translation> </message> <message> <source>Corrupted block database detected</source> @@ -2832,7 +2837,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Debugging/Testing options:</source> - <translation type="unfinished"/> + <translation>Atkļūdošanas/Testēšanas iestatījumi:</translation> </message> <message> <source>Disable safemode, override a real safe mode event (default: 0)</source> @@ -2860,7 +2865,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Error loading block database</source> - <translation type="unfinished"/> + <translation>Kļūda ielādējot bloku datubāzi</translation> </message> <message> <source>Error opening block database</source> @@ -2868,15 +2873,15 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Error: Disk space is low!</source> - <translation type="unfinished"/> + <translation>Kļūda: Zema diska vieta!</translation> </message> <message> <source>Error: Wallet locked, unable to create transaction!</source> - <translation type="unfinished"/> + <translation>Kļūda: Maciņš ir aizslēgts, nevar izveidot transakciju!</translation> </message> <message> <source>Error: system error: </source> - <translation type="unfinished"/> + <translation>Kļūda: sistēmas kļūda:</translation> </message> <message> <source>Failed to listen on any port. Use -listen=0 if you want this.</source> @@ -2932,11 +2937,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Find peers using DNS lookup (default: 1 unless -connect)</source> - <translation type="unfinished"/> + <translation>Atrast pīrus izmantojot DNS uzmeklēšanu (noklusējums: 1 ja nav -connect)</translation> </message> <message> <source>Force safe mode (default: 0)</source> - <translation type="unfinished"/> + <translation>Piespiest drošo režīmu (noklusējums: 0)</translation> </message> <message> <source>Generate coins (default: 0)</source> @@ -2952,7 +2957,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Importing...</source> - <translation type="unfinished"/> + <translation>Importē...</translation> </message> <message> <source>Incorrect or no genesis block found. Wrong datadir for network?</source> @@ -3000,7 +3005,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Spend unconfirmed change when sending transactions (default: 1)</source> - <translation type="unfinished"/> + <translation>Tērēt neapstiprinātu atlikumu kad sūta transakcijas (noklusējums: 1)</translation> </message> <message> <source>This is intended for regression testing tools and app development.</source> @@ -3020,7 +3025,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Wait for RPC server to start</source> - <translation type="unfinished"/> + <translation>Uzgaidi līdz RPC serveris palaižas</translation> </message> <message> <source>Wallet %s resides outside data directory %s</source> @@ -3040,7 +3045,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Imports blocks from external blk000??.dat file</source> - <translation type="unfinished"/> + <translation>Importēt blokus no ārējās blk000??.dat datnes</translation> </message> <message> <source>Cannot obtain a lock on data directory %s. Bitcoin Core is probably already running.</source> @@ -3112,7 +3117,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>RPC server options:</source> - <translation type="unfinished"/> + <translation>RPC servera iestatījumi:</translation> </message> <message> <source>Randomly drop 1 of every <n> network messages</source> @@ -3132,7 +3137,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Send command to Bitcoin Core</source> - <translation type="unfinished"/> + <translation>Sūtīt komandu uz Bitcoin Core</translation> </message> <message> <source>Send trace/debug info to console instead of debug.log file</source> @@ -3152,7 +3157,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Show benchmark information (default: 0)</source> - <translation type="unfinished"/> + <translation>Rādīt etalonuzdevuma informāciju (noklusējums: 0)</translation> </message> <message> <source>Shrink debug.log file on client startup (default: 1 when no -debug)</source> @@ -3160,7 +3165,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Signing transaction failed</source> - <translation type="unfinished"/> + <translation>Transakcijas parakstīšana neizdevās</translation> </message> <message> <source>Specify connection timeout in milliseconds (default: 5000)</source> @@ -3168,19 +3173,19 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Start Bitcoin Core Daemon</source> - <translation type="unfinished"/> + <translation>Sākt Bitcoin Core Procesu</translation> </message> <message> <source>System error: </source> - <translation type="unfinished"/> + <translation>Sistēmas kļūda:</translation> </message> <message> <source>Transaction amount too small</source> - <translation type="unfinished"/> + <translation>Transakcijas summa ir pārāk maza</translation> </message> <message> <source>Transaction amounts must be positive</source> - <translation type="unfinished"/> + <translation>Transakcijas summai ir jābūt pozitīvai</translation> </message> <message> <source>Transaction too large</source> @@ -3204,7 +3209,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Warning: This version is obsolete, upgrade required!</source> - <translation type="unfinished"/> + <translation>Brīdinājums: Šī versija ir novecojusi, nepieciešams atjauninājums!</translation> </message> <message> <source>Zapping all transactions from wallet...</source> @@ -3212,7 +3217,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>on startup</source> - <translation type="unfinished"/> + <translation>startēšanas laikā</translation> </message> <message> <source>version</source> @@ -3220,7 +3225,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>wallet.dat corrupt, salvage failed</source> - <translation type="unfinished"/> + <translation>wallet.dat ir bojāts, glābšana neizdevās</translation> </message> <message> <source>Password for JSON-RPC connections</source> @@ -3304,7 +3309,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Unknown -socks proxy version requested: %i</source> - <translation>Pieprasīta nezināma -socks proxy versija: %i</translation> + <translation>Pieprasīta nezināma -socks starpniekservera versija: %i</translation> </message> <message> <source>Cannot resolve -bind address: '%s'</source> diff --git a/src/qt/locale/bitcoin_nb.ts b/src/qt/locale/bitcoin_nb.ts index 09ef29d871..1267ad65b9 100644 --- a/src/qt/locale/bitcoin_nb.ts +++ b/src/qt/locale/bitcoin_nb.ts @@ -1049,11 +1049,11 @@ Adresse: %4 </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 type="unfinished"/> + <translation>Tredjepart URLer (f. eks. en blokkutforsker) som dukker opp i transaksjonsfanen som kontekst meny elementer. %s i URLen er erstattet med transaksjonen sin hash. Flere URLer er separert av en vertikal linje |.</translation> </message> <message> <source>Third party transaction URLs</source> - <translation type="unfinished"/> + <translation>Tredjepart transaksjon URLer</translation> </message> <message> <source>Active command-line options that override above options:</source> @@ -1358,7 +1358,7 @@ Adresse: %4 </message> <message> <source>Bitcoin Core didn't yet exit safely...</source> - <translation type="unfinished"/> + <translation>Bitcoin Core har ennå ikke avsluttet på en sikker måte...</translation> </message> <message> <source>Enter a Bitcoin address (e.g. 1NS17iag9jJgTHD1VXjvLCEnZuQ3rJDE9L)</source> diff --git a/src/qt/locale/bitcoin_pl.ts b/src/qt/locale/bitcoin_pl.ts index cbc08dd25d..6bc177076b 100644 --- a/src/qt/locale/bitcoin_pl.ts +++ b/src/qt/locale/bitcoin_pl.ts @@ -739,7 +739,7 @@ Adres: %4 </message> <message> <source>none</source> - <translation type="unfinished"/> + <translation>żaden</translation> </message> <message> <source>Dust</source> @@ -1189,7 +1189,7 @@ Adres: %4 </message> <message> <source>none</source> - <translation type="unfinished"/> + <translation>żaden</translation> </message> <message> <source>Confirm options reset</source> @@ -2340,7 +2340,7 @@ Adres: %4 </message> <message> <source>Offline</source> - <translation type="unfinished"/> + <translation>Offline</translation> </message> <message> <source>Unconfirmed</source> @@ -3182,7 +3182,7 @@ na przykład: alertnotify=echo %%s | mail -s "Alarm Bitcoin" admin@foo </message> <message> <source>Start Bitcoin Core Daemon</source> - <translation type="unfinished"/> + <translation>Uruchom serwer Bitcoin Core</translation> </message> <message> <source>System error: </source> diff --git a/src/qt/locale/bitcoin_ro_RO.ts b/src/qt/locale/bitcoin_ro_RO.ts index 1d9d4cc936..d09c40f62e 100644 --- a/src/qt/locale/bitcoin_ro_RO.ts +++ b/src/qt/locale/bitcoin_ro_RO.ts @@ -795,7 +795,7 @@ Adresa: %4 </message> <message> <source>change from %1 (%2)</source> - <translation type="unfinished"/> + <translation>restul de la %1 (%2)</translation> </message> <message> <source>(change)</source> @@ -1587,7 +1587,7 @@ Adresa: %4 </message> <message> <source>Show the selected request (does the same as double clicking an entry)</source> - <translation type="unfinished"/> + <translation>Arata cererea selectata (acelas lucru ca si dublu-click pe o inregistrare)</translation> </message> <message> <source>Show</source> @@ -3008,7 +3008,7 @@ spre exemplu: alertnotify=echo %%s | mail -s "Alerta Bitcoin" admin@fo </message> <message> <source>Set the number of threads to service RPC calls (default: 4)</source> - <translation type="unfinished"/> + <translation>Stabileste numarul de thread-uri care servesc apeluri RPC (implicit: 4)</translation> </message> <message> <source>Specify wallet file (within data directory)</source> diff --git a/src/qt/locale/bitcoin_sk.ts b/src/qt/locale/bitcoin_sk.ts index d96e9d9366..bce535fad7 100644 --- a/src/qt/locale/bitcoin_sk.ts +++ b/src/qt/locale/bitcoin_sk.ts @@ -16,7 +16,12 @@ This is experimental software. Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php. This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/) and cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP software written by Thomas Bernard.</source> - <translation type="unfinished"/> + <translation> +Toto je experimentálny softvér. + +Distribuovaný pod MIT/X11 softvérovou licenciou, viď sprevádzajúci súbor COPYING alebo http://www.opensource.org/licenses/mit-license.php. + +Tento výrobok obsahuje sofvér, ktorý vyvynul OpenSSL Project pre použitie v OpenSSL Toolkit (http://www.openssl.org/) a kryptografický softvér napísaný Ericom Youngom (eay@cryptsoft.com) a UPnP softvér napísaný Thomasom Bernardom.</translation> </message> <message> <source>Copyright</source> @@ -28,7 +33,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>(%1-bit)</source> - <translation type="unfinished"/> + <translation>(%1-bit)</translation> </message> </context> <context> @@ -209,7 +214,7 @@ This product includes software developed by the OpenSSL Project for use in the O </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 type="unfinished"/> + <translation>DÔLEŽITÉ: Všetky doterajšie záložné kópie peňaženky ktoré ste zhotovili by mali byť nahradené novým zašifrovaným súborom s peňaženkou. Z bezpečnostných dôvodov sa predchádzajúce kópie nezašifrovanej peňaženky stanú neužitočné keď začnete používať novú zašifrovanú peňaženku.</translation> </message> <message> <source>Warning: The Caps Lock key is on!</source> @@ -320,11 +325,11 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>&Sending addresses...</source> - <translation type="unfinished"/> + <translation>Posielajúca adresa ...</translation> </message> <message> <source>&Receiving addresses...</source> - <translation type="unfinished"/> + <translation>Prijímajúca adresa...</translation> </message> <message> <source>Open &URI...</source> @@ -444,7 +449,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Open a bitcoin: URI or payment request</source> - <translation type="unfinished"/> + <translation>Otvoriť bitcoin URI alebo výzvu k platbe</translation> </message> <message> <source>&Command-line options</source> @@ -452,7 +457,7 @@ This product includes software developed by the OpenSSL Project for use in the O </message> <message> <source>Show the Bitcoin Core help message to get a list with possible Bitcoin command-line options</source> - <translation type="unfinished"/> + <translation>Zobraziť pomocnú správu od Bitcoin Jadra pre získanie zoznamu dostupných možností príkazového riadku</translation> </message> <message> <source>Bitcoin client</source> @@ -673,7 +678,7 @@ Adresa: %4</translation> </message> <message> <source>Copy after fee</source> - <translation type="unfinished"/> + <translation>Kopírovať za poplatok</translation> </message> <message> <source>Copy bytes</source> @@ -685,7 +690,7 @@ Adresa: %4</translation> </message> <message> <source>Copy low output</source> - <translation type="unfinished"/> + <translation>Kopírovať malý výstup.</translation> </message> <message> <source>Copy change</source> @@ -749,31 +754,31 @@ Adresa: %4</translation> </message> <message> <source>This label turns red, if the transaction size is greater than 1000 bytes.</source> - <translation type="unfinished"/> + <translation>Tento popis zčervená ak veľkosť transakcie presiahne 1000 bytov.</translation> </message> <message> <source>This means a fee of at least %1 per kB is required.</source> - <translation type="unfinished"/> + <translation>To znamená že požadovaný poplatok je aspoň %1 za kB.</translation> </message> <message> <source>Can vary +/- 1 byte per input.</source> - <translation type="unfinished"/> + <translation>Môže sa pohybovať +/- 1 bajt pre vstup.</translation> </message> <message> <source>Transactions with higher priority are more likely to get included into a block.</source> - <translation type="unfinished"/> + <translation>Transakcie s vysokou prioritou sa pravdepodobnejsie dostanú do bloku.</translation> </message> <message> <source>This label turns red, if the priority is smaller than "medium".</source> - <translation type="unfinished"/> + <translation>Tento popis zčervenie ak je priorita nižčia ako "medium".</translation> </message> <message> <source>This label turns red, if any recipient receives an amount smaller than %1.</source> - <translation type="unfinished"/> + <translation>Tento popis zčervenie ak ktorýkoľvek príjemca dostane sumu menšiu ako %1.</translation> </message> <message> <source>This means a fee of at least %1 is required.</source> - <translation type="unfinished"/> + <translation>To znamená že je požadovaný poplatok aspoň %1.</translation> </message> <message> <source>Amounts below 0.546 times the minimum relay fee are shown as dust.</source> @@ -781,7 +786,7 @@ Adresa: %4</translation> </message> <message> <source>This label turns red, if the change is smaller than %1.</source> - <translation type="unfinished"/> + <translation>Tento popis zžervenie ak výdavok je menší než %1.</translation> </message> <message> <source>(no label)</source> @@ -910,7 +915,7 @@ Adresa: %4</translation> </message> <message> <source>Set SSL root certificates for payment request (default: -system-)</source> - <translation type="unfinished"/> + <translation>Nastaviť koreňový certifikát pre výzvy na platbu (prednastavené: -system-)</translation> </message> <message> <source>Show splash screen on startup (default: 1)</source> @@ -918,7 +923,7 @@ Adresa: %4</translation> </message> <message> <source>Choose data directory on startup (default: 0)</source> - <translation type="unfinished"/> + <translation>Zvoľte dátový priečinok pri štarte (prednastavené: 0)</translation> </message> </context> <context> @@ -933,7 +938,7 @@ Adresa: %4</translation> </message> <message> <source>As this is the first time the program is launched, you can choose where Bitcoin Core will store its data.</source> - <translation type="unfinished"/> + <translation>Keďže spúštate program prvý krát, môžte si vybrať kde bude Bitcoin Jadro ukladať svoje dáta.</translation> </message> <message> <source>Bitcoin Core will download and store a copy of the Bitcoin block chain. At least %1GB of data will be stored in this directory, and it will grow over time. The wallet will also be stored in this directory.</source> @@ -1027,7 +1032,7 @@ Adresa: %4</translation> </message> <message> <source>Number of script &verification threads</source> - <translation type="unfinished"/> + <translation>Počet skript overujucich vlákien</translation> </message> <message> <source>Connect to the Bitcoin network through a SOCKS proxy.</source> @@ -1051,7 +1056,7 @@ Adresa: %4</translation> </message> <message> <source>Active command-line options that override above options:</source> - <translation type="unfinished"/> + <translation>Aktévne možnosti príkazového riadku ktoré prepíšu možnosti vyššie:</translation> </message> <message> <source>Reset all client options to default.</source> @@ -1067,7 +1072,7 @@ Adresa: %4</translation> </message> <message> <source>(0 = auto, <0 = leave that many cores free)</source> - <translation type="unfinished"/> + <translation>(0 = auto, <0 = nechať toľko jadier voľných)</translation> </message> <message> <source>W&allet</source> @@ -1083,11 +1088,11 @@ Adresa: %4</translation> </message> <message> <source>If you disable the spending of unconfirmed change, the change from a transaction cannot be used until that transaction has at least one confirmation. This also affects how your balance is computed.</source> - <translation type="unfinished"/> + <translation>Ak vypnete míňanie nepotvrdeného výdavku tak výdavok z transakcie bude možné použiť až keď daná transakcia bude mať aspoň jedno potvrdenie. Toto má vplyv aj na výpočet vášho zostatku.</translation> </message> <message> <source>&Spend unconfirmed change</source> - <translation type="unfinished"/> + <translation>Minúť nepotvrdený výdavok</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> @@ -1281,7 +1286,7 @@ Adresa: %4</translation> </message> <message> <source>Cannot start bitcoin: click-to-pay handler</source> - <translation type="unfinished"/> + <translation>Nedá sa spustiť obslužný program bitcoin: click-to-pay zaplatiť kliknutím</translation> </message> <message> <source>Net manager warning</source> @@ -1289,19 +1294,19 @@ Adresa: %4</translation> </message> <message> <source>Your active proxy doesn't support SOCKS5, which is required for payment requests via proxy.</source> - <translation type="unfinished"/> + <translation>Vaše aktívne proxy nepodporuje SOCKS5, ktoré je potrebné pre vyzvu na zaplatenie cez proxy.</translation> </message> <message> <source>Payment request fetch URL is invalid: %1</source> - <translation type="unfinished"/> + <translation>URL pre stiahnutie výzvy na zaplatenie je neplatné: %1</translation> </message> <message> <source>Payment request file handling</source> - <translation type="unfinished"/> + <translation>Obsluha súboru s požiadavkou na platbu</translation> </message> <message> <source>Payment request file can not be read or processed! This can be caused by an invalid payment request file.</source> - <translation type="unfinished"/> + <translation>Súbor s výzvou na zaplatenie sa nedá čítať alebo spracovať! To môže byť spôsobené aj neplatným súborom s výzvou.</translation> </message> <message> <source>Unverified payment requests to custom payment scripts are unsupported.</source> @@ -1317,7 +1322,7 @@ Adresa: %4</translation> </message> <message> <source>Payment request can not be parsed or processed!</source> - <translation type="unfinished"/> + <translation>Požiadavka na platbu nemôže byť analyzovaná alebo spracovaná!</translation> </message> <message> <source>Bad response from server %1</source> @@ -1344,7 +1349,7 @@ Adresa: %4</translation> </message> <message> <source>Error: Cannot parse configuration file: %1. Only use key=value syntax.</source> - <translation type="unfinished"/> + <translation>Chyba: Nedá sa rozlúštit súbor s nastaveniami: %1. Používajte výlučne kľúč=hodnota syntax.</translation> </message> <message> <source>Error: Invalid combination of -regtest and -testnet.</source> @@ -1478,7 +1483,7 @@ Adresa: %4</translation> </message> <message> <source>Open the Bitcoin debug log file from the current data directory. This can take a few seconds for large log files.</source> - <translation type="unfinished"/> + <translation>Otvoriť Bitcoin log súbor pre ladenie z aktuálneho dátového adresára. Toto môže trvať niekoľko sekúnd pre veľké súbory.</translation> </message> <message> <source>Clear console</source> @@ -1541,15 +1546,15 @@ Adresa: %4</translation> </message> <message> <source>Reuse one of the previously used receiving addresses. Reusing addresses has security and privacy issues. Do not use this unless re-generating a payment request made before.</source> - <translation type="unfinished"/> + <translation>Znovu použiť jednu z už použitých adries pre prijímanie. Znovu používanie adries je sporná otázka bezpečnosti aj súkromia. Používajte to len v prípade ak znovu generujete výzvu na zaplatenie ktorú ste už vyrobili v minulosti.</translation> </message> <message> <source>R&euse an existing receiving address (not recommended)</source> - <translation type="unfinished"/> + <translation>Znovu použiť jestvujúcu prijímaciu adresu (neodporúča sa)</translation> </message> <message> <source>An optional message to attach to the payment request, which will be displayed when the request is opened. Note: The message will not be sent with the payment over the Bitcoin network.</source> - <translation type="unfinished"/> + <translation>Pridať voliteľnú správu k výzve na zaplatenie, ktorá sa zobrazí keď bude výzva otvorená. Poznámka: Správa nebude poslaná s platbou cez sieť Bitcoin.</translation> </message> <message> <source>An optional label to associate with the new receiving address.</source> @@ -1561,7 +1566,7 @@ Adresa: %4</translation> </message> <message> <source>An optional amount to request. Leave this empty or zero to not request a specific amount.</source> - <translation type="unfinished"/> + <translation>Voliteľná požadovaná suma. Nechajte prázdne alebo nulu ak nepožadujete určitú sumu.</translation> </message> <message> <source>Clear all fields of the form.</source> @@ -1750,7 +1755,7 @@ Adresa: %4</translation> </message> <message> <source>If this is activated, but the change address is empty or invalid, change will be sent to a newly generated address.</source> - <translation type="unfinished"/> + <translation>Ak aktivované ale adresa pre výdavok je prázdna alebo neplatná, výdavok bude poslaný na novovytvorenú adresu.</translation> </message> <message> <source>Custom change address</source> @@ -1806,7 +1811,7 @@ Adresa: %4</translation> </message> <message> <source>Copy after fee</source> - <translation type="unfinished"/> + <translation>Kopírovať za poplatok</translation> </message> <message> <source>Copy bytes</source> @@ -1818,7 +1823,7 @@ Adresa: %4</translation> </message> <message> <source>Copy low output</source> - <translation type="unfinished"/> + <translation>Kopírovať nízky výstup</translation> </message> <message> <source>Copy change</source> @@ -1858,7 +1863,7 @@ Adresa: %4</translation> </message> <message> <source>The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here.</source> - <translation type="unfinished"/> + <translation>Transakcia bola zamietnutá! Toto sa môže stať ak niektoré coins vo vašej peňaženke už boli minuté, ako keď použijete kópiu wallet.dat a coins boli minuté z kópie ale neoznačené ako minuté tu.</translation> </message> <message> <source>Warning: Invalid Bitcoin address</source> @@ -1945,11 +1950,11 @@ Adresa: %4</translation> </message> <message> <source>Enter a label for this address to add it to the list of used addresses</source> - <translation type="unfinished"/> + <translation>Vložte popis pre túto adresu aby sa uložila do zoznamu použitých adries</translation> </message> <message> <source>A message that was attached to the bitcoin: URI which will be stored with the transaction for your reference. Note: This message will not be sent over the Bitcoin network.</source> - <translation type="unfinished"/> + <translation>Správa ktorá bola pripojená k bitcoin: URI a ktorá bude uložená s transakcou pre Vaše potreby. Poznámka: Táto správa nebude poslaná cez sieť Bitcoin.</translation> </message> <message> <source>This is an unverified payment request.</source> @@ -2240,7 +2245,7 @@ Adresa: %4</translation> </message> <message> <source>Generated coins must mature %1 blocks before they can be spent. When you generated this block, it was broadcast to the network to be added to the block chain. If it fails to get into the chain, its state will change to "not accepted" and it won't be spendable. This may occasionally happen if another node generates a block within a few seconds of yours.</source> - <translation type="unfinished"/> + <translation>Vytvorené coins musia dospieť %1 blokov kým môžu byť minuté. Keď vytvoríte tento blok, bude rozoslaný do siete aby bol akceptovaný do reťaze blokov. Ak sa nedostane reťaze, jeho stav sa zmení na "zamietnutý" a nebude sa dať minúť. Toto sa môže občas stať ak iná nóda vytvorí blok približne v tom istom čase.</translation> </message> <message> <source>Debug information</source> @@ -2272,7 +2277,7 @@ Adresa: %4</translation> </message> <message numerus="yes"> <source>Open for %n more block(s)</source> - <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> + <translation><numerusform>Otvoriť pre %n viac blok</numerusform><numerusform>Otvoriť pre %n viac blokov </numerusform><numerusform>Otvoriť pre %n viac blokov </numerusform></translation> </message> <message> <source>unknown</source> @@ -2314,7 +2319,7 @@ Adresa: %4</translation> </message> <message numerus="yes"> <source>Open for %n more block(s)</source> - <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation> + <translation><numerusform>Otvorené pre ešte %1 blok</numerusform><numerusform>Otvorené pre %n viac blokov </numerusform><numerusform>Otvorené pre %n blokov</numerusform></translation> </message> <message> <source>Open until %1</source> @@ -2485,7 +2490,7 @@ Adresa: %4</translation> </message> <message> <source>There was an error trying to save the transaction history to %1.</source> - <translation type="unfinished"/> + <translation>Vyskytla sa chyba pri pokuse o uloženie histórie transakcií do %1.</translation> </message> <message> <source>Exporting Successful</source> @@ -2679,11 +2684,21 @@ 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 type="unfinished"/> + <translation>%s, musíte nastaviť rpcpassword heslo v súbore nastavení: +%s +Odporúča sa používať nasledujúce náhodné heslo: +rpcuser=bitcoinrpc +rpcpassword=%s +(nemusíte si pamätať toto heslo) +Užívateľské meno a heslo NESMÚ byť rovnaké. +Ak súbor neexistuje, vytvorte ho s prístupovým právom owner-readable-only čitateľné len pre majiteľa. +Tiež sa odporúča nastaviť alertnotify aby ste boli upozorňovaní na problémy; +napríklad: alertnotify=echo %%s | mail -s "Bitcoin Výstraha" admin@foo.com +</translation> </message> <message> <source>Acceptable ciphers (default: TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH)</source> - <translation type="unfinished"/> + <translation>Prijateľlné šifry (prednastavené: TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH)</translation> </message> <message> <source>An error occurred while setting up the RPC port %u for listening on IPv6, falling back to IPv4: %s</source> @@ -2695,7 +2710,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:15)</source> - <translation type="unfinished"/> + <translation>Priebežne obmedzuj transakcie bez poplatku na <n>*1000 bajtov za minútu (prednastavené: 15)</translation> </message> <message> <source>Enter regression test mode, which uses a special chain in which blocks can be solved instantly. This is intended for regression testing tools and app development.</source> @@ -2703,19 +2718,19 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Enter regression test mode, which uses a special chain in which blocks can be solved instantly.</source> - <translation type="unfinished"/> + <translation>Vojsť do režimu regresného testovania, ktorý používa špeciálnu reťaz v ktorej môžu byť bloky v okamihu vyriešené.</translation> </message> <message> <source>Error: Listening for incoming connections failed (listen returned error %d)</source> - <translation type="unfinished"/> + <translation>Chyba: Zlyhalo počúvanie prichádzajúcich spojení (listen vrátil chybu %d)</translation> </message> <message> <source>Error: The transaction was rejected! This might happen if some of the coins in your wallet were already spent, such as if you used a copy of wallet.dat and coins were spent in the copy but not marked as spent here.</source> - <translation type="unfinished"/> + <translation>Transakcia bola zamietnutá! Toto sa môže stať ak niektoré coins vo vašej peňaženke už boli minuté, ako keď použijete kópiu wallet.dat a coins boli minuté z kópie ale neoznačené ako minuté tu.</translation> </message> <message> <source>Error: This transaction requires a transaction fee of at least %s because of its amount, complexity, or use of recently received funds!</source> - <translation type="unfinished"/> + <translation>Chyba: Táto transakcia vyžaduje transakčný poplatok aspoň %s kvôli svojej sume, komplexite alebo použitiu nedávno prijatých prostriedkov.</translation> </message> <message> <source>Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)</source> @@ -2723,39 +2738,39 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Fees smaller than this are considered zero fee (for transaction creation) (default:</source> - <translation type="unfinished"/> + <translation>Poplatky menšie než toto sa považujú za nulové (pre vytvorenie transakcie) (prednastavené:</translation> </message> <message> <source>Flush database activity from memory pool to disk log every <n> megabytes (default: 100)</source> - <translation type="unfinished"/> + <translation>Odložiť aktivitu databázy spoločnej pamäti do logu na disku každých <n> megabajtov (prednastavené: 100)</translation> </message> <message> <source>How thorough the block verification of -checkblocks is (0-4, default: 3)</source> - <translation type="unfinished"/> + <translation>Ako dôkladne sú overované bloky -checkblocks (0-4, prednastavené: 3)</translation> </message> <message> <source>In this mode -genproclimit controls how many blocks are generated immediately.</source> - <translation type="unfinished"/> + <translation>V tomto režime -getproclimit kontroluje koľko blokov sa vytvorí okamžite.</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 type="unfinished"/> + <translation>Nastaviť počeť vlákien overujúcich skripty (%u až %d, 0 = auto, <0 = nechať toľkoto jadier voľných, prednastavené: %d)</translation> </message> <message> <source>Set the processor limit for when generation is on (-1 = unlimited, default: -1)</source> - <translation type="unfinished"/> + <translation>Nastaviť obmedzenie pre procesor keď je zapnuté generovanie (-1 = bez obmedzenia, prednastavené: -1)</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 type="unfinished"/> + <translation>Toto je pred-testovacia verzia - použitie je na vlastné riziko - nepoužívajte na tvorbu bitcoin ani obchodovanie.</translation> </message> <message> <source>Unable to bind to %s on this computer. Bitcoin Core is probably already running.</source> - <translation type="unfinished"/> + <translation>Nepodarilo sa pripojiť na %s na tomto počítači. Bitcoin Jadro je už pravdepodobne spustené.</translation> </message> <message> <source>Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: -proxy)</source> - <translation type="unfinished"/> + <translation>Použite rozdielne SOCKS5 proxy pre dosiahnutie peer-ov cez Tor skryté služby (prednastavené: -proxy)</translation> </message> <message> <source>Warning: -paytxfee is set very high! This is the transaction fee you will pay if you send a transaction.</source> @@ -2763,15 +2778,17 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Warning: Please check that your computer's date and time are correct! If your clock is wrong Bitcoin will not work properly.</source> - <translation type="unfinished"/> + <translation>Varovanie: Skontroluj či je na počítači nastavený správny čas a dátum. Ak sú hodiny nastavené nesprávne, Bitcoin nebude správne pracovať.</translation> </message> <message> <source>Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.</source> - <translation type="unfinished"/> + <translation>Varovanie: Javí sa že sieť sieť úplne nesúhlasí! Niektorí mineri zjavne majú ťažkosti. + +The network does not appear to fully agree! Some miners appear to be experiencing issues.</translation> </message> <message> <source>Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.</source> - <translation type="unfinished"/> + <translation>Varovanie: Zjavne sa úplne nezhodujeme s našimi peer-mi! Možno potrebujete prejsť na novšiu verziu alebo ostatné nódy 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> @@ -2779,7 +2796,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </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 type="unfinished"/> + <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> <message> <source>(default: 1)</source> @@ -2799,7 +2816,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Bitcoin Core Daemon</source> - <translation type="unfinished"/> + <translation>Démon Jadro Bitcoin</translation> </message> <message> <source>Block creation options:</source> @@ -2807,7 +2824,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Clear list of wallet transactions (diagnostic tool; implies -rescan)</source> - <translation type="unfinished"/> + <translation>Vyčistiť zoznam transakcií peňaženky (diagnostický nástroj; zahŕňa -rescan)</translation> </message> <message> <source>Connect only to the specified node(s)</source> @@ -2819,7 +2836,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Connect to JSON-RPC on <port> (default: 8332 or testnet: 18332)</source> - <translation type="unfinished"/> + <translation>Pripojiť ku JSON-RPC na <port> (prednastavené: 8332 alebo testnet: 18332)</translation> </message> <message> <source>Connection options:</source> @@ -2835,7 +2852,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Disable safemode, override a real safe mode event (default: 0)</source> - <translation type="unfinished"/> + <translation>Vypnúť bezpečný režim, vypnúť udalosť skutočný bezpečný režim (prednastavené: 0)</translation> </message> <message> <source>Discover own IP address (default: 1 when listening and no -externalip)</source> @@ -2843,7 +2860,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Do not load the wallet and disable wallet RPC calls</source> - <translation type="unfinished"/> + <translation>Nenahrat peňaženku a zablokovať volania RPC.</translation> </message> <message> <source>Do you want to rebuild the block database now?</source> @@ -2907,11 +2924,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Failed to write file info</source> - <translation type="unfinished"/> + <translation>Zlyhalo zapisovanie informácié o súbore</translation> </message> <message> <source>Failed to write to coin database</source> - <translation type="unfinished"/> + <translation>Zlyhalo zapisovanie do databázy coins</translation> </message> <message> <source>Failed to write transaction index</source> @@ -2927,7 +2944,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Fees smaller than this are considered zero fee (for relaying) (default:</source> - <translation type="unfinished"/> + <translation>Poplatky menšie než toto sa považujú za nulové (pre preposielanie) (prednastavené:</translation> </message> <message> <source>Find peers using DNS lookup (default: 1 unless -connect)</source> @@ -2935,7 +2952,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Force safe mode (default: 0)</source> - <translation type="unfinished"/> + <translation>Vnútiť bezpečný režim (prenastavené: 0)</translation> </message> <message> <source>Generate coins (default: 0)</source> @@ -2947,7 +2964,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>If <category> is not supplied, output all debugging information.</source> - <translation type="unfinished"/> + <translation>Ak nie je uvedená <category>, na výstupe zobrazuj všetky informácie pre ladenie.</translation> </message> <message> <source>Importing...</source> @@ -2967,7 +2984,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Prepend debug output with timestamp (default: 1)</source> - <translation type="unfinished"/> + <translation>Na začiatok logu pre ladenie vlož dátum a čas (prednastavené: 1)</translation> </message> <message> <source>RPC client options:</source> @@ -2983,7 +3000,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Set database cache size in megabytes (%d to %d, default: %d)</source> - <translation type="unfinished"/> + <translation>Nastaviť veľkosť pomocnej pamäti databázy v megabajtoch (%d na %d, prednatavené: %d)</translation> </message> <message> <source>Set maximum block size in bytes (default: %d)</source> @@ -2999,11 +3016,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Spend unconfirmed change when sending transactions (default: 1)</source> - <translation type="unfinished"/> + <translation>Míňať nepotvrdený výdavok pri odosielaní (prednastavené: 1)</translation> </message> <message> <source>This is intended for regression testing tools and app development.</source> - <translation type="unfinished"/> + <translation>Toto je mienené nástrojom pre regresné testovania a vývoj programu.</translation> </message> <message> <source>Usage (deprecated, use bitcoin-cli):</source> @@ -3031,7 +3048,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Warning: Deprecated argument -debugnet ignored, use -debug=net</source> - <translation type="unfinished"/> + <translation>Varovanie: Zastaralý parameter -debugnet bol ignorovaný, použite -debug=net</translation> </message> <message> <source>You need to rebuild the database using -reindex to change -txindex</source> @@ -3047,15 +3064,15 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </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 type="unfinished"/> + <translation>Vykonať príkaz keď po prijatí patričné varovanie alebo vidíme veľmi dlhé rozdvojenie siete (%s v cmd je nahradené správou)</translation> </message> <message> <source>Output debugging information (default: 0, supplying <category> is optional)</source> - <translation type="unfinished"/> + <translation>Výstup informácií pre ladenie (prednastavené: 0, uvádzanie <category> je voliteľné)</translation> </message> <message> <source>Set maximum size of high-priority/low-fee transactions in bytes (default: %d)</source> - <translation type="unfinished"/> + <translation>Nastaviť najväčšiu veľkosť vysoká-dôležitosť/nízke-poplatky transakcií v bajtoch (prednastavené: %d)</translation> </message> <message> <source>Information</source> @@ -3071,15 +3088,15 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Limit size of signature cache to <n> entries (default: 50000)</source> - <translation type="unfinished"/> + <translation>Obmedziť veľkosť pomocnej pamäti pre podpisy na <n> vstupov (prednastavené: 50000)</translation> </message> <message> <source>Log transaction priority and fee per kB when mining blocks (default: 0)</source> - <translation type="unfinished"/> + <translation>Zaznamenávať dôležitosť transakcií a poplatky za kB ak hľadáme bloky (prednastavené: 0)</translation> </message> <message> <source>Maintain a full transaction index (default: 0)</source> - <translation type="unfinished"/> + <translation>Udržiavaj úplný zoznam transakcií (prednastavené: 0)</translation> </message> <message> <source>Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)</source> @@ -3087,11 +3104,11 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Maximum per-connection send buffer, <n>*1000 bytes (default: 1000)</source> - <translation type="unfinished"/> + <translation>Maximálna veľkosť vysielacieho zásobníka pre jedno spojenie, <n>*1000 bytov (predvolené: 1000)</translation> </message> <message> <source>Only accept block chain matching built-in checkpoints (default: 1)</source> - <translation type="unfinished"/> + <translation>Akceptuj iba kontrolné body zhodné s blockchain (prednastavené: 1)</translation> </message> <message> <source>Only connect to nodes in network <net> (IPv4, IPv6 or Tor)</source> @@ -3099,15 +3116,15 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Print block on startup, if found in block index</source> - <translation type="unfinished"/> + <translation>Vytlač blok pri spustení, ak nájdený v zozname blokov</translation> </message> <message> <source>Print block tree on startup (default: 0)</source> - <translation type="unfinished"/> + <translation>Vytlačiť strom blokov pri spustení (prednastavené: 0)</translation> </message> <message> <source>RPC SSL options: (see the Bitcoin Wiki for SSL setup instructions)</source> - <translation type="unfinished"/> + <translation>Možnosti RPC SSL: (Pozri v Bitcoin Wiki pokyny pre SSL nastavenie)</translation> </message> <message> <source>RPC server options:</source> @@ -3119,7 +3136,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Randomly fuzz 1 of every <n> network messages</source> - <translation type="unfinished"/> + <translation>Náhodne premiešaj 1 z každých <n> sieťových správ</translation> </message> <message> <source>Run a thread to flush wallet periodically (default: 1)</source> @@ -3207,7 +3224,7 @@ for example: alertnotify=echo %%s | mail -s "Bitcoin Alert" admin@foo. </message> <message> <source>Zapping all transactions from wallet...</source> - <translation type="unfinished"/> + <translation>Zmazať všetky transakcie z peňaženky...</translation> </message> <message> <source>on startup</source> diff --git a/src/qt/notificator.cpp b/src/qt/notificator.cpp index 38a029dbe5..3d588cd317 100644 --- a/src/qt/notificator.cpp +++ b/src/qt/notificator.cpp @@ -28,8 +28,10 @@ #endif +#ifdef USE_DBUS // https://wiki.ubuntu.com/NotificationDevelopmentGuidelines recommends at least 128 const int FREEDESKTOP_NOTIFICATION_ICON_SIZE = 128; +#endif Notificator::Notificator(const QString &programName, QSystemTrayIcon *trayicon, QWidget *parent) : QObject(parent), diff --git a/src/qt/test/test_main.cpp b/src/qt/test/test_main.cpp index a2adb00327..220da28cfe 100644 --- a/src/qt/test/test_main.cpp +++ b/src/qt/test/test_main.cpp @@ -1,4 +1,3 @@ -#include "bitcoin-config.h" #if defined(HAVE_CONFIG_H) #include "bitcoin-config.h" #endif diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 024f6a09de..63eed09b64 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -166,7 +166,7 @@ Value addnode(const Array& params, bool fHelp) if (strCommand == "onetry") { CAddress addr; - ConnectNode(addr, strNode.c_str()); + OpenNetworkConnection(addr, NULL, strNode.c_str()); return Value::null; } diff --git a/src/rpcprotocol.cpp b/src/rpcprotocol.cpp index 5cbaa535ab..2718f81783 100644 --- a/src/rpcprotocol.cpp +++ b/src/rpcprotocol.cpp @@ -51,15 +51,7 @@ string HTTPPost(const string& strMsg, const map<string,string>& mapRequestHeader static string rfc1123Time() { - char buffer[64]; - time_t now; - time(&now); - struct tm* now_gmt = gmtime(&now); - string locale(setlocale(LC_TIME, NULL)); - setlocale(LC_TIME, "C"); // we want POSIX (aka "C") weekday/month strings - strftime(buffer, sizeof(buffer), "%a, %d %b %Y %H:%M:%S +0000", now_gmt); - setlocale(LC_TIME, locale.c_str()); - return string(buffer); + return DateTimeStrFormat("%a, %d %b %Y %H:%M:%S +0000", GetTime()); } string HTTPReply(int nStatus, const string& strMsg, bool keepalive) diff --git a/src/script.h b/src/script.h index 0d8a8544bd..aed2b7a6ad 100644 --- a/src/script.h +++ b/src/script.h @@ -722,7 +722,7 @@ public: void print() const { - LogPrintf("%s\n", ToString().c_str()); + LogPrintf("%s\n", ToString()); } CScriptID GetID() const diff --git a/src/test/data/tx_valid.json b/src/test/data/tx_valid.json index 1f51d3ce55..40275cd194 100644 --- a/src/test/data/tx_valid.json +++ b/src/test/data/tx_valid.json @@ -132,5 +132,51 @@ [[["ba4cd7ae2ad4d4d13ebfc8ab1d93a63e4a6563f25089a18bf0fc68f282aa88c1", 0, "2 0x21 0x037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1 0x21 0x02edc823cd634f2c4033d94f5755207cb6b60c4b1f1f056ad7471c47de5f2e4d50 2 CHECKMULTISIG NOT"]], "0100000001c188aa82f268fcf08ba18950f263654a3ea6931dabc8bf3ed1d4d42aaed74cba000000004b0000483045022100940378576e069aca261a6b26fb38344e4497ca6751bb10905c76bb689f4222b002204833806b014c26fd801727b792b1260003c55710f87c5adbd7a9cb57446dbc9801ffffffff0101000000000000002321037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1ac00000000", "P2SH"], + +["OP_CODESEPARATOR tests"], + +["Test that SignatureHash() removes OP_CODESEPARATOR with FindAndDelete()"], +[[["bc7fd132fcf817918334822ee6d9bd95c889099c96e07ca2c1eb2cc70db63224", 0, "CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIG"]], +"01000000012432b60dc72cebc1a27ce0969c0989c895bdd9e62e8234839117f8fc32d17fbc000000004a493046022100a576b52051962c25e642c0fd3d77ee6c92487048e5d90818bcf5b51abaccd7900221008204f8fb121be4ec3b24483b1f92d89b1b0548513a134e345c5442e86e8617a501ffffffff010000000000000000016a00000000", "P2SH"], +[[["83e194f90b6ef21fa2e3a365b63794fb5daa844bdc9b25de30899fcfe7b01047", 0, "CODESEPARATOR CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIG"]], +"01000000014710b0e7cf9f8930de259bdc4b84aa5dfb9437b665a3e3a21ff26e0bf994e183000000004a493046022100a166121a61b4eeb19d8f922b978ff6ab58ead8a5a5552bf9be73dc9c156873ea02210092ad9bc43ee647da4f6652c320800debcf08ec20a094a0aaf085f63ecb37a17201ffffffff010000000000000000016a00000000", "P2SH"], + +["Hashed data starts at the CODESEPARATOR"], +[[["326882a7f22b5191f1a0cc9962ca4b878cd969cf3b3a70887aece4d801a0ba5e", 0, "0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CODESEPARATOR CHECKSIG"]], +"01000000015ebaa001d8e4ec7a88703a3bcf69d98c874bca6299cca0f191512bf2a7826832000000004948304502203bf754d1c6732fbf87c5dcd81258aefd30f2060d7bd8ac4a5696f7927091dad1022100f5bcb726c4cf5ed0ed34cc13dadeedf628ae1045b7cb34421bc60b89f4cecae701ffffffff010000000000000000016a00000000", "P2SH"], + +["But only if execution has reached it"], +[[["a955032f4d6b0c9bfe8cad8f00a8933790b9c1dc28c82e0f48e75b35da0e4944", 0, "0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIGVERIFY CODESEPARATOR 0x21 0x038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041 CHECKSIGVERIFY CODESEPARATOR 1"]], +"010000000144490eda355be7480f2ec828dcc1b9903793a8008fad8cfe9b0c6b4d2f0355a900000000924830450221009c0a27f886a1d8cb87f6f595fbc3163d28f7a81ec3c4b252ee7f3ac77fd13ffa02203caa8dfa09713c8c4d7ef575c75ed97812072405d932bd11e6a1593a98b679370148304502201e3861ef39a526406bad1e20ecad06be7375ad40ddb582c9be42d26c3a0d7b240221009d0a3985e96522e59635d19cc4448547477396ce0ef17a58e7d74c3ef464292301ffffffff010000000000000000016a00000000", "P2SH"], + +["CHECKSIG is legal in scriptSigs"], +[[["ccf7f4053a02e653c36ac75c891b7496d0dc5ce5214f6c913d9cf8f1329ebee0", 0, "DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG"]], +"0100000001e0be9e32f1f89c3d916c4f21e55cdcd096741b895cc76ac353e6023a05f4f7cc00000000d86149304602210086e5f736a2c3622ebb62bd9d93d8e5d76508b98be922b97160edc3dcca6d8c47022100b23c312ac232a4473f19d2aeb95ab7bdf2b65518911a0d72d50e38b5dd31dc820121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac4730440220508fa761865c8abd81244a168392876ee1d94e8ed83897066b5e2df2400dad24022043f5ee7538e87e9c6aef7ef55133d3e51da7cc522830a9c4d736977a76ef755c0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000", "P2SH"], + +["Same semantics for OP_CODESEPARATOR"], +[[["10c9f0effe83e97f80f067de2b11c6a00c3088a4bce42c5ae761519af9306f3c", 1, "DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG"]], +"01000000013c6f30f99a5161e75a2ce4bca488300ca0c6112bde67f0807fe983feeff0c91001000000e608646561646265656675ab61493046022100ce18d384221a731c993939015e3d1bcebafb16e8c0b5b5d14097ec8177ae6f28022100bcab227af90bab33c3fe0a9abfee03ba976ee25dc6ce542526e9b2e56e14b7f10121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac493046022100c3b93edcc0fd6250eb32f2dd8a0bba1754b0f6c3be8ed4100ed582f3db73eba2022100bf75b5bd2eff4d6bf2bda2e34a40fcc07d4aa3cf862ceaa77b47b81eff829f9a01ab21038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000", "P2SH"], + +["Signatures are removed from the script they are in by FindAndDelete() in the CHECKSIG code; even multiple instances of one signature can be removed."], +[[["6056ebd549003b10cbbd915cea0d82209fe40b8617104be917a26fa92cbe3d6f", 0, "DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG"]], +"01000000016f3dbe2ca96fa217e94b1017860be49f20820dea5c91bdcb103b0049d5eb566000000000fd1d0147304402203989ac8f9ad36b5d0919d97fa0a7f70c5272abee3b14477dc646288a8b976df5022027d19da84a066af9053ad3d1d7459d171b7e3a80bc6c4ef7a330677a6be548140147304402203989ac8f9ad36b5d0919d97fa0a7f70c5272abee3b14477dc646288a8b976df5022027d19da84a066af9053ad3d1d7459d171b7e3a80bc6c4ef7a330677a6be548140121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac47304402203757e937ba807e4a5da8534c17f9d121176056406a6465054bdd260457515c1a02200f02eccf1bec0f3a0d65df37889143c2e88ab7acec61a7b6f5aa264139141a2b0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000", "P2SH"], + +["That also includes ahead of the opcode being executed."], +[[["5a6b0021a6042a686b6b94abc36b387bef9109847774e8b1e51eb8cc55c53921", 1, "DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG"]], +"01000000012139c555ccb81ee5b1e87477840991ef7b386bc3ab946b6b682a04a621006b5a01000000fdb40148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f2204148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a5800390175ac4830450220646b72c35beeec51f4d5bc1cbae01863825750d7f490864af354e6ea4f625e9c022100f04b98432df3a9641719dbced53393022e7249fb59db993af1118539830aab870148304502201723e692e5f409a7151db386291b63524c5eb2030df652b1f53022fd8207349f022100b90d9bbf2f3366ce176e5e780a00433da67d9e5c79312c6388312a296a580039017521038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000", "P2SH"], + +["Finally CHECKMULTISIG removes all signatures prior to hashing the script containing those signatures. In conjunction with the SIGHASH_SINGLE bug this lets us test whether or not FindAndDelete() is actually present in scriptPubKey/redeemScript evaluation by including a signature of the digest 0x01 We can compute in advance for our pubkey, embed it it in the scriptPubKey, and then also using a normal SIGHASH_ALL signature. If FindAndDelete() wasn't run, the 'bugged' signature would still be in the hashed script, and the normal signature would fail."], + +["Here's an example on mainnet within a P2SH redeemScript. Remarkably it's a standard transaction in <0.9"], +[[["b5b598de91787439afd5938116654e0b16b7a0d0f82742ba37564219c5afcbf9", 0, "DUP HASH160 0x14 0xf6f365c40f0739b61de827a44751e5e99032ed8f EQUALVERIFY CHECKSIG"], + ["ab9805c6d57d7070d9a42c5176e47bb705023e6b67249fb6760880548298e742", 0, "HASH160 0x14 0xd8dacdadb7462ae15cd906f1878706d0da8660e6 EQUAL"]], +"0100000002f9cbafc519425637ba4227f8d0a0b7160b4e65168193d5af39747891de98b5b5000000006b4830450221008dd619c563e527c47d9bd53534a770b102e40faa87f61433580e04e271ef2f960220029886434e18122b53d5decd25f1f4acb2480659fea20aabd856987ba3c3907e0121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffff42e7988254800876b69f24676b3e0205b77be476512ca4d970707dd5c60598ab00000000fd260100483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a53034930460221008431bdfa72bc67f9d41fe72e94c88fb8f359ffa30b33c72c121c5a877d922e1002210089ef5fc22dd8bfc6bf9ffdb01a9862d27687d424d1fefbab9e9c7176844a187a014c9052483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71210378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c7153aeffffffff01a08601000000000017a914d8dacdadb7462ae15cd906f1878706d0da8660e68700000000", "P2SH"], + +["Same idea, but with bare CHECKMULTISIG"], +[[["ceafe58e0f6e7d67c0409fbbf673c84c166e3c5d3c24af58f7175b18df3bb3db", 0, "DUP HASH160 0x14 0xf6f365c40f0739b61de827a44751e5e99032ed8f EQUALVERIFY CHECKSIG"], + ["ceafe58e0f6e7d67c0409fbbf673c84c166e3c5d3c24af58f7175b18df3bb3db", 1, "2 0x48 0x3045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 0x21 0x0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71 3 CHECKMULTISIG"]], +"0100000002dbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce000000006b4830450221009627444320dc5ef8d7f68f35010b4c050a6ed0d96b67a84db99fda9c9de58b1e02203e4b4aaa019e012e65d69b487fdf8719df72f488fa91506a80c49a33929f1fd50121022b78b756e2258af13779c1a1f37ea6800259716ca4b7f0b87610e0bf3ab52a01ffffffffdbb33bdf185b17f758af243c5d3c6e164cc873f6bb9f40c0677d6e0f8ee5afce010000009300483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303483045022015bd0139bcccf990a6af6ec5c1c52ed8222e03a0d51c334df139968525d2fcd20221009f9efe325476eb64c3958e4713e9eefe49bf1d820ed58d2112721b134e2a1a5303ffffffff01a0860100000000001976a9149bc0bbdd3024da4d0c38ed1aecf5c68dd1d3fa1288ac00000000", "P2SH"], + + ["Make diffs cleaner by leaving a comment here without comma at the end"] ] diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp index 3811569c0a..0e53a57593 100644 --- a/src/test/util_tests.cpp +++ b/src/test/util_tests.cpp @@ -108,13 +108,11 @@ BOOST_AUTO_TEST_CASE(util_HexStr) BOOST_AUTO_TEST_CASE(util_DateTimeStrFormat) { -/*These are platform-dependant and thus removed to avoid useless test failures BOOST_CHECK_EQUAL(DateTimeStrFormat("%Y-%m-%d %H:%M:%S", 0), "1970-01-01 00:00:00"); BOOST_CHECK_EQUAL(DateTimeStrFormat("%Y-%m-%d %H:%M:%S", 0x7FFFFFFF), "2038-01-19 03:14:07"); - // Formats used within Bitcoin BOOST_CHECK_EQUAL(DateTimeStrFormat("%Y-%m-%d %H:%M:%S", 1317425777), "2011-09-30 23:36:17"); BOOST_CHECK_EQUAL(DateTimeStrFormat("%Y-%m-%d %H:%M", 1317425777), "2011-09-30 23:36"); -*/ + BOOST_CHECK_EQUAL(DateTimeStrFormat("%a, %d %b %Y %H:%M:%S +0000", 1317425777), "Fri, 30 Sep 2011 23:36:17 +0000"); } BOOST_AUTO_TEST_CASE(util_ParseParameters) diff --git a/src/util.cpp b/src/util.cpp index 205af738d5..336ef31725 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -14,6 +14,8 @@ #include <stdarg.h> +#include <boost/date_time/posix_time/posix_time.hpp> + #ifndef WIN32 // for posix_fallocate #ifdef __linux_ @@ -885,12 +887,6 @@ static std::string FormatException(std::exception* pex, const char* pszThread) "UNKNOWN EXCEPTION \n%s in %s \n", pszModule, pszThread); } -void LogException(std::exception* pex, const char* pszThread) -{ - std::string message = FormatException(pex, pszThread); - LogPrintf("\n%s", message); -} - void PrintExceptionContinue(std::exception* pex, const char* pszThread) { std::string message = FormatException(pex, pszThread); @@ -1384,3 +1380,29 @@ bool ParseInt32(const std::string& str, int32_t *out) n <= std::numeric_limits<int32_t>::max(); } +void SetupEnvironment() +{ + #ifndef WIN32 + try + { + #if BOOST_FILESYSTEM_VERSION == 3 + boost::filesystem::path::codecvt(); // Raises runtime error if current locale is invalid + #else // boost filesystem v2 + std::locale(); // Raises runtime error if current locale is invalid + #endif + } catch(std::runtime_error &e) + { + setenv("LC_ALL", "C", 1); // Force C locale + } + #endif +} + +std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime) +{ + // std::locale takes ownership of the pointer + std::locale loc(std::locale::classic(), new boost::posix_time::time_facet(pszFormat)); + std::stringstream ss; + ss.imbue(loc); + ss << boost::posix_time::from_time_t(nTime); + return ss.str(); +} diff --git a/src/util.h b/src/util.h index 52ca6e579b..ffcb20d822 100644 --- a/src/util.h +++ b/src/util.h @@ -106,6 +106,7 @@ extern volatile bool fReopenDebugLog; void RandAddSeed(); void RandAddSeedPerfmon(); +void SetupEnvironment(); /* Return true if log accepts specified category */ bool LogAcceptCategory(const char* category); @@ -150,8 +151,6 @@ static inline bool error(const char* format) return false; } - -void LogException(std::exception* pex, const char* pszThread); void PrintExceptionContinue(std::exception* pex, const char* pszThread); std::string FormatMoney(int64_t n, bool fPlus=false); bool ParseMoney(const std::string& str, int64_t& nRet); @@ -324,14 +323,7 @@ inline int64_t GetTimeMicros() boost::posix_time::ptime(boost::gregorian::date(1970,1,1))).total_microseconds(); } -inline std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime) -{ - time_t n = nTime; - struct tm* ptmTime = gmtime(&n); - char pszTime[200]; - strftime(pszTime, sizeof(pszTime), pszFormat, ptmTime); - return pszTime; -} +std::string DateTimeStrFormat(const char* pszFormat, int64_t nTime); inline bool IsSwitchChar(char c) { diff --git a/src/wallet.cpp b/src/wallet.cpp index fa7aecddb6..89604f96ac 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1671,21 +1671,6 @@ void CWallet::ReserveKeyFromKeyPool(int64_t& nIndex, CKeyPool& keypool) } } -int64_t CWallet::AddReserveKey(const CKeyPool& keypool) -{ - { - LOCK2(cs_main, cs_wallet); - CWalletDB walletdb(strWalletFile); - - int64_t nIndex = 1 + *(--setKeyPool.end()); - if (!walletdb.WritePool(nIndex, keypool)) - throw runtime_error("AddReserveKey() : writing added key failed"); - setKeyPool.insert(nIndex); - return nIndex; - } - return -1; -} - void CWallet::KeepKey(int64_t nIndex) { // Remove from key pool diff --git a/src/wallet.h b/src/wallet.h index b2c06d3f61..96074151ad 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -263,7 +263,6 @@ public: bool NewKeyPool(); bool TopUpKeyPool(unsigned int kpSize = 0); - int64_t AddReserveKey(const CKeyPool& keypool); void ReserveKeyFromKeyPool(int64_t& nIndex, CKeyPool& keypool); void KeepKey(int64_t nIndex); void ReturnKey(int64_t nIndex); @@ -720,12 +719,12 @@ public: std::string ToString() const { - return strprintf("COutput(%s, %d, %d) [%s]", tx->GetHash().ToString().c_str(), i, nDepth, FormatMoney(tx->vout[i].nValue).c_str()); + return strprintf("COutput(%s, %d, %d) [%s]", tx->GetHash().ToString(), i, nDepth, FormatMoney(tx->vout[i].nValue).c_str()); } void print() const { - LogPrintf("%s\n", ToString().c_str()); + LogPrintf("%s\n", ToString()); } }; |